! Nothing to see here, move right along !

Except... Couple of interesting additions coming up in PostgreSQL 9.1
(still in beta) for anyone who's interested.  Release notes:
http://developer.postgresql.org/pgdocs/postgres/release-9-1.html   A
couple of selected items I found of interest:

* New support for CREATE UNLOGGED TABLE -- a new type of table that is
sort of in between temporary tables and ordinary tables.  They are not
crash-safe as they are not written to the write-ahead log and are not
replicated if you have replication set up, but the tradeoff is they
can be written to a lot faster.  Could use these to speed up testing,
or in other non-production scenarios where crashproofness is not a
concern.

* New support for Synchronous replication -- primary master waits for
a standby to write the transaction information to disk before
acknowledging the commit.  This behavior can be enabled or disabled on
a per-transaction basis.  Also a number of new settings related to
keeping a 'hot standby'.

* They added a true serializable transaction isolation level.
"Previously, asking for serializable isolation guaranteed only that a
single MVCC snapshot would be used for the entire transaction, which
allowed certain documented anomalies."  The old snapshot isolation
behavior will now be accessible by using the "repeatable read"
isolation level.

--This one might be particularly interesting for SQLAlchemy--
* INSERT, UPDATE, and DELETE will now be allowed in WITH clauses;
these commands can use RETURNING to pass data up to the containing
query.  While not strictly necesary, this can improve the clarity of
SQL emitted by eliminating some nested sub-SELECTs.  There is other
cool stuff you can accomplish with this such as deleting rows from one
table according to a WHERE clause inside of a WITH...RETURNING, and
inserting the same rows into another table in the same statement.  The
recursive abilities of WITH statements can also be used now to perform
useful maneuvers like recursive DELETEs in tree structures (as long as
the data-modifying part is outside of the WITH clause).

* New support for per-column collation settings (yawn... but someone
somewhere needs this while migrating or something)

* New support for foreign tables -- allowing data stored outside the
database to be used like native postgreSQL-stored data (read-only).

* Enum types can now be added to programmatically (i don't know if
they can be removed from) via ALTER TYPE

* Added CREATE TABLE IF NOT EXISTS syntax -- seems like SA's DDL
machinery might want to use that in the checkfirst=True case to
eliminate the separate check operation?  A minor matter, but nice.

* Added transaction-level "advisory locks" (non-enforced, application-
defined) similar to existing session-level advisory locks.

* Lots more (a dump + restore will be required between 9.0 and 9.1)

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com.
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to