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.txt
file.psycopg~=3.1.8 sqlalchemy~=2.0.1
Specify
postgresql+psycopg
,localhost
and5432
as 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.