PostgreSQL Backup and Restore: Step-by-Step Tutorial
How-to for DBAs and developers: pg_dump formats, parallel restore, verification, and the errors that break 2 a.m. recoveries.
Expert PostgreSQL tutorials, tips, and performance optimization guides. Learn database administration, query optimization, and best practices for PostgreSQL 18 and beyond.
How-to for DBAs and developers: pg_dump formats, parallel restore, verification, and the errors that break 2 a.m. recoveries.
PostgreSQL 18’s B-tree skip scan lets multicolumn indexes serve queries that omit the leading column. Here’s how to read the plan, when it wins, and when it backfires.
September’s release week had a clear priority: a security fix. Between September 8 and 14, the PostgreSQL ecosystem shipped a first stable migration tool, a transparent data encryption extension, a cluster-lifecycle platform update, and a masking utility that patches three critical privilege-escalation CVEs. Here is what Houston data teams should act on, in order. PostgreSQL […]
Houston teams are past the pgvector demo stage. The prototype indexed a few hundred thousand embeddings, queries came back in single-digit milliseconds, and everyone moved on. Then the corpus grew — refinery maintenance manuals, upstream drilling reports, municipal permit records, or an e-discovery set — and the same index started losing recall, or the build […]
A three-node Patroni cluster on commodity VMs costs less than one hour of downtime. Here is the architecture, the config, and how to prove it works before you need it. Tom Lane recently walked through the architectural decisions that shaped 30 years of Postgres, and one theme runs through it: Postgres was built to be […]
Need a running total, a ranking, or a month-over-month comparison in SQL? The usual instinct is a self-join, a correlated subquery, or a stack of CTEs. PostgreSQL window functions make those patterns shorter, faster, and far easier to read — without collapsing your rows the way GROUP BY does. This step-by-step tutorial walks through window […]
Dead tuples are invisible—until they aren’t. On write-heavy workloads—order and status tables, event streams, telemetry from Houston’s energy corridor—every UPDATE and DELETE leaves an old row version behind. PostgreSQL’s MVCC design is why readers never block writers, but the tradeoff is that stale row versions accumulate until autovacuum sweeps them away. When autovacuum falls behind, […]
Embeddings search is no longer a novelty feature; it is table stakes for Postgres teams building RAG pipelines, semantic search, and recommendation engines. pgvector, the open-source extension that adds vector columns and nearest-neighbor search to PostgreSQL, is where most of those teams start. The current v0.8.x line supports Postgres 13 and later, with single-precision, half-precision, […]
On August 13, 2026 the PostgreSQL Global Development Group released 18.6, 17.11, 16.15, 15.19, 14.24 and 19 Beta 3. If you run logical replication, manage pg_upgrade plans, or operate in FIPS-enforced environments, this is not a routine minor release — two of the security fixes change runtime behavior in ways that can break production after […]
You added the index. You waited for the CREATE INDEX to finish. You re-ran the query. And EXPLAIN still shows a Seq Scan. The query is still slow. If that sounds familiar, you are not alone — it is one of the most common performance questions Houston DBAs bring up in tuning sessions. Before you […]