I recently updated my PostgreSQL 9.1 slides for a presentation at the Windy City Perl Mongers.
We discussed 10 features that the Postgres community decided to emphasize in our press releases. The crowd was primarily people who had never used Postgres before, which was a bit of a different audience for me.
It was great to be able to compare notes with folks who are supporting Oracle and SQL Server, and see a lot of excitement for trying out 9.1.
When I’m traveling around, I’ll be looking for more non-Postgres user groups to give talks like this. Let me know if you’d like me to come speak at yours!
Postgres released version 9.1 beta 1 today! This is a preview of 9.1, predicted to be available in the next 2-3 months, not a bugfix release for earlier versions of Postgres.
PostgreSQL 9.1 contains a huge volume of new features, possibly more any single release of PostgreSQL before. These features also include several innovations which PostgreSQL is the first database system to have. The most anticipated features in this version include:
- Synchronous Replication
- Per-column collations for multilingual databases
- Unlogged Fast Tables
- K-Nearest-Neighbor Indexing
- Serializable Snapshot Isolation
- Writeable Common Table Expressions
- SE-Linux Integration
- SQL/MED attached tables
The PostgreSQL project now depends on you to test 9.1beta1 in order have a rapid and bug-free 9.1 release. If you are able to help with testing version 9.1, please see the Beta Testing HOWTO
Binary downloads are available, as is the source.
If you’d like to grab a copy of the latest from git, here is a quick set of instructions to compile 9.1beta1 from the git repo:
git checkout REL9_1_BETA1
sudo make install
And then to create a database:
/opt/pg9.1beta1/bin/initdb -D mytestdb
/opt/pg9.1beta1/bin/pg_ctl -D mytestdb start
For a preview of features coming this fall, check out Depesz’s blog.
On February 8th, Simon Riggs committed a couple new functions that will allow Hot Standby to be paused and resumed. You can already *read* from the Hot Standby without pausing, but you could never pause the application of changes in the past. You might want to do this if you have a very high-write-volume server, and some very expensive queries that you want to run on a slave.
Basic Recovery Control functions for use in Hot Standby. Pause, Resume,
Status check functions only. Also, new recovery.conf parameter to
pause_at_recovery_target, default on.
The basic idea is that if you have a read-only standby system, you can give it the command:
pg_xlog_replay_pause() and the standby will stop applying changes. Then you can use the database in read-only mode without new changes being applied. When you’re done you can issue the command:
pg_xlog_replay_resume() and proceed with applying logs.
There are some related features that I can’t wait to test out around named restore points for replay. But the ability to pause replay and run queries is just awesome.
This is a feature that Simon talked about back in 2009 at FOSDEM, and I am very excited to see it implemented.
Now is the perfect time to get involved in Postgres development!
Starting June 15, we’re going to have a “reviewfest”, as a prelude to the first commitfest in July. We’ve already got 28 patches in the queue, and all need reviewers.
Think you’re not qualified to review patches? Think again!
From the Reviewing a Patch documentation:
If you can apply a patch and you can use the new feature, you’re already qualified to start reviewing it.
We will formally kick off a reviewfest on June 15.
We will assign reviewers and get all the patches that are queued up for 9.1 reviewed while the final touches are being applied to the 9.0 release. Have a look at Review A Patch guidelines for information about how to conduct your review. We also have a mailing list to track and recruit reviewers – pgsql-rrreviewers. (The extra R’s are for ’round-robin’)
Please subscribe to the list, and post if there is a particular patch you are interested in reviewing!