---
title: PostgreSQL
slug: postgresql
url: "https://toolweight.com/tools/postgresql"
homepage: "https://www.postgresql.org"
categories: sqlite-vs-postgres-vs-mysql
last_verified: 2026-11-07
dataset_version: 0738be72
license: CC-BY-4.0
---

# PostgreSQL

> MVCC relational server with the widest SQL surface and a deep extension ecosystem.

- A client/server relational database descended from Berkeley POSTGRES, governed by a contributor community, not a company.
- Its extension mechanism keeps absorbing categories: PostGIS for geospatial, TimescaleDB for time-series, pgvector for vectors.
- The trade is operational weight: autovacuum, bloat and a process per connection are yours to manage.

## Identity

|  |  |
| --- | --- |
| Name | PostgreSQL |
| Company | PostgreSQL |
| One-liner | MVCC relational server with the widest SQL surface and a deep extension ecosystem. |
| Site | https://www.postgresql.org |
| Docs | https://www.postgresql.org/docs/current/ |
| Repo | https://github.com/postgres/postgres |
| Founded | 1996 |
| Open source | Yes |
| Licence | PostgreSQL Licence |
| Compared in | 1 |

## Where it is compared

### [Database engines](https://toolweight.com/compare/sqlite-vs-postgres-vs-mysql)
| Field | Value | Confidence | Verified | Source | Note | Permalink |
| --- | --- | --- | --- | --- | --- | --- |
| Embedded or server | Server (client/server) | Vendor-claimed | 2026-07-01 | https://www.postgresql.org/docs/current/tutorial-arch.html | - | https://toolweight.com/compare/sqlite-vs-postgres-vs-mysql#postgresql--embedded_or_server |
| Concurrency model | MVCC (heap row versions) | Vendor-claimed | 2026-07-01 | https://www.postgresql.org/docs/current/mvcc-intro.html | Dead row versions live in the heap until vacuumed, which is why bloat is a Postgres word and not a MySQL one. | https://toolweight.com/compare/sqlite-vs-postgres-vs-mysql#postgresql--concurrency_model |
| Write concurrency | Concurrent writers (row-level) | Vendor-claimed | 2026-07-01 | https://www.postgresql.org/docs/current/explicit-locking.html | - | https://toolweight.com/compare/sqlite-vs-postgres-vs-mysql#postgresql--write_concurrency |
| Isolation levels | Read committed, Repeatable read, Serializable | Vendor-claimed | 2026-07-01 | https://www.postgresql.org/docs/current/transaction-iso.html | READ UNCOMMITTED is accepted but behaves as READ COMMITTED. SERIALIZABLE is true SSI, not lock-based. | https://toolweight.com/compare/sqlite-vs-postgres-vs-mysql#postgresql--isolation_levels |
| JSON support | Binary JSONB + indexes | Vendor-claimed | 2026-07-01 | https://www.postgresql.org/docs/current/datatype-json.html | jsonb with GIN indexes, containment operators and SQL/JSON path queries. The reason most document-store migrations get cancelled. | https://toolweight.com/compare/sqlite-vs-postgres-vs-mysql#postgresql--json_support |
| Full-text search | Built-in | Vendor-claimed | 2026-07-01 | https://www.postgresql.org/docs/current/textsearch.html | tsvector and tsquery with GIN indexes and ranking. Good enough to defer Elasticsearch for a long time; not a replacement for it. | https://toolweight.com/compare/sqlite-vs-postgres-vs-mysql#postgresql--full_text_search |
| Vector search | Extension | Vendor-claimed | 2026-07-01 | https://github.com/pgvector/pgvector | pgvector is the de facto standard: HNSW and IVFFlat indexes, available on essentially every managed Postgres. | https://toolweight.com/compare/sqlite-vs-postgres-vs-mysql#postgresql--vector_search |
| Type strictness | Static, strict | Vendor-claimed | 2026-07-01 | https://www.postgresql.org/docs/current/typeconv.html | Refuses implicit lossy casts. This is the source of most complaints from people arriving from MySQL, and most of the data-integrity wins. | https://toolweight.com/compare/sqlite-vs-postgres-vs-mysql#postgresql--type_strictness |
| ALTER TABLE | Minimal | Vendor-claimed | 2026-07-01 | https://www.postgresql.org/docs/current/sql-altertable.html | Near-complete DDL inside a transaction you can roll back. ALTER TYPE still rewrites the table under ACCESS EXCLUSIVE. | https://toolweight.com/compare/sqlite-vs-postgres-vs-mysql#postgresql--alter_table_limits |
| Max database size | - | Vendor-claimed | 2026-11-07 | https://www.postgresql.org/docs/current/limits.html | Unlimited database size according to the official limits table; practical limits such as available disk space and performance still apply. | https://toolweight.com/compare/sqlite-vs-postgres-vs-mysql#postgresql--max_db_size |
| Replication | Built-in async + synchronous | Vendor-claimed | 2026-07-01 | https://www.postgresql.org/docs/current/high-availability.html | Physical streaming plus logical replication in core; synchronous_commit gives quorum or remote-apply durability. Automatic failover is still Patroni's job. | https://toolweight.com/compare/sqlite-vs-postgres-vs-mysql#postgresql--replication |
| PITR | ● | Vendor-claimed | 2026-07-01 | https://www.postgresql.org/docs/current/continuous-archiving.html | Base backup plus archived WAL restores to a timestamp, an LSN or a named restore point. The reference implementation of the idea. | https://toolweight.com/compare/sqlite-vs-postgres-vs-mysql#postgresql--pitr |
| Online schema change | ◐ | Inferred | 2026-07-01 | - | Many ALTERs are metadata-only and instant; type changes rewrite under an exclusive lock. Teams reach for pgroll or pg_repack, and always set lock_timeout. | https://toolweight.com/compare/sqlite-vs-postgres-vs-mysql#postgresql--online_schema_change |
| Connection model | Process per connection | Vendor-claimed | 2026-07-01 | https://www.postgresql.org/docs/current/tutorial-arch.html | A backend process per connection. Past a few hundred clients PgBouncer stops being optional, and serverless compute reaches that number fast. | https://toolweight.com/compare/sqlite-vs-postgres-vs-mysql#postgresql--connection_model |
| Default max conns | 100 | Vendor-claimed | 2026-11-06 | https://www.postgresql.org/docs/current/runtime-config-connection.html | - | https://toolweight.com/compare/sqlite-vs-postgres-vs-mysql#postgresql--default_max_connections |
| Managed options | Neon, Supabase, Amazon RDS, Amazon Aurora, Google Cloud SQL, Azure Database, PlanetScale | Inferred | 2026-07-01 | - | The widest managed market of any engine here, and the reason most teams never actually run Postgres themselves. | https://toolweight.com/compare/sqlite-vs-postgres-vs-mysql#postgresql--hosted_options |
| Ops burden | 4 | Inferred | 2026-07-01 | - | Autovacuum tuning, bloat, transaction-ID wraparound, connection pooling, and major upgrades via pg_upgrade or logical replication. The best engine here is also the most work. | https://toolweight.com/compare/sqlite-vs-postgres-vs-mysql#postgresql--operational_burden |
| Extension ecosystem | 5 | Vendor-claimed | 2026-07-01 | https://www.postgresql.org/docs/current/extend-extensions.html | PostGIS, pgvector, TimescaleDB, pg_cron, pg_stat_statements. Managed hosts each ship a curated subset, which is worth checking before you depend on one. | https://toolweight.com/compare/sqlite-vs-postgres-vs-mysql#postgresql--extension_ecosystem |
| Client libraries | 5 | Inferred | 2026-07-01 | - | - | https://toolweight.com/compare/sqlite-vs-postgres-vs-mysql#postgresql--client_library_maturity |
| Migration tooling | 5 | Inferred | 2026-07-01 | - | Atlas, Flyway, Liquibase, sqlx, Drizzle and Prisma all treat Postgres as the reference target, plus pgroll and reshape for expand/contract rollouts. | https://toolweight.com/compare/sqlite-vs-postgres-vs-mysql#postgresql--migration_tooling |
| GitHub stars | 18,000 | Community-reported | 2026-07-01 | https://github.com/postgres/postgres | Approximate. Official mirror; development happens on the pgsql-hackers mailing list. | https://toolweight.com/compare/sqlite-vs-postgres-vs-mysql#postgresql--github_stars |
| Positioning | The world's most advanced open source relational database. | Vendor-claimed | 2026-07-01 | https://www.postgresql.org/ | - | https://toolweight.com/compare/sqlite-vs-postgres-vs-mysql#postgresql--positioning |
| Licence | PostgreSQL Licence (BSD-style) | Vendor-claimed | 2026-11-06 | https://www.postgresql.org/about/licence/ | - | https://toolweight.com/compare/sqlite-vs-postgres-vs-mysql#postgresql--licence |
| Embed in closed source | ● | Vendor-claimed | 2026-07-01 | https://www.postgresql.org/about/licence/ | Permissive enough to redistribute inside a proprietary product; the engine's shape means almost nobody does. | https://toolweight.com/compare/sqlite-vs-postgres-vs-mysql#postgresql--embedding_freedom |
| Governance | Community project | Vendor-claimed | 2026-07-01 | https://www.postgresql.org/developer/ | A core team and a contributor community with no owning company, the strongest acquisition-risk story on this page. | https://toolweight.com/compare/sqlite-vs-postgres-vs-mysql#postgresql--governance |
| First release | 1997-01-29 | Community-reported | 2026-07-01 | https://www.postgresql.org/docs/current/history.html | PostgreSQL 6.0. The lineage runs back through Postgres95 to Berkeley POSTGRES in 1986. | https://toolweight.com/compare/sqlite-vs-postgres-vs-mysql#postgresql--first_release |

**Verdict.** Strongest engine on every axis except operational cost; nothing else pairs transactional DDL, this much SQL and pgvector.

## Alternatives

- [DuckDB](https://toolweight.com/tools/duckdb), In-process columnar analytics engine, SQLite's shape, a warehouse's execution model.
- [MariaDB](https://toolweight.com/tools/mariadb), GPL-only MySQL fork under a foundation, with Galera clustering and native vectors.
- [MySQL](https://toolweight.com/tools/mysql), The relational server that ran the early web, now Oracle-stewarded and InnoDB-based.
- [SQLite](https://toolweight.com/tools/sqlite), Embedded SQL engine that runs inside your process, a file, not a server.

## Logo & brand colours

SVG files: https://toolweight.com/teams/postgresql/logo.svg and https://toolweight.com/teams/postgresql/mono.svg. JSON: https://toolweight.com/api/v1/brands/postgresql.

| Hex | oklch |
| --- | --- |
| #336791 | oklch(49.7% 0.088 245.2) |
| #000000 | oklch(0.0% 0.000 0.0) |
| #ffffff | oklch(100.0% 0.000 0.0) |

## Licence and attribution

Data from Toolweight (https://toolweight.com), licensed CC-BY-4.0.

- Licence: [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/)
- Canonical HTML: https://toolweight.com/tools/postgresql
- Machine-readable: https://toolweight.com/tools/postgresql.md · https://toolweight.com/api/v1 · https://toolweight.com/mcp
- Toolweight takes no affiliate revenue and sells no placements.
