PostgreSQL Adds Proximity Search

The open source project has produced a general purpose proximity search for location-based queries and it should generate new applications.
The PostgreSQL feature goes beyond commercial synchronous replication, Berkus said in an interview. It allows the function on the basis of individual transactions. If a transaction is covered by synchronous replication, the write to the second database must be committed before the primary database write is completed. That way, if anything interfered with the transaction completing on the secondary database, the entire system would still have data integrity as both copies of the transaction were rolled back and run again.

In addition, PostrgeSQL 9.1 will support Mandatory Access Control in the highly secure SE version of Linux. Security enhanced or SE-Postgres will be used with SE-Linux by the National Security Agency. "The NSA told us, 'If you can do this, we can use PostgreSQL,'" said Berkus. The database now enforces the special identity credentials required by the operating system, and is the first system to do so.

Support for Mandatory Access Control was developed by KaiGai Kohei, a contributor in Japan, said Momjian.

Another contributor, Kevin Grittner, a database administrator for the Wisconsin state court system, produced a unique feature, serializeable snapshot isolation. The feature was needed by the court system because in Wisconsin, the judge of the court in each county needs by law to be in control of the court's local information.

That meant DBAs in two counties might be trying to update the same court case at the same time, but a master DBA in the state capital couldn't lock the system, to allow the changes to occur one at a time without bringing all activity to a halt. Without one of the county actions being locked out, however, the result would be erroneous data, with one or the other updates prevailing. Serializeable snapshot isolation allows local updates to continue in sequence, without locks.

Grittner as a newcomer last year sent email to the core PostgreSQL committers trying to get the function, saying the state court system had a problem. His claim that was refuted repeatedly by PostgreSQL developers, who thought the existing system was capable of managing it. "We went around for about a week, where everybody shot him down," recalled Momjian. "I found myself thinking, this is a smart guy. If he says there's a problem, there may be a problem."

The result was an innovation contributed by Grittner, after he found a paper on how to deal with the issue by an Australian author. Serializeable snapshot isolation "makes sure the transaction will do the right thing … in any mix of transactions," wrote Grittner in an email message. Also with SSI, the transaction can be rolled back and executed again if something has gone wrong with the commits.

"Before, the DBAs were faced with the unpalatable choice between risking data accuracy and explicit locks that would bog down the system," he wrote.

Said Momjian: "People keep coming out of nowhere with particular needs for PostgreSQL," and that will continue to push its development.