Psycopg Synchronous Connection¶
Demonstrate a synchronous PostgreSQL workflow with SQLSpec’s Psycopg adapter. Update the DSN via
SQLSPEC_PSYCOPG_DSN to point at your database.
SQLSPEC_PSYCOPG_DSN=postgresql://user:pass@host/db \
uv run python docs/examples/adapters/psycopg/connect_sync.py
Source¶
1"""Psycopg configuration for synchronous SQLSpec sessions."""
2
3import os
4
5from sqlspec.adapters.psycopg import PsycopgSyncConfig
6from sqlspec.core import SQL
7
8__all__ = ("main",)
9
10
11DSN = os.getenv("SQLSPEC_PSYCOPG_DSN", "postgresql://postgres:postgres@localhost:5432/postgres")
12config = PsycopgSyncConfig(bind_key="docs_psycopg", pool_config={"conninfo": DSN, "min_size": 1, "max_size": 4})
13
14
15def main() -> None:
16 """Open a Psycopg session and fetch version metadata."""
17 with config.provide_session() as session:
18 result = session.execute(SQL("SELECT version() AS version"))
19 row = result.one_or_none()
20 if row:
21 print({"adapter": "psycopg", "version": row["version"]})
22 else:
23 print({"adapter": "psycopg", "version": "unknown"})
24
25
26if __name__ == "__main__":
27 main()