BT

Facilitating the spread of knowledge and innovation in professional software development

Contribute

Topics

Choose your language

InfoQ Homepage News Google Cloud Spanner Adds PostgreSQL Interface: Is PostgreSQL Now Standard for Cloud Databases?

Google Cloud Spanner Adds PostgreSQL Interface: Is PostgreSQL Now Standard for Cloud Databases?

This item in japanese

Bookmarks

At the recent Next '21 conference, Google announced a PostgreSQL interface for Cloud Spanner, the distributed SQL database management and storage service on Google Cloud. The new interface in preview combines the scalability and reliability of Spanner with the familiarity among developers and portability of PostgreSQL.

The preview release does not yet achieve full parity between the Google Standard SQL and PostgreSQL interfaces, but longer term Google recommends to determine which dialect to use according to how familiar a development team is with the given technology. Justin Makeig, product manager at Google, explains the benefits and limitations of the new approach:

At the lowest level, the PostgreSQL interface implements a core subset of PostgreSQL data types and DDL syntax. This allows users to define their schemas using standard PostgreSQL SQL. (...) For Spanner capabilities that don’t have a direct PostgreSQL analog, like table interleaving, we‘ve extended the PostgreSQL syntax. We’ve tried to minimize these differences, deferring to existing PostgreSQL syntax where possible.

New option to choose PostgreSQL as database dialect. Source: https://cloud.google.com/blog/topics/developers-practitioners/postgresql-interface-adds-familiarity-and-portability-cloud-spanner

Forrest Brazeal, head of content at Google Cloud, tweets:

Amid all the flashy announcements at Google Cloud Next, "Postgres for Spanner" is unquestionably the #1 thing I'm hearing engineers excited about. Don't sleep on this one!

Cloud Spanner is not the first managed and distributed relational database introducing a PostgreSQL interface, with many NewSQL databases built on or compatible with the popular open source relational database. As reported on InfoQ, CockroachDB Serverless and Yugabyte Cloud are PostgreSQL compatible database-as-a-service built for the cloud. Timescale Cloud, a new cloud-native relational database for time-series, is also built on PostgreSQL. Peter Zaitsev, open source advocate and CEO of Percona, comments:

PostgreSQL Interface is becoming the leading standard for interfacing with modern SQL databases.

In a Twitter thread, Matthew Wilson, VP and distinguished engineer at AWS, adds:

When the canonical implementation for a de facto standard is community built and maintained software like PostgreSQL, I think there is value that accrues to the whole community in its adoption by competing software.

Doug Henschen, technology analyst at Constellation Research, disagrees:

The PostgreSQL "compatible" interface for Spanner reminds me of the AWS "compatible" exploitation of PostgreSQL and other open-source products. If you want to be a fan of open source products, use/promote the open source product.

Google has released new Spanner clients for Java, JDBC, Go, and Python to support the PostgreSQL query dialect, simplifying the integration with development environments while supporting Spanner’s managed endpoints and providing automatic replication and horizontal scalability. The reactions on Reddit have been mixed, with user nutrecht suggesting:

Spanner is pretty limited in what it can do. Just because it has a "Postgres" interface doesn't mean any Postgres query will just work on Spanner. Spanner is not a 'general' RDBMS; it's a specialized tool for specific workloads. Which is also why it's expensive as heck.

The PostgreSQL interface is currently in preview and a form is available to request access.

 

Rate this Article

Adoption
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT