select * from depesz;
- Posts
- 1,678 from 13 May 2006 to 16 Oct 2026
- Posting
- weekly (28 in the last year)
- Kind
- personal blog
- Feed
- https://www.depesz.com/feed/
Latest
October 2026
August 2026
July 2026
- Waiting for PostgreSQL 19 – SQL Property Graph Queries (SQL/PGQ)
- Waiting for PostgreSQL 20 – Add min() and max() aggregate support for uuid.
- Waiting for PostgreSQL 20 – Add backend-level lock statistics
June 2026
April 2026
- Polish configuration for TSearch
- Waiting for PostgreSQL 19 – Add CONCURRENTLY option to REPACK
- Waiting for PostgreSQL 19 – Online enabling and disabling of data checksums
- Waiting for PostgreSQL 19 – new pg_get_*_ddl() functions
- Waiting for PostgreSQL 19 – Add UPDATE/DELETE FOR PORTION OF
March 2026
- Waiting for PostgreSQL 19 – json format for COPY TO
- Waiting for PostgreSQL 19 – Add support for EXCEPT TABLE in ALTER PUBLICATION.
- Waiting for PostgreSQL 19 – Add pg_plan_advice contrib module.
- Waiting for PostgreSQL 19 – Introduce the REPACK command
- Waiting for PostgreSQL 19 – Allow table exclusions in publications via EXCEPT TABLE.
- Waiting for PostgreSQL 19 – Add non-text output formats to pg_dumpall
February 2026
- Waiting for PostgreSQL 19 – Allow log_min_messages to be set per process type
- Waiting for PostgreSQL 19 – psql: Add %i prompt escape to indicate hot standby status.
- Per-worker, and global, IO bandwidth in explain plans
January 2026
- How to render timestamp with a timezone that is different from current?
- Quick and dirty loading of CSV files
- Small improvement for pretty-printing in paste.depesz.com
- What is index overhead on writes?
- Waiting for PostgreSQL 19 – Implement ALTER TABLE … MERGE/SPLIT PARTITIONS … command
November 2025
- Using JSON: json vs. jsonb, pglz vs. lz4, key optimization, parsing speed?
- Waiting for PostgreSQL 19 – Sequence synchronization in logical replication.
- Do you really need tsvector column?
October 2025
- Waiting for PostgreSQL 19 – Add psql PROMPT variable for search_path.
- Waiting for PostgreSQL 19 – Support COPY TO for partitioned tables.
- Waiting for PostgreSQL 19 – Add IGNORE NULLS/RESPECT NULLS option to Window functions.
- Waiting for PostgreSQL 19 – Add GROUP BY ALL.
- vtime – time commands with elapsed time visible all the time
September 2025
August 2025
- Who logged to system from multiple countries in 2 hours?
- Waiting for PostgreSQL 19 – Display Memoize planner estimates in EXPLAIN
May 2025
- pg_dump speed across versions
- Waiting for PostgreSQL 18 – Add function to get memory context stats for processes
- Waiting for PostgreSQL 18 – Allow NOT NULL constraints to be added as NOT VALID
April 2025
- Waiting for PostgreSQL 18 – Add modern SHA-2 based password hashes to pgcrypto.
- Waiting for PostgreSQL 18 – Non text modes for pg_dumpall, correspondingly change pg_restore
March 2025
- Waiting for PostgreSQL 18 – Allow json{b}_strip_nulls to remove null array elements
- Waiting for PostgreSQL 18 – Allow parallel CREATE INDEX for GIN indexes
February 2025
- Waiting for PostgreSQL 18 – Allow EXPLAIN to indicate fractional rows.
- Waiting for PostgreSQL 18 – Virtual generated columns
- Waiting for PostgreSQL 18 – Add delay time to VACUUM/ANALYZE (VERBOSE) and autovacuum logs.
- Waiting for PostgreSQL 18 – Add cost-based vacuum delay time to progress views.
- Waiting for PostgreSQL 18 – Support RN (roman-numeral format) in to_number().
January 2025
- Waiting for PostgreSQL 18 – Add OLD/NEW support to RETURNING in DML queries.
- Waiting for PostgreSQL 18 – Allow changing autovacuum_max_workers without restarting.
- Waiting for PostgreSQL 18 – Enable BUFFERS with EXPLAIN ANALYZE by default
- Waiting for PostgreSQL 18 – Support LIKE with nondeterministic collations
- Waiting for PostgreSQL 18 – psql: Add more information about service name
December 2024
- Waiting for PostgreSQL 18 – Add UUID version 7 generation function.
- How to ALTER tables without breaking application?
- SQL best practices – don’t compare count(*) with 0
November 2024
- How can I send mail or HTTP request from database?
- Changes on pgdoc.link
- Grouping data into array of sums – fun with custom aggregates
- System views added to pgdoc.link
- Waiting for PostgreSQL 18 – Add SQL function array_reverse()
October 2024
- New way to search PostgreSQL documentation
- Case study: optimization of weirdly picked bad plan
- SQL/JSON is here! (kinda “Waiting for Pg 17”)
- Waiting for PostgreSQL 18 – Add temporal FOREIGN KEY contraints
September 2024
July 2024
June 2024
May 2024
April 2024
- Waiting for …: SQL/JSON is coming back. Hopefully.
- Waiting for PostgreSQL 17 – Invent SERIALIZE option for EXPLAIN.
- Waiting for PostgreSQL 17 – Add new COPY option LOG_VERBOSITY.
- Waiting for PostgreSQL 17 – Add support for MERGE … WHEN NOT MATCHED BY SOURCE.
March 2024
February 2024
- Waiting for PostgreSQL 17 – Add new COPY option SAVE_ERROR_TO / Rename COPY option from SAVE_ERROR_TO to ON_ERROR
- Waiting for PostgreSQL 17 – Support identity columns in partitioned tables
January 2024
- Waiting for PostgreSQL 17 – In plpgsql, allow %TYPE and %ROWTYPE to be followed by array decoration.
- Waiting for PostgreSQL 17 – ALTER TABLE command to change generation expression
- Waiting for PostgreSQL 17 – Add support for incremental backup.
December 2023
October 2023
- Human/version sort in PostgreSQL – revisited
- Waiting for PostgreSQL 17 – Add support event triggers on authenticated login
September 2023
- Waiting for PostgreSQL 17 – Allow \watch queries to stop on minimum rows returned
- Waiting for PostgreSQL 17 – Generate new LOG for “trust” connections under log_connections
- Waiting for PostgreSQL 17 – Add to_bin() and to_oct().
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
- Waiting for PostgreSQL 16 – Add pg_stat_io view, providing more detailed IO statistics
- How to get a row, and all of it’s dependencies?
- Now you can \d table not only in psql :)
- When to use VACUUM FULL
- Waiting for PostgreSQL 16 – Allow underscores in integer and numeric constants.
January 2023
- Can you use fzf for psql history?
- Waiting for PostgreSQL 16 – Invent random_normal() to provide normally-distributed random numbers.
December 2022
- Waiting for PostgreSQL 16 – Non-decimal integer literals
- Waiting for PostgreSQL 16 – Add grantable MAINTAIN privilege and pg_maintain role.
- Waiting for PostgreSQL 16 – Add test scaffolding for soft error reporting from input functions.
November 2022
- Picking random element, with weights
- Run a command every “x seconds”
- Waiting for PostgreSQL 16 – Add support for regexps on database and user entries in pg_hba.conf
September 2022
- Prettify SQL queries from command line
- What is LATERAL, what is it for, and how can one use it?
- SQL/JSON is postponed
August 2022
July 2022
- Better scrolling of long explain plans on explain.depesz.com
- Understanding pg_stat_activity
- How to log selects from specific table?
April 2022
- Stop the war in Ukraine
- Waiting for PostgreSQL 15 – Documentation for SQL/JSON features
- Waiting for PostgreSQL 15 – JSON_TABLE
- DBA tips ‘n tricks – search in every field in a table
- Waiting for PostgreSQL 15 – SQL/JSON query functions
- Waiting for PostgreSQL 15 – IS JSON predicate
March 2022
- Waiting for PostgreSQL 15 – SQL/JSON constructors
- Waiting for PostgreSQL 15 – Add support for MERGE SQL command
- Waiting for PostgreSQL 15 – Add support for security invoker views.
- PGDayPL postponed…
- Is my autovacuum configured properly?
- New type of hints on explain.depesz.com
- How to index data with tsearch?
February 2022
- PGDayPL is coming :)
- explain.depesz.com – now with HINTS!
- How much disk space you can save by using INT4/INT instead of INT8/BIGINT?
- Waiting for PostgreSQL 15 – Allow archiving via loadable modules.
- Waiting for PostgreSQL 15 – Add UNIQUE null treatment option
January 2022
- Waiting for PostgreSQL 15 – Add HEADER support to COPY text format
- Waiting for PostgreSQL 15 – Introduce log_destination=jsonlog
- Configuration changes across Pg versions
November 2021
- Waiting for PostgreSQL 15 – Add assorted new regexp_xxx SQL functions.
- Does varchar(n) use less disk space than varchar() or text?
- Waiting for PostgreSQL 15 – Allow publishing the tables of schema.
October 2021
September 2021
- Using recursive queries to get distinct elements from table
- Waiting for PostgreSQL 15 – Revoke PUBLIC CREATE from public schema, now owned by pg_database_owner.
August 2021
- How to get advisory lock in shell?
- New changes on explain.depesz.com – fixed calculations of exclusive times
July 2021
- Display “settings” from plans on explain.depesz.com
- How to get list of elements from multiranges?
- Buffers I/O information on explain.depesz.com
June 2021
- A tale of making company-wide standard psqlrc
- Explaining the unexplainable – part 6: buffers
- Many changes on explain.depesz.com
May 2021
April 2021
- Getting value from dynamic column in pl/PgSQL triggers?
- Changes on explain.depesz.com – extracted query from auto-explain plans
Every year
2026 252025 282024 272023 192022 342021 372020 382019 322018 272017 252016 282015 472014 462013 512012 522011 602010 742009 572008 1022007 3162006 553