SQLAlchemy 2 is a Python SQL toolkit and Object Relational Mapper (ORM).
You can use the SQLAlchemy 2 ORM in combination with the standard PostgreSQL psycopg3 driver and PGAdapter.
Set up SQLAlchemy 2 with Spanner PostgreSQL-dialect databases
-
Ensure that PGAdapter is running on the same machine as the application that is connecting using SQLAlchemy 2 with Spanner.
For more information, see Start PGAdapter .
-
Add SQLAlchemy 2 and psycopg3 to your
requirements.txtfile.psycopg ~= 3 . 1 . 8 sqlalchemy ~= 2 . 0 . 1 -
Specify
postgresql+psycopg,localhostand5432as the database dialect, driver, server host and port in the SQLAlchemy 2 connection string. psycopg3 requires a username and password in the connection string. PGAdapter ignores these.Optionally, specify a different port number if PGAdapter is configured to listen on a port other than the default PostgreSQL port (5432).
conn_string = "postgresql+psycopg://user:password@localhost:5432/my-database" engine = create_engine ( conn_string )
See the SQLAlchemy 2 with PostgreSQL documentation for more connection options for PostgreSQL.
Use SQLAlchemy 2 with PostgreSQL-dialect databases
For more information about the features and recommendations for SQLAlchemy 2 with PostgreSQL-dialect databases, please consult the reference documentation on GitHub.
What's next
- Check out the sample-application using SQLAlchemy 2 with PGAdapter and Spanner.
- Learn more about SQLAlchemy .
- Learn more about PGAdapter .
- File a GitHub issue to report a bug or ask a question about Spanner dialect for SQLAlchemy with PGAdapter.

