Posts tagged #postgresql
13 posts.
Elevarq Analyzer 1.0: Evidence before explanation
Elevarq Analyzer 1.0 is here. We explain why deterministic analysis—not an LLM—decides what is true, and why a plausible PostgreSQL explanation is not enough without evidence.
Stop getting better at firefighting
The best database incident is not the one your team resolves in 20 minutes. It is the one that never happens. PostgreSQL operations should be about making performance, cost, and security predictable, not about becoming exceptionally good at putting out fires.
pgAgroal 1.4.5: Frontend TLS and Stricter HBA Security
pgAgroal 1.4.5 adds TLS for client connections, optional mutual TLS, stricter HBA source validation, and hardened Kubernetes deployment through Helm.
Elevarq Signals 1.3.0: Know Who Can Access What
Elevarq Signals 1.3.0 adds object and default privilege collection, making PostgreSQL grants — including access through PUBLIC — explicit, normalized, and ready for analysis.
pgAgroal Enterprise 1.2.0: Verified TLS for Amazon RDS and Aurora
pgAgroal Enterprise 1.2.0 adds verified backend TLS (verify-ca / verify-full) so the pooler authenticates your RDS or Aurora certificate against a CA, not just encrypts it. It ships with a broad security-hardening batch and is live now on AWS Marketplace and GHCR.
Pooling was never the hard part
Putting a connection pooler in front of one database is easy, and that is why pooling gets called a solved problem. Running dozens of them the same way -- versions, certificates, config drift, upgrades across a Kubernetes fleet -- is a different problem entirely. A few opinions on why operating infrastructure is harder than installing it, and what a control plane should never do.
Elevarq Signals Beta 7: the road to 1.0
Beta 7 of Elevarq Signals: passwordless cloud-IAM and live secret-store auth for read-only PostgreSQL diagnostics — and the road to 1.0.
Bloat that won't come back: prevention, pg_repack, and PostgreSQL 19's REPACK
Some PostgreSQL bloat is self-healing. Some isn't. The kind that won't come back on its own — dead tuples sitting in regions of a table that no longer take writes — quietly inflates your storage bill, your backups, and your recovery time. Here's how to recognise it, prevent it with partitioning and fillfactor, and reclaim it with pg_repack today or REPACK in PostgreSQL 19.
pgagroal 1.1.0 is out: what changed, what to migrate, how it's signed
Today we shipped elevarq/pgagroal:1.1.0, our container packaging of upstream pgagroal 2.1.0 — a feature release with a security-relevant migration. New AES-256-GCM vault encryption and a GCM-only management protocol mean operators must re-key the master and upgrade every pgagroal-cli in lockstep. Verifiable end-to-end with cosign signatures, SBOM, and SLSA provenance.
Auto-incrementing IDs in PostgreSQL: IDENTITY, sequences, and what your application is doing wrong
An auto-incrementing primary key in PostgreSQL is a token, not a number — once you internalise that, half the questions about IDs collapse. This post covers picking the right type (IDENTITY over SERIAL, UUIDv7 when you need it), getting the new ID back with RETURNING, using it as a foreign key in one statement via a CTE, and why you shouldn't reset sequences in production.
"does not exist" in PostgreSQL: how to read the error and stop guessing
9:14 Tuesday morning. The deploy hit production and the user-lookup endpoint returns 500s with 'operator does not exist: text = uuid'. The column exists, the parameter is bound, the rollback is being drafted. PostgreSQL's resolver is telling you exactly what went wrong — almost nobody reads past the first line. How to read the message, and the five levers (cast, signature, schema, extension, quoting) that fix the family.
Inheriting a Postgres database
You inherited the database six months ago. Today the BI engineer needs SELECT on the analytics schema by 2pm — but the table the ETL created last week returns permission denied. A walk through the small PostgreSQL commands every team rediscovers under pressure, and the pattern that makes them compound when they all hit at once: ALTER DEFAULT PRIVILEGES, pg_dump shapes, SHOW, numeric types, psql meta-commands, and the seams of running on RDS.
Why your PostgreSQL planner is wrong (and what to do about it)
The planner estimates costs for every query plan. When those estimates are wrong, performance degrades. Here is how to find and fix planner misestimation.