Each Lakebase Postgres compute is a standard Postgres instance: it parses, plans, and executes SQL the same way self-hosted Postgres does, and it speaks the standard Postgres wire protocol. Anything that connects with a postgresql:// connection string works without code changes, including psql, pgAdmin, DBeaver, DataGrip, Tableau, Metabase, Power BI, ORMs, and drivers.

What compatible means in practice

Your app sees a Postgres 14, 15, 16, 17, or 18 server, whichever version you picked when you created the project. It connects with standard drivers: pg for Node.js, psycopg2 or psycopg 3 for Python, JDBC for Java, and so on.

Use a standard connection string:

postgresql://alex:AbC123dEf@ep-cool-darkness-123456.us-east-2.aws.neon.tech/dbname?sslmode=require&channel_binding=require

Put it in your app config the same way you would for any Postgres host.

Compatibility caveats

  • SNI is required. Neon routes connections by compute ID using Server Name Indication in TLS. libpq added SNI support in Postgres 14 (September 2021), so clients built on an older libpq need an upgrade or the options=endpoint%3D<endpoint-id> workaround.
  • No superuser. You get neon_superuser privileges instead of a true superuser, and a few instance-level features differ from self-hosted Postgres, such as tablespaces and persistent unlogged tables. See Postgres compatibility.
  • SET and other session state work on direct connections but not on the pooled hostname, because PgBouncer runs in transaction mode. Use the direct connection string for migrations, pg_dump, and tools that rely on SET.
  • Logical replication needs a direct connection, not the pooler.

Connection pooling for high-concurrency workloads

Each Neon compute accepts up to 10,000 pooled client connections. Direct connections scale with compute size, from 104 on 0.25 CU (≈1 GB RAM) up to 4,000 on 9 CU and larger. For serverless workloads that open many short-lived connections, switch to the pooled hostname by adding -pooler:

postgresql://alex:AbC123dEf@ep-cool-darkness-123456-pooler.us-east-2.aws.neon.tech/dbname?sslmode=require&channel_binding=require

The pooler routes client connections through a smaller pool of Postgres connections. See Connection pooling for details.

Connect any Postgres tool to Neon

Browse driver guides, IDE setup, and BI tool integrations.