The Curious Engineer

select * from depesz;

2007–2026

1,125 posts

← 2006

2026 25

October 2026

  1. Old tech is sometimes better – a case study based on blogpost from Now-Next…

August 2026

  1. New things for regular expressions in PostgreSQL (pg_tre and pg_re2)

July 2026

  1. Waiting for PostgreSQL 19 – SQL Property Graph Queries (SQL/PGQ)
  2. Waiting for PostgreSQL 20 – Add min() and max() aggregate support for uuid.
  3. Waiting for PostgreSQL 20 – Add backend-level lock statistics

June 2026

  1. Posting explains from tools (and not web browsers)

April 2026

  1. Polish configuration for TSearch
  2. Waiting for PostgreSQL 19 – Add CONCURRENTLY option to REPACK
  3. Waiting for PostgreSQL 19 – Online enabling and disabling of data checksums
  4. Waiting for PostgreSQL 19 – new pg_get_*_ddl() functions
  5. Waiting for PostgreSQL 19 – Add UPDATE/DELETE FOR PORTION OF

March 2026

  1. Waiting for PostgreSQL 19 – json format for COPY TO
  2. Waiting for PostgreSQL 19 – Add support for EXCEPT TABLE in ALTER PUBLICATION.
  3. Waiting for PostgreSQL 19 – Add pg_plan_advice contrib module.
  4. Waiting for PostgreSQL 19 – Introduce the REPACK command
  5. Waiting for PostgreSQL 19 – Allow table exclusions in publications via EXCEPT TABLE.
  6. Waiting for PostgreSQL 19 – Add non-text output formats to pg_dumpall

February 2026

  1. Waiting for PostgreSQL 19 – Allow log_min_messages to be set per process type
  2. Waiting for PostgreSQL 19 – psql: Add %i prompt escape to indicate hot standby status.
  3. Per-worker, and global, IO bandwidth in explain plans

January 2026

  1. How to render timestamp with a timezone that is different from current?
  2. Quick and dirty loading of CSV files
  3. Small improvement for pretty-printing in paste.depesz.com
  4. What is index overhead on writes?
  5. Waiting for PostgreSQL 19 – Implement ALTER TABLE … MERGE/SPLIT PARTITIONS … command

2025 28

November 2025

  1. Using JSON: json vs. jsonb, pglz vs. lz4, key optimization, parsing speed?
  2. Waiting for PostgreSQL 19 – Sequence synchronization in logical replication.
  3. Do you really need tsvector column?

October 2025

  1. Waiting for PostgreSQL 19 – Add psql PROMPT variable for search_path.
  2. Waiting for PostgreSQL 19 – Support COPY TO for partitioned tables.
  3. Waiting for PostgreSQL 19 – Add IGNORE NULLS/RESPECT NULLS option to Window functions.
  4. Waiting for PostgreSQL 19 – Add GROUP BY ALL.
  5. vtime – time commands with elapsed time visible all the time

September 2025

  1. Waiting for PostgreSQL 19 – Add date and timestamp variants of random(min, max).

August 2025

  1. Who logged to system from multiple countries in 2 hours?
  2. Waiting for PostgreSQL 19 – Display Memoize planner estimates in EXPLAIN

May 2025

  1. pg_dump speed across versions
  2. Waiting for PostgreSQL 18 – Add function to get memory context stats for processes
  3. Waiting for PostgreSQL 18 – Allow NOT NULL constraints to be added as NOT VALID

April 2025

  1. Waiting for PostgreSQL 18 – Add modern SHA-2 based password hashes to pgcrypto.
  2. Waiting for PostgreSQL 18 – Non text modes for pg_dumpall, correspondingly change pg_restore

March 2025

  1. Waiting for PostgreSQL 18 – Allow json{b}_strip_nulls to remove null array elements
  2. Waiting for PostgreSQL 18 – Allow parallel CREATE INDEX for GIN indexes

February 2025

  1. Waiting for PostgreSQL 18 – Allow EXPLAIN to indicate fractional rows.
  2. Waiting for PostgreSQL 18 – Virtual generated columns
  3. Waiting for PostgreSQL 18 – Add delay time to VACUUM/ANALYZE (VERBOSE) and autovacuum logs.
  4. Waiting for PostgreSQL 18 – Add cost-based vacuum delay time to progress views.
  5. Waiting for PostgreSQL 18 – Support RN (roman-numeral format) in to_number().

January 2025

  1. Waiting for PostgreSQL 18 – Add OLD/NEW support to RETURNING in DML queries.
  2. Waiting for PostgreSQL 18 – Allow changing autovacuum_max_workers without restarting.
  3. Waiting for PostgreSQL 18 – Enable BUFFERS with EXPLAIN ANALYZE by default
  4. Waiting for PostgreSQL 18 – Support LIKE with nondeterministic collations
  5. Waiting for PostgreSQL 18 – psql: Add more information about service name

2024 27

December 2024

  1. Waiting for PostgreSQL 18 – Add UUID version 7 generation function.
  2. How to ALTER tables without breaking application?
  3. SQL best practices – don’t compare count(*) with 0

November 2024

  1. How can I send mail or HTTP request from database?
  2. Changes on pgdoc.link
  3. Grouping data into array of sums – fun with custom aggregates
  4. System views added to pgdoc.link
  5. Waiting for PostgreSQL 18 – Add SQL function array_reverse()

October 2024

  1. New way to search PostgreSQL documentation
  2. Case study: optimization of weirdly picked bad plan
  3. SQL/JSON is here! (kinda “Waiting for Pg 17”)
  4. Waiting for PostgreSQL 18 – Add temporal FOREIGN KEY contraints

September 2024

  1. Waiting for PostgreSQL 18 – Add temporal PRIMARY KEY and UNIQUE constraints

July 2024

  1. What tables were touched within given range of wal LSN?

June 2024

  1. How much speed you’re leaving at the table if you use default locale?

May 2024

  1. Waiting for PostgreSQL 17 – MERGE / SPLIT partitions

April 2024

  1. Waiting for …: SQL/JSON is coming back. Hopefully.
  2. Waiting for PostgreSQL 17 – Invent SERIALIZE option for EXPLAIN.
  3. Waiting for PostgreSQL 17 – Add new COPY option LOG_VERBOSITY.
  4. Waiting for PostgreSQL 17 – Add support for MERGE … WHEN NOT MATCHED BY SOURCE.

March 2024

  1. Waiting for PostgreSQL 17 – Add RETURNING support to MERGE.
  2. What the hell is transaction wraparound?

February 2024

  1. Waiting for PostgreSQL 17 – Add new COPY option SAVE_ERROR_TO / Rename COPY option from SAVE_ERROR_TO to ON_ERROR
  2. Waiting for PostgreSQL 17 – Support identity columns in partitioned tables

January 2024

  1. Waiting for PostgreSQL 17 – In plpgsql, allow %TYPE and %ROWTYPE to be followed by array decoration.
  2. Waiting for PostgreSQL 17 – ALTER TABLE command to change generation expression
  3. Waiting for PostgreSQL 17 – Add support for incremental backup.

2023 19

December 2023

  1. Proper support for I/O Timings on explain.depesz.com

October 2023

  1. Human/version sort in PostgreSQL – revisited
  2. Waiting for PostgreSQL 17 – Add support event triggers on authenticated login

September 2023

  1. Waiting for PostgreSQL 17 – Allow \watch queries to stop on minimum rows returned
  2. Waiting for PostgreSQL 17 – Generate new LOG for “trust” connections under log_connections
  3. Waiting for PostgreSQL 17 – Add to_bin() and to_oct().

July 2023

  1. Human/version sort in PostgreSQL

June 2023

  1. Why is my WAL directory so large?
  2. A tale about (incomplete) upgrade from PostgreSQL 12 to 14

May 2023

  1. Variables in psql, how to use them?

April 2023

  1. Waiting for PostgreSQL 16 – Add array_sample() and array_shuffle() functions.

March 2023

  1. System roles – what, why, how?

February 2023

  1. Waiting for PostgreSQL 16 – Add pg_stat_io view, providing more detailed IO statistics
  2. How to get a row, and all of it’s dependencies?
  3. Now you can \d table not only in psql :)
  4. When to use VACUUM FULL
  5. Waiting for PostgreSQL 16 – Allow underscores in integer and numeric constants.

January 2023

  1. Can you use fzf for psql history?
  2. Waiting for PostgreSQL 16 – Invent random_normal() to provide normally-distributed random numbers.

2022 34

December 2022

  1. Waiting for PostgreSQL 16 – Non-decimal integer literals
  2. Waiting for PostgreSQL 16 – Add grantable MAINTAIN privilege and pg_maintain role.
  3. Waiting for PostgreSQL 16 – Add test scaffolding for soft error reporting from input functions.

November 2022

  1. Picking random element, with weights
  2. Run a command every “x seconds”
  3. Waiting for PostgreSQL 16 – Add support for regexps on database and user entries in pg_hba.conf

September 2022

  1. Prettify SQL queries from command line
  2. What is LATERAL, what is it for, and how can one use it?
  3. SQL/JSON is postponed

August 2022

  1. New SQL pretty printer – based on parsing, and not regexps

July 2022

  1. Better scrolling of long explain plans on explain.depesz.com
  2. Understanding pg_stat_activity
  3. How to log selects from specific table?

April 2022

  1. Stop the war in Ukraine
  2. Waiting for PostgreSQL 15 – Documentation for SQL/JSON features
  3. Waiting for PostgreSQL 15 – JSON_TABLE
  4. DBA tips ‘n tricks – search in every field in a table
  5. Waiting for PostgreSQL 15 – SQL/JSON query functions
  6. Waiting for PostgreSQL 15 – IS JSON predicate

March 2022

  1. Waiting for PostgreSQL 15 – SQL/JSON constructors
  2. Waiting for PostgreSQL 15 – Add support for MERGE SQL command
  3. Waiting for PostgreSQL 15 – Add support for security invoker views.
  4. PGDayPL postponed…
  5. Is my autovacuum configured properly?
  6. New type of hints on explain.depesz.com
  7. How to index data with tsearch?

February 2022

  1. PGDayPL is coming :)
  2. explain.depesz.com – now with HINTS!
  3. How much disk space you can save by using INT4/INT instead of INT8/BIGINT?
  4. Waiting for PostgreSQL 15 – Allow archiving via loadable modules.
  5. Waiting for PostgreSQL 15 – Add UNIQUE null treatment option

January 2022

  1. Waiting for PostgreSQL 15 – Add HEADER support to COPY text format
  2. Waiting for PostgreSQL 15 – Introduce log_destination=jsonlog
  3. Configuration changes across Pg versions

2021 37

November 2021

  1. Waiting for PostgreSQL 15 – Add assorted new regexp_xxx SQL functions.
  2. Does varchar(n) use less disk space than varchar() or text?
  3. Waiting for PostgreSQL 15 – Allow publishing the tables of schema.

October 2021

  1. Why is it hard to automatically suggest what index to create?

September 2021

  1. Using recursive queries to get distinct elements from table
  2. Waiting for PostgreSQL 15 – Revoke PUBLIC CREATE from public schema, now owned by pg_database_owner.

August 2021

  1. How to get advisory lock in shell?
  2. New changes on explain.depesz.com – fixed calculations of exclusive times

July 2021

  1. Display “settings” from plans on explain.depesz.com
  2. How to get list of elements from multiranges?
  3. Buffers I/O information on explain.depesz.com

June 2021

  1. A tale of making company-wide standard psqlrc
  2. Explaining the unexplainable – part 6: buffers
  3. Many changes on explain.depesz.com

May 2021

  1. Million explain plans…

April 2021

  1. Getting value from dynamic column in pl/PgSQL triggers?
  2. Changes on explain.depesz.com – extracted query from auto-explain plans
  3. Waiting for PostgreSQL 14 – Add unistr function
  4. Waiting for PostgreSQL 14 – Add “pg_database_owner” default role.

March 2021

  1. Waiting for PostgreSQL 14 – Add date_bin function
  2. Waiting for PostgreSQL 14 – Allow configurable LZ4 TOAST compression.
  3. Starting with Pg – where are logs?
  4. Fixed display of Backward scans on explain.depesz.com
  5. Starting with Pg – where/how can I set configuration parameters?

February 2021

  1. explain.depesz.com – now with JITs
  2. Starting with Pg – where is the config?
  3. Why is there database named “postgres”?
  4. Waiting for PostgreSQL 14 – SEARCH and CYCLE clauses

January 2021

  1. How to run some tasks without user intervention, at specific times? – part 2
  2. Waiting for PostgreSQL 14 – Add pg_stat_database counters for sessions and session time
  3. Are there limits to partition counts?
  4. How to run some tasks without user intervention, at specific times?
  5. Waiting for PostgreSQL 14 – Add idle_session_timeout.
  6. Waiting for PostgreSQL 14 – Report progress of COPY commands
  7. How to limit rows to at most N per category – fix
  8. Fixes on why-upgrade.depesz.com
  9. Reconnecting to SSH servers

2020 38

December 2020

  1. How to install and configure PostgreSQL Debian/Ubuntu – for developer use – part 2
  2. How to install and configure PostgreSQL Debian/Ubuntu – for developer use – part 1
  3. Waiting for PostgreSQL 14 – Multirange datatypes
  4. Waiting for PostgreSQL 14 – pg_stat_statements: Track time at which all statistics were last reset.
  5. Waiting for PostgreSQL 14 – Allow subscripting of hstore values.

November 2020

  1. How to limit rows to at most N per category
  2. Waiting for PostgreSQL 14 – Provide the OR REPLACE option for CREATE TRIGGER.
  3. Waiting for PostgreSQL 14 – Support negative indexes in split_part().
  4. New functionality on explain.depesz.com

October 2020

  1. Waiting for PostgreSQL 14 – Support for OUT parameters in procedures
  2. Waiting for PostgreSQL 13 – psql: Display stats target of extended statistics

September 2020

  1. Waiting for PostgreSQL 13 – Support FETCH FIRST WITH TIES
  2. Waiting for PostgreSQL 14 – Add support for partitioned tables and indexes in REINDEX

August 2020

  1. Waiting for PostgreSQL 14 – Improvements for handling large number of connections
  2. Waiting for PostgreSQL 14 – pg_stat_statements: track number of rows processed by some utility commands.

July 2020

  1. You can now add query to your plan on explain.depesz.com
  2. Waiting for PostgreSQL 14 – Rename wal_keep_segments to wal_keep_size.

June 2020

  1. Changes on explain.depesz.com

April 2020

  1. Waiting for PostgreSQL 13 – Add logical replication support to replicate into partitioned tables
  2. Waiting for PostgreSQL 13 – Allow autovacuum to log WAL usage statistics.
  3. Waiting for PostgreSQL 13 – Add the option to report WAL usage in EXPLAIN and auto_explain.
  4. Changes on explain.depesz.com
  5. Waiting for PostgreSQL 13 – Allow pg_stat_statements to track planning statistics.

March 2020

  1. Waiting for PostgreSQL 13 – Enable BEFORE row-level triggers for partitioned tables
  2. Initial support for fixing of line-wrapped plans

February 2020

  1. Why I’m not fan of uuid datatype
  2. Fix for displaying aggregates on explain.depesz.com
  3. Which tables should be auto vacuumed or auto analyzed – UPDATE
  4. Waiting for PostgreSQL 13 – Add %x to default PROMPT1 and PROMPT2 in psql
  5. Waiting for PostgreSQL 13 – Add leader_pid to pg_stat_activity
  6. Shout out to heatonist.com

January 2020

  1. Which tables should be auto vacuumed or auto analyzed?
  2. Don’t do these things in PostgreSQL
  3. Waiting for PostgreSQL 13 – Add functions gcd() and lcm() for integer and numeric types.
  4. Nothing compares ….
  5. Waiting for PostgreSQL 13 – Allow vacuum command to process indexes in parallel.
  6. Waiting for PostgreSQL 13 – ALTER TABLE … ALTER COLUMN … DROP EXPRESSION
  7. Finally – fixed time calculations for parallel plans in explain.depesz.com

2019 32

December 2019

  1. How to efficiently dump PostgreSQL databases
  2. Changes on explain.depesz.com

November 2019

  1. Waiting for PostgreSQL 13 – Allow invisible PROMPT2 in psql.
  2. Waiting for PostgreSQL 13 – Introduce the ‘force’ option for the Drop Database command.
  3. Waiting for PostgreSQL 13 – Allow sampling of statements depending on duration
  4. More functions for json/yaml/xml plans on explain.depesz.com
  5. New Pg::Explain and explain.depesz.com

October 2019

  1. Waiting for PostgreSQL 13 – pgbench: add –partitions and –partition-method options.

September 2019

  1. How to run short ALTER TABLE without long locking concurrent queries
  2. Waiting for PostgreSQL 13 – Support for FF1-FF6 and SSSS datetime format patterns

July 2019

  1. Waiting for PostgreSQL 13 – Add support for –jobs in reindexdb

June 2019

  1. Changes on explain.depesz.com
  2. New shell_util to watch output in multiple tmux panes at once

May 2019

  1. How to play with upcoming, unreleased, PostgreSQL?
  2. Wait for program(s) in tmux panes to end…
  3. Waiting for PostgreSQL 12 – Allow VACUUM to be run with index cleanup disabled.

April 2019

  1. Waiting for PostgreSQL 12 – Add SETTINGS option to EXPLAIN, to print modified settings.
  2. Waiting for PostgreSQL 12 – Support foreign keys that reference partitioned tables
  3. Waiting for PostgreSQL 12 – Log all statements from a sample of transactions
  4. Waiting for PostgreSQL 12 – Report progress of CREATE INDEX operations
  5. Waiting for PostgreSQL 12 – Generated columns

March 2019

  1. Waiting for PostgreSQL 12 – REINDEX CONCURRENTLY
  2. Migrating simple table to partitioned. How?
  3. Waiting for PostgreSQL 12 – Partial implementation of SQL/JSON path language
  4. visual sleep in shell, and shell_utils repo information

February 2019

  1. Another change on why-upgrade.depesz.com – SEARCH!
  2. why-upgrade updates
  3. Waiting for PostgreSQL 12 – Allow user control of CTE materialization, and change the default behavior.
  4. Grouping values in shell
  5. Automation for doing stuff in multiple windows in tmux
  6. Converting list of integers into list of ranges
  7. Waiting for PostgreSQL 12 – Allow COPY FROM to filter data using WHERE conditions

2018 27

December 2018

  1. Waiting for PostgreSQL 12 – Add log_statement_sample_rate parameter

November 2018

  1. Waiting for PostgreSQL 12 – Add CSV table output mode in psql.
  2. Waiting for PostgreSQL 12 – Integrate recovery.conf into postgresql.conf
  3. Foreign Key to partitioned table – part 3

October 2018

  1. Foreign Key to partitioned table – part 2
  2. Waiting for PostgreSQL 12 – Add pg_partition_tree to display information about partitions
  3. Waiting for PostgreSQL 12 – Add pg_promote function
  4. Foreign Key to partitioned table

September 2018

  1. pg_terminator released

August 2018

  1. Waiting for PostgreSQL 12 – Allow multi-inserts during COPY into a partitioned table

July 2018

  1. I’m starting my wait for PostgreSQL 12

June 2018

  1. Waiting for PostgreSQL 11 – Improve run-time partition pruning to handle any stable expression.
  2. Projects migrated

May 2018

  1. Waiting for PostgreSQL 11 – Support partition pruning at execution time

April 2018

  1. Waiting for PostgreSQL 11 – Indexes with INCLUDE columns and their support in B-tree
  2. Waiting for PostgreSQL 11 – Add json(b)_to_tsvector function
  3. Waiting for PostgreSQL 11 – Transforms for jsonb to PL/Python and to PL/Perl
  4. paste.depesz.com is back (for good?)
  5. Waiting for PostgreSQL 11 – MERGE SQL Command following SQL:2016
  6. Waiting for PostgreSQL 11 – Fast ALTER TABLE ADD COLUMN with a non-NULL default

March 2018

  1. paste.depesz.com is no more

February 2018

  1. What is the benefit of upgrading PostgreSQL?
  2. Which schema is using the most disk space?
  3. Waiting for PostgreSQL 11 – Support all SQL:2011 options for window frame clauses.
  4. Waiting for PostgreSQL 11 – Support parallel btree index builds.
  5. Fix for parallel scans on explain.depesz.com

January 2018

  1. Waiting for PostgreSQL 11 – Allow UPDATE to move rows between partitions.

2017 25

November 2017

  1. Changes on explain.depesz.com
  2. Waiting for PostgreSQL 11 – Add hash partitioning.

September 2017

  1. Waiting for PostgreSQL 11 – Add psql variables to track success/failure of SQL queries.
  2. Waiting for PostgreSQL 11 – Add \gdesc psql command.

August 2017

  1. New functions in versioning

July 2017

  1. How to make sure there is always at least one “sub” record?

June 2017

  1. explain.depesz.com, paste.depesz.com – TOR announcement and some updates
  2. Waiting for PostgreSQL 10 – Implement syntax for transition tables in AFTER triggers.

May 2017

  1. New change on explain.depesz.com
  2. Waiting for PostgreSQL 10 – Implement multivariate n-distinct coefficients

April 2017

  1. Waiting for PostgreSQL 10 – Support SCRAM-SHA-256 authentication (RFC 5802 and 7677).
  2. Waiting for PostgreSQL 10 – Identity columns
  3. Waiting for PostgreSQL 10 – Full Text Search support for json and jsonb
  4. Waiting for PostgreSQL 10 – Support \if … \elif … \else … \endif in psql scripting.
  5. Waiting for PostgreSQL 10 – Logical replication support for initial data copy

March 2017

  1. Waiting for PostgreSQL 10 – hash indexing vs. WAL
  2. Waiting for PostgreSQL 10 – Support XMLTABLE query expression
  3. Waiting for PostgreSQL 10 – psql: Add \gx command

February 2017

  1. A way to share SQL queries – paste.depesz.com
  2. Getting first and last values per group
  3. Why does “sudo ls -l /proc/1/fd/*” fail?
  4. Waiting for PostgreSQL 10 – Logical replication
  5. Waiting for PostgreSQL 10 – Add pg_sequence system catalog
  6. Generate short, random, textual IDs
  7. Waiting for PostgreSQL 10 – Implement table partitioning.

2016 28

November 2016

  1. Major-version upgrading with minimal downtime

October 2016

  1. Waiting for PostgreSQL 10 – postgres_fdw: Push down aggregates to remote servers.
  2. Waiting for PostgreSQL 10 – Rename “pg_xlog” directory to “pg_wal”.

September 2016

  1. Missing waiting for …. ?

July 2016

  1. Getting list of unique elements in table, per group

June 2016

  1. What’s happening in my database?
  2. Incrementing counters in database

May 2016

  1. The hard math of killing zombies in Zombicide
  2. Picking task from queue – revisit

April 2016

  1. Waiting for 9.6 – Support \crosstabview in psql
  2. Waiting for 9.6 – Phrase full text search.
  3. Waiting for 9.6 – Add a \gexec command to psql for evaluation of computed queries.
  4. Waiting for 9.6 – Bloom index contrib module
  5. Change on explain.depesz.com

March 2016

  1. Waiting for 9.6 – Support parallel aggregation.
  2. Waiting for 9.6 – Directly modify foreign tables.
  3. Waiting for 9.6 – Add idle_in_transaction_session_timeout.
  4. Waiting for 9.6 – Add simple VACUUM progress reporting.
  5. Waiting for 9.6 – Tsvector editing functions
  6. Waiting for 9.6 – Add a generic command progress reporting facility.

February 2016

  1. Waiting for 9.6 – Add new system view, pg_config
  2. Waiting for 9.6 – Remove GROUP BY columns that are functionally dependent on other columns.
  3. explain.depesz.com – new change and some stats
  4. Waiting for 9.6 – Add num_nulls() and num_nonnulls() to count NULL arguments.
  5. Waiting for 9.6 – Add trigonometric functions that work in degrees.
  6. Waiting for 9.6 – Support parallel joins, and make related improvements.

January 2016

  1. Waiting for 9.6 – Allow to omit boundaries in array subscript
  2. Waiting for 9.6 – Cube extension kNN support

2015 47

December 2015

  1. Waiting for 9.6 – Allow EXPLAIN (ANALYZE, VERBOSE) to display per-worker statistics.
  2. Waiting for 9.6 – psql: Support multiple -c and -f options, and allow mixing them.
  3. Grouping data by timestamp and interval

November 2015

  1. Waiting for 9.6 – Generate parallel sequential scan plans in simple cases.
  2. Waiting for 9.6 – Implement lookbehind constraints in our regular-expression engine.

October 2015

  1. Is C faster for (instagram-style) ID generation?
  2. explain.depesz.com changes and new stats
  3. Waiting for 9.6 – Add CASCADE support for CREATE EXTENSION.
  4. Converting Logical Volume so that it’s striped

September 2015

  1. Waiting for 9.6 – Allow per-tablespace effective_io_concurrency
  2. Waiting for 9.6 – Add log_line_prefix option ‘n’ for Unix epoch.
  3. Waiting for 9.6 – Allow usage of huge maintenance_work_mem for GIN build.
  4. Hypothetical indexes

August 2015

  1. Waiting for 9.6 – Add IF NOT EXISTS processing to ALTER TABLE ADD COLUMN
  2. Waiting for 9.6 – Add new function pg_notification_queue_usage.
  3. Waiting for 9.6 – Add psql PROMPT variable showing the pid of the connected to backend.

July 2015

  1. Waiting for 9.6 – Add psql \ev and \sv commands for editing and showing view definitions.

June 2015

  1. Partitioning – what? why? how?
  2. Filling in the blanks
  3. Waiting for 9.5 – Rename jsonb_replace to jsonb_set and allow it to add new values
  4. New functionality on explain.depesz.com, and some statistics

May 2015

  1. Waiting for 9.5 – Support GROUPING SETS, CUBE and ROLLUP.
  2. Waiting for 9.5 – TABLESAMPLE, SQL Standard and extensible
  3. Waiting for 9.5 – Add pg_audit, an auditing extension
  4. Waiting for 9.5 – Add pg_settings.pending_restart column
  5. Waiting for 9.5 – Additional functions and operators for jsonb
  6. Waiting for 9.5 – Add system view pg_stat_ssl
  7. How to setup SSL connections and authentication?
  8. Waiting for 9.5 – Add support for INSERT … ON CONFLICT DO NOTHING/UPDATE.
  9. Waiting for 9.5 – Add transforms feature

April 2015

  1. Waiting for 9.5 – Reduce lock levels of some trigger DDL and add FKs
  2. Waiting for 9.5 – psql: add asciidoc output format
  3. Waiting for 9.5 – Add stats for min, max, mean, stddev times to pg_stat_statements.
  4. Waiting for 9.5 – Add support for index-only scans in GiST.
  5. Waiting for 9.5 – Add pg_rewind, for re-synchronizing a master server after failback.
  6. Waiting for 9.5 – Allow foreign tables to participate in inheritance. – A.K.A. PostgreSQL got sharding.
  7. Waiting for 9.5 – Use 128-bit math to accelerate some aggregation functions.

March 2015

  1. Waiting for 9.5 – array_offset() and array_offsets()

February 2015

  1. How to pg_upgrade …
  2. Waiting for 9.5 – Replace checkpoint_segments with min_wal_size and max_wal_size.
  3. I have PostgreSQL, loaded some data, and have app using it. Now what?
  4. Returning data in multiple columns
  5. Fixed a bug in OmniPITR

January 2015

  1. Waiting for 9.5 – Use abbreviated keys for faster sorting of text datums.
  2. Waiting for 9.5 – vacuumdb: enable parallel mode
  3. Reloading of Perl script while it’s running
  4. Changes in explain.depesz.com

2014 46

December 2014

  1. Waiting for 9.5 – Add point <-> polygon distance operator.
  2. Waiting for 9.5 – REINDEX SCHEMA
  3. Waiting for 9.5 – Event Trigger for table_rewrite
  4. How much slower are numerics?

November 2014

  1. My personal PostgreSQL Wish List
  2. Waiting for 9.5 – Support arrays as input to array_agg() and ARRAY(SELECT …).
  3. Waiting for 9.5 – Add generate_series(numeric, numeric).
  4. Zombicide – pilot rescue
  5. Waiting for 9.5 – BRIN: Block Range Indexes.
  6. How to install your own copy of explain.depesz.com
  7. Changes on explain.depesz.com

October 2014

  1. PostgreSQL + Perl + Unicode == confusion. Why?
  2. What logging has least overhead?
  3. Waiting for 9.5 – Implement SKIP LOCKED for row-level locks
  4. Waiting for 9.5 – Row-Level Security Policies (RLS)

September 2014

  1. Waiting for 9.5 – Add width_bucket(anyelement, anyarray).
  2. Waiting for 9.5 – Add psql PROMPT variable showing which line of a statement is being edited.
  3. Waiting for 9.5 – Support ALTER SYSTEM RESET command.
  4. Waiting for 9.5 – Add min and max aggregates for inet/cidr data types.
  5. Waiting for 9.5 – Implement ALTER TABLE .. SET LOGGED / UNLOGGED

July 2014

  1. Waiting for 9.5 – psql: Show tablespace size in \db+
  2. Waiting for 9.5 – Implement IMPORT FOREIGN SCHEMA.
  3. Waiting for 9.5 – Add cluster_name GUC which is included in process titles if set.

June 2014

  1. Waiting for 9.5 – Implement UPDATE tab SET (col1,col2,…) = (SELECT …), …
  2. Anonymize CTE names on explain.depesz.com

May 2014

  1. Joining BTree and GIN/GiST indexes
  2. Waiting for 9.4 – Add support for wrapping to psql’s “extended” mode.

April 2014

  1. Waiting for 9.4 – Provide moving-aggregate support for a bunch of aggregates.
  2. How to deal with timestamps?

March 2014

  1. Waiting for 9.4 – Introduce jsonb, a structured format for storing json.
  2. Waiting for 9.4 – auto_explain: Add logging of trigger execution
  3. Waiting for 9.4 – Constructors for interval, timestamp, timestamptz
  4. Waiting for 9.4 – Introduce logical decoding
  5. Waiting for 9.4 – Allow BASE_BACKUP to be throttled
  6. Waiting for 9.4 – pg_basebackup: Add support for relocating tablespaces

February 2014

  1. Waiting for 9.4 – Include planning time in EXPLAIN ANALYZE output.

January 2014

  1. Waiting for 9.4 – Add json_array_elements_text function.
  2. Waiting for 9.4 – New json functions.
  3. Getting count of distinct elements, per group, in PostgreSQL.
  4. Waiting for 9.4 – Add pg_stat_archiver statistics view.
  5. Waiting for 9.4 – Add recovery_target=’immediate’ option.
  6. Waiting for 9.4 – Tablespace changes
  7. I did my part :)
  8. Waiting for 9.4 – Support ordered-set (WITHIN GROUP) aggregates.
  9. Waiting for 9.4 – pg_prewarm, a contrib module for prewarming relationd data.
  10. Waiting for 9.4 – Add ALTER SYSTEM command to edit the server configuration file.

2013 51

December 2013

  1. OmniPITR 1.3.2
  2. Waiting for 9.4 – Allow time delayed standbys and recovery
  3. Waiting for 9.4 – Improve EXPLAIN to print the grouping columns in Agg and Group nodes.
  4. Waiting for 9.4 – PL/Perl: Add event trigger support
  5. OmniPITR 1.3.1
  6. Waiting for 9.4 – Add new wal_level, logical, sufficient for logical decoding.
  7. OmniPITR 1.3.0
  8. What does “Fix VACUUM’s tests to see whether it can update relfrozenxid” really mean?

November 2013

  1. Waiting for 9.4 – Support multi-argument UNNEST(), and TABLE() syntax for multiple functions.
  2. Waiting for 9.4 – Add tab completion for \pset in psql.

October 2013

  1. explain.depesz.com – update, new (great!) feature
  2. Bloat removal without table swapping
  3. Waiting for 9.4 – psql: Make \pset without arguments show all settings.

September 2013

  1. How to make backups of PostgreSQL?
  2. What is the overhead of logging?

August 2013

  1. Pick a task to work on
  2. OmniPITR v1.2.0 released

July 2013

  1. Waiting for 9.4 – WITH CHECK OPTION support for auto-updatable VIEWs
  2. Waiting for 9.4 – Add SQL Standard WITH ORDINALITY support for UNNEST (and any other SRF)
  3. Waiting for 9.4 – Implement the FILTER clause for aggregate function calls.
  4. Waiting for 9.4 – Add support for REFRESH MATERIALIZED VIEW CONCURRENTLY.

June 2013

  1. Waiting for 9.4 – ALTER TABLE … ALTER CONSTRAINT for FKs
  2. Bloat removal by tuples moving
  3. Sprzedam Toyote GT86, prawie nówka, 4 miesiące, bezwypadkowa

May 2013

  1. Explaining the unexplainable – part 5
  2. Explaining the unexplainable – part 4
  3. A tale of automating tests of Pg with Bash
  4. Explaining the unexplainable – part 3

April 2013

  1. Explaining the unexplainable – part 2
  2. Win a book contest – PostgreSQL Backup and Restore How-to
  3. Explaining the unexplainable
  4. Waiting for 9.3 – Support indexing of regular-expression searches in contrib/pg_trgm.
  5. Waiting for 9.3 – Add \watch [SEC] command to psql.
  6. New OmniPITR release

March 2013

  1. Changes on explain.depesz.com
  2. Waiting for 9.3 – Add new JSON processing functions and parser API.
  3. Waiting for 9.3 – Add parallel pg_dump option.
  4. Waiting for 9.3 – Support writable foreign tables.
  5. Waiting for 9.3 – Report pg_hba line number and contents when users fail to log in
  6. Waiting for 9.3 – JSON generation improvements.
  7. Waiting for 9.3 – Provide database object names as separate fields in error messages.
  8. Parallel dumping of databases
  9. Waiting for 9.3 – Add a materialized view relations.
  10. Waiting for 9.3 – Add CREATE RECURSIVE VIEW syntax

February 2013

  1. Waiting for 9.3 – Add support for piping COPY to/from an external program.
  2. Variables in SQL, what, how, when?
  3. Waiting for 9.3 – Create a psql command \gset to store query results into psql variables

January 2013

  1. Jak obsłużyć klienta, na przykładzie firmy Kurtmedia
  2. Adding plans to explain.depesz.com from your psql
  3. Index on (a,b) vs. (b,a)?
  4. Waiting for 9.3 – pg_isready

2012 52

December 2012

  1. Command line tools? In XXI century? No way! Yes way!
  2. Waiting for 9.3 – Allow a streaming replication standby to follow a timeline switch.
  3. Waiting for 9.3 – Support automatically-updatable views.
  4. CuTE overload
  5. Waiting for 9.3 – Background worker processes
  6. What is the point of bouncing?

November 2012

  1. Window, window on the wall …
  2. How I Learned to Stop Worrying and Love the Triggers
  3. Changes on explain.depesz.com
  4. Birthday cake again

October 2012

  1. Tips N’ Tricks – Running your queries from within Vim
  2. Getting top-N rows per group

September 2012

  1. Concurrent REINDEX of all indexes in database
  2. Why I like tmux?

August 2012

  1. Filling the gaps with window functions
  2. Waiting for 9.3 – Implement SQL-standard LATERAL subqueries.
  3. “PostgreSQL: Up and Running” by Regina Obe and Leo Hsu

July 2012

  1. Pg::SQL::Parser
  2. Waiting for 9.3 – Event triggers
  3. Waiting for 9.3 – Add array_remove() and array_replace() functions.
  4. Waiting for 9.3 – Dramatically reduce System V shared memory consumption.
  5. Changes on explain.depesz.com
  6. OmniPITR 1.0.0 released

June 2012

  1. How to get shortest connection between two cities
  2. How to send mail from database?
  3. Why is UPSERT so complicated?
  4. How much RAM is PostgreSQL using?
  5. “= 123″ vs. “= ‘depesz’” – followup
  6. “= 123” vs. “= ‘depesz'”. What is faster?

May 2012

  1. OmniPITR 0.7.0

April 2012

  1. OmniPITR 0.6.0
  2. Waiting for 9.2 – DROP INDEX CONCURRENTLY
  3. Let’s talk dirty
  4. Szukam webmastera [polish only]

March 2012

  1. Request for help with Python/Flask – Prośba o pomoc z Pythonem/Flaskiem
  2. Waiting for 9.2 – pg_stat_statements improvements
  3. OmniPITR 0.5.0

February 2012

  1. Waiting for 9.2 – More rewrite-less ALTER TABLE ALTER TYPEs
  2. Waiting for 9.2 – EXPLAIN TIMING
  3. Waiting for 9.2 – Named parameters in SQL functions
  4. Waiting for 9.2 – JSON
  5. Waiting for 9.2 – deadlock counter
  6. Waiting for 9.2 – temporary file stats per database
  7. Waiting for 9.2 – pg_basebackup from slave
  8. Waiting for 9.2 – Trigger Depth
  9. Waiting for 9.2 – ALTER IF EXISTS

January 2012

  1. Change in anonymization of plans on explain.depesz.com
  2. Some new tools for PostgreSQL or around PostgreSQL
  3. Waiting for 9.2 – split of current_query in pg_stat_activity
  4. Waiting for 9.2 – NULLS from pg_*_size() functions
  5. What is the point of social sites? / Do czego służą serwisy społecznościowe?
  6. OmniPITR 0.3.0

2011 60

December 2011

  1. Tips N’ Tricks – getting sizes of relations without locks
  2. r/trees ( recursive trees, what did you think about? )
  3. Waiting for 9.2 – excluding data of table from dump
  4. Louis CK – live at the Beacon Theater
  5. The secret ingredient in the webscale sauce

November 2011

  1. I never got this far :(
  2. OmniPITR 0.2.0
  3. Birthday cake
  4. Waiting for 9.2 – Range data types

October 2011

  1. Maldives
  2. “Help me” summary / Vacation
  3. Waiting for 9.2 – Index only scans

September 2011

  1. What index to create?
  2. Waiting for 9.2 – filtered info in explain analyze
  3. Najlepszy serial wszech czasów [polish only]
  4. Ford? Ford! – polish only
  5. New project – Curo

July 2011

  1. Waiting for 9.2 – cascading streaming replication
  2. “Help me” summary after a month
  3. Waiting for 9.2 – Stacked Diagnostics in PL/pgSQL
  4. Waiting for 9.2 – Avoiding reindexing on alter type of indexed column
  5. T-Mobile zadba o Twoją prywatność?
  6. Write Ahead Log + Understanding postgresql.conf: checkpoint_segments, checkpoint_timeout, checkpoint_warning
  7. explain.depesz.com update
  8. Wish list for psql
  9. Waiting for 9.2 – relative paths in psql
  10. Bloat happens
  11. Understanding postgresql.conf : work_mem

June 2011

  1. Waiting for 9.2 – NOT VALID CHECKS
  2. Why is “depesz” between “de luca” and “de vil”?
  3. How to let clients to create new users?
  4. Waiting for 9.1 – final post
  5. explain.depesz.com – new feature and some new stats
  6. OmniPITR – important update

May 2011

  1. Pagination with fixed order
  2. Understanding postgresql.conf : log*
  3. Tips n’ Tricks – return nothing from PL/PgSQL function

April 2011

  1. Find cheapest combination of rooms in hotels

March 2011

  1. Big changes on explain.depesz.com
  2. Waiting for 9.1 – Synchronous replication
  3. Waiting for 9.1 – Writable CTE
  4. explain.depesz.com version 2.0
  5. Waiting for 9.1 – Foreign data wrapper
  6. Waiting for 9.1 – Transaction level advisory locks
  7. Waiting for 9.1 – Arrays in PL/Perl
  8. Waiting for 9.1 – FOREACH IN ARRAY
  9. Waiting for 9.1 – Rewrite-less changing types of column
  10. Waiting for 9.1 – pg_ctl promote
  11. Waiting for 9.1 – Per-column collation support
  12. Waiting for 9.1 – stats reset tracking
  13. Waiting for 9.1 – EXTENSIONS

February 2011

  1. Waiting for 9.1 – INVALID FOREIGN KEYS
  2. Waiting for 9.1 – Faster LIKE/ILIKE
  3. Waiting for 9.1 – Add UNIQUE/PRIMARY KEY with index
  4. OmniPITR – update

January 2011

  1. Waiting for 9.1 – sepgsql
  2. Waiting for 9.1 – pg_basebackup
  3. Waiting for 9.1 – pg_stat_replication
  4. Tablespaces support for omnipitr-backup-*
  5. Waiting for 9.1 – Unlogged tables

2010 74

December 2010

  1. Two years of explain.depesz.com
  2. A tale of slow ssh connections
  3. Waiting for 9.1 – KNNGIST
  4. Named interfaces for OpenVPN and Cisco VPN
  5. Auto refreshing password file for pgbouncer

November 2010

  1. Waiting for 9.1 – auth_delay
  2. Waiting for 9.1 – format()
  3. Waiting for 9.1 – Removed autocast footgun
  4. Understanding postgresql.conf : checkpoint_completion_target
  5. What would Roy Merritt do?

October 2010

  1. Waiting for 9.1 – adding values to enums
  2. Waiting for 9.1 – Suffix matching in pg_hba.conf
  3. Grouping data into time ranges
  4. Reduce bloat of table without long/exclusive locks
  5. Why I’m not fan of TSearch?
  6. Waiting for 9.1 – hostnames in pg_hba.conf
  7. Waiting for 9.1 – triggers on views
  8. Waiting for 9.1 – ALTER TYPE
  9. Obsługa klienta (polish only)
  10. Performance gains from using foreign keys

September 2010

  1. Faking “From ” header with procmail/formail
  2. How to group messages into chats?
  3. Why is my index not being used?

August 2010

  1. Tips N’ Tricks – using GNU Screen as shell
  2. Waiting for 9.1 – concat, concat_ws, right, left, reverse
  3. How to manage changes to your database?
  4. OmniPITR – hot backup on slave
  5. Eksperymenty kuchenne – polish only
  6. Waiting for 9.1 – Recognize functional dependency on primary keys.
  7. Waiting for 9.1 – Reduced lock levels for ALTER TABLE
  8. How to make sure you will not get any help on IRC

July 2010

  1. Waiting for 9.1 – CREATE TABLE IF NOT EXISTS
  2. How to order by some random – query defined – values?
  3. Logging queries – how?
  4. Waiting for 9.1 – \conninfo in psql
  5. Waiting for 9.1 – standard_conforming_strings = on
  6. Waiting for 9.0 – Final Post ?

June 2010

  1. OmniPITR – update
  2. Should you use HASH index?
  3. Tips N’ Tricks – looking for value in all columns of a table
  4. Dream wishlist for 9.1
  5. Test driven development for PostgreSQL
  6. To rule or not to rule – that is the question
  7. OmniPITR

May 2010

  1. Frontem do klienta – merlin.pl (polish only)
  2. What mistakes you can avoid when looking for help on IRC?
  3. Waiting for 9.0 – pg_upgrade
  4. Tips n’ tricks – rank on changes
  5. Co mnie wkurza w serwisach WWW [polish only]

April 2010

  1. Stupid tricks – hiding value of column in select *
  2. Getting unique elements
  3. Tips n’ Tricks – using “wrong” index
  4. How to remove backups?

March 2010

  1. Profiling stored procedures/functions
  2. Setting WAL Replication
  3. Stupid tricks – Dynamic updates of fields in NEW in PL/pgSQL
  4. ERROR: invalid byte sequence for encoding
  5. CHAR(x) vs. VARCHAR(x) vs. VARCHAR vs. TEXT – UPDATED 2010-03-03

February 2010

  1. Installing PostgreSQL
  2. Waiting for 9.0 – extended frames for window functions
  3. Waiting for 9.0 – string_agg
  4. Waiting for 9.0 – removal of 0000000001.history check
  5. Waiting for 9.0 – table and index sizes

January 2010

  1. Waiting for 9.0 – Streaming replication
  2. Waiting for … 9.0
  3. I just *HATE* Hardware Abstraction Layer
  4. explain.depesz.com – stats after a year
  5. Waiting for 8.5 – VACUUM FULL change
  6. Waiting for 8.5 – Hot Standby
  7. Waiting for 8.5 – PL/pgSQL by default
  8. Waiting for 8.5 – ordered aggregates
  9. Waiting for 8.5 – buffers info for explain
  10. Waiting for 8.5 – exclusion constraints
  11. Waiting for 8.5 – PL/Perl DO

2009 57

December 2009

  1. Waiting for 8.5 – Application name reporting
  2. Waiting for 8.5 – better wrapped output in psql
  3. Waiting for 8.5 – conditional triggers
  4. Waiting for 8.5 – checking password strength
  5. Waiting for 8.5 – PL/pgSQL variable resolution

November 2009

  1. Waiting for 8.5 – TRIGGERS on columns
  2. Waiting for 8.5 – Named function arguments
  3. Waiting for 8.5 – GUC per user and database
  4. Waiting for 8.5 – “GRANT ALL”
  5. Waiting for 8.5 – ‘samehost’ and ‘samenet’ in pg_hba.conf
  6. Waiting for 8.5 – DO

October 2009

  1. Czemu jestem taki ułomny? (wylgaryzmy, polish only)
  2. Calculating backlog of events to handle
  3. Koniec romansu ( polish only )
  4. Waiting for 8.5 – changes in hstore
  5. Waiting for 8.5 – MOVE {FORWARD,BACKWARD} X
  6. Weather where I live

September 2009

  1. Speeding up dump/restore process
  2. [polish only] Historia ku pamięci … – aktualizacja
  3. CREATE ROLE privilege cannot be inherited?!
  4. Getting random interfacelift wallpaper

August 2009

  1. Waiting for 8.5 – Machine readable EXPLAIN
  2. Waiting for 8.5 – Multi-threaded pgbench
  3. Getting session variables without touching postgresql.conf
  4. Waiting for 8.5 – hinting for number of distinct values
  5. Waiting for 8.5 – better messages for unique violation
  6. Waiting for 8.5 – deferrable uniqueness

July 2009

  1. 1000 posts
  2. Waiting for 8.5 – pgsql: DROP IF EXISTS for columns and constraints.
  3. Calculating median
  4. Slow vim startup
  5. Getting list of unique elements
  6. bf hacking for “fun” and definitely no profit
  7. Waiting for 8.5 – Add log_line_prefix placeholder %e to contain the current SQL state
  8. Waiting for 8.5 – Have \d show child tables that inherit from the specified parent
  9. Waiting for 8.5 – let’s start

June 2009

  1. explain.depesz.com – update
  2. Tips N’ Tricks – Generating readable reports with plain SQL
  3. explain.depesz.com – update

May 2009

  1. explain.depesz.com – update
  2. explain.depesz.com – update
  3. pgsql-tools/analyze.pgsql.logs.pl

April 2009

  1. Waiting for 8.4 – final post (?)
  2. Learning POE: HTTP-2-MUD proxy
  3. pgsql-tools/analyze.pgsql.logs.pl

March 2009

  1. Getting list of all children in “adjacency list” tree structure
  2. Waiting for 8.4 – no more -d in pg_dump!
  3. Set operations in shell
  4. How to find newest file with given name?

February 2009

  1. find.best.tablespace.split.pl
  2. lpad() and rpad() gotcha
  3. Waiting for 8.4 – parallel restoration of dumps

January 2009

  1. Waiting for 8.4 – column level privileges.
  2. Waiting for 8.4 – window functions
  3. Waiting for 8.4 – pg_stat_statements
  4. Waiting for 8.4 – remove system objects from \dX
  5. Maintainable queries – my point of view

2008 102

December 2008

  1. Waiting for 8.4 – Window Functions – teaser
  2. explain.depesz.com – update
  3. Waiting for 8.4 – Default values for function arguments + integer in any base
  4. Waiting for 8.4 – Visibility maps
  5. explain.depesz.com.

November 2008

  1. Getting list of most common domains
  2. Recovering from a lost PostgreSQL password.
  3. depesz kocha ubezpieczycieli
  4. Waiting for 8.4 – TABLE
  5. Waiting for 8.4 – auto-explain
  6. Designing database for storing human-human relations
  7. Waiting for 8.4 – array aggregate and array unpacker
  8. Waiting for 8.4 – suppress_redundant_updates_trigger
  9. Waiting for 8.4 – sql-wrappable RETURNING
  10. Waiting for 8.4 – pl/* srf functions in selects

October 2008

  1. Tips N’ Tricks – setting field based on order
  2. Is there any good versioning package for database schema and/or data?
  3. Text comparisons that does automatic trim()
  4. Tips N’ Tricks – count of all and just some
  5. Waiting for 8.4 – Common Table Expressions (WITH queries)
  6. Deserialization of hstore data structure in Perl
  7. Waiting for 8.4 – new FSM (Free Space Map)

September 2008

  1. depesz vs. ubezpieczyciel (polish only)
  2. Waiting for 8.4 – database-level lc_collation and lc_ctype
  3. CitiBank – frontem do klienta (polish only)
  4. Getting record by 2 criteria, ordered by third – how to do it quickly?
  5. Waiting for 8.4 – pgbench with timed execution
  6. pgsql-tools/analyze.pgsql.logs.pl
  7. Waiting for 8.4 – ordered data loading in pg_dump
  8. pgsql-tools/analyze.pgsql.logs.pl
  9. Waiting for 8.4 – \ef in psql

August 2008

  1. Hunting “idle in transactions”
  2. NULLs vs. NOT IN()
  3. Waiting for 8.4 – case insensitive text ( citext )
  4. Waiting for 8.4 – UNION / INTERSECT / EXCEPT
  5. Removing elements from arrays
  6. Waiting for 8.4 – hash based DISTINCT
  7. Waiting for 8.4 – RETURNS TABLE
  8. Writing sprintf, and overcoming limitations in pl/perl

July 2008

  1. Waiting for 8.4 – variadic functions
  2. Waiting for 8.4 – storage types for table columns
  3. Waiting for 8.4 – sequence details
  4. Lack of new posts
  5. Suppressing CONTEXT lines in psql
  6. Who/what is trashing db performance?

June 2008

  1. Conditional DDL?
  2. Waiting for 8.4 – timing on/off
  3. pgsql-tools/analyze.pgsql.logs.pl
  4. pgsql-tools/analyze.pgsql.logs.pl

May 2008

  1. pgsql-tools/analyze.pgsql.logs.pl
  2. Counting number of distinct elements
  3. Silencing \commands in .psqlrc
  4. Waiting for 8.4 – partial-match support in GIN, and sequence restart
  5. Waiting for 8.4 – CASE in pl/PgSQL
  6. Waiting for 8.4 – function stats
  7. Waiting for 8.4 – pl/PgSQL RAISE
  8. Prepared statements gotcha
  9. Waiting for 8.4 – psql vs. tabs + wrapped output
  10. MySQL’s timestamp in PostgreSQL
  11. “ERROR: operator does not exist: integer = text” how to fix it?
  12. Waiting for 8.4 – pg_conf_load_time, time-related generate_series and enum values in \dT+
  13. Waiting for 8.4 – RETURN QUERY EXECUTE and cursor_tuple_fraction
  14. Waiting for 8.4 – \o and \d+ in psql
  15. What does “success” mean to You?

April 2008

  1. Waiting for 8.4 – generate_subscripts
  2. Polish TSearch in 8.3 (polski tsearch w postgresie 8.3)
  3. Waiting for 8.4 – “EXPLAIN VERBOSE”
  4. do you know crontab?
  5. My take on trees in SQL
  6. postgresql @ highscalability.com
  7. waiting for 8.4 – current_query()
  8. waiting for 8.4

March 2008

  1. waiting for 8.4
  2. keyboard shortcuts in psql
  3. using separate environments for people using single account
  4. waiting for 8.4
  5. smtp + sql = more than it seems so (part 9)
  6. waiting for pg 8.4
  7. waiting for pg 8.4
  8. unix crontab and longest interval
  9. projektowanie stron przy pomocy screenshotów z innego serwisu
  10. getting multiple values from sequences
  11. smtp + sql = more than it seems so (part 8)
  12. smtp + sql = more than it seems so (part 7)
  13. waiting for pg 8.4
  14. smtp + sql = more than it seems so (part 6)
  15. searching for longest prefix

February 2008

  1. smtp + sql = more than it seems so (part 5)
  2. smtp + sql = more than it seems so (part 4)
  3. waiting for pg 8.4
  4. smtp + sql = more than it seems so (part 3)
  5. failing ls ?
  6. Vimrc
  7. smtp + sql = more than it seems so (part 2)
  8. pgsql-tools/analyze.pgsql.logs.pl
  9. smtp + sql = more than it seems so (part 1)
  10. it’s coming, it’s coming, it’s here, have no fear

January 2008

  1. zastanawiająca popularność wulgaryzmów [polish only]
  2. avoiding “empty” updates – part2
  3. how to check if given update is from trigger or why i hate orms?
  4. pgsql-tools/analyze.pgsql.logs.pl
  5. ed2k checksumming

2007 316

December 2007

  1. how many 1sts of any month were sundays – since 1901-01-01?
  2. shared buffers and their impact on performance

November 2007

  1. time ranges in postgresql – part 2
  2. find overlapping time ranges
  3. pgsql-tools/analyze.pgsql.logs.pl
  4. pgsql-tools/analyze.pgsql.logs.pl
  5. overprotective developers
  6. pgsql-tools/analyze.pgsql.logs.pl
  7. encrypted passwords in database
  8. text to hstore migration

October 2007

  1. glasbergen for today
  2. what should be fixed in postgresql
  3. auta.cc otwarte (polish only)
  4. who has birthday tomorrow?
  5. i just “love” locale issues.
  6. grant XXX on * ?
  7. find.best.tablespace.split.pl
  8. finding missing pairs
  9. pgsql-tools/analyze.pgsql.logs.pl
  10. “FATAL: Ident authentication failed”, or how cool ideas get bad usage schemas
  11. motto na dziś: przed nami tylko wzrost.

September 2007

  1. mbank frontem do klienta [polish only]
  2. finding optimum tables placement in 2-tablespace situation
  3. analyze.pgsql.logs / pgsql-tools
  4. easy access to postgresql documentation from firefox
  5. dell powervault md1000 – storage test
  6. what fields are usually changed when update’ing?
  7. copy to existing table with updates?
  8. postgresql tips & tricks
  9. while + ssh = ?
  10. how to remove duplicated rows?
  11. my thoughts on getting random row
  12. speeding up like ‘%xxx%’
  13. objects in categories – counters with triggers
  14. new versions are coming
  15. 31337 vision express / super optyk [polish only]
  16. avoiding “empty” updates
  17. analyze.pgsql.logs
  18. (postgre)sql gotchas
  19. indexable “field like ‘%something'” – update
  20. how many transactions per second?

August 2007

  1. postgresql tips & tricks
  2. better results paging in postgresql 8.2
  3. postgresql tips & tricks
  4. łosoś w sake [polish only]
  5. analyze.pgsql.logs
  6. effective finding queries to optimize
  7. securing your postgresql database
  8. rownum anyone? cumulative sum in one query?
  9. “hacking” with postgresql
  10. psql prompt issue
  11. Log Buffer #57: a Carnival of the Vanities for DBAs
  12. simple howto about restoring damaged template1
  13. better explain analyze
  14. set returning functions in 8.3

July 2007

  1. indexable ” field like ‘%something'”
  2. update account set password = ‘new_password’; oops?!
  3. migrating live system from single-disk to raid1
  4. postgresql tips & tricks
  5. londiste – simple replication system for postgresql
  6. cumulative sum in sql – howto part2
  7. cumulative sum in sql – howto
  8. how to insert data to database – as fast as possible
  9. looking for hosting
  10. drzewa w sql’u – ltree
  11. drzewa w sql’u – metoda pełnych ścieżek (metoda nr. 5 w/g starego tekstu)

June 2007

  1. random text record identifiers
  2. print “read manual” while each %bug;
  3. tsearch – instalacja, testy, rozszerzanie
  4. parsowanie rss’ów

April 2007

  1. Dnews

March 2007

  1. tapeta na dzis
  2. tapeta na dzis
  3. tapeta na dzis
  4. tapeta na dzis
  5. tapeta na dzis
  6. tapeta na dzis
  7. tapeta na dzis
  8. tapeta na dzis
  9. tapeta na dzis
  10. tapeta na dzis
  11. tapeta na dzis
  12. tapeta na dzis
  13. tapeta na dzis
  14. walka z fikcją
  15. triggerek
  16. tapeta na dzis

February 2007

  1. technika, technika
  2. tapeta na dzis
  3. 5 rzeczy których nie chcieliście wiedzieć i nigdy o nie nie pytaliście.
  4. tapeta na dzis
  5. nowości w postgresie 8.3 – prompt
  6. zarabianie na linuksie
  7. tapeta na dzis
  8. 25 startupów
  9. co wpływa na awarie dysków?
  10. świetny biznes czy nieetyczne badanie rynku?
  11. tapeta na dzis
  12. case study: join, subselect, indeksy + pomysł na “aliasy” wyliczanych stałych
  13. alternatywa dla wysokojakościowych radiowych łącz dla telewizji?
  14. witajcie inne planety
  15. nagroda turinga za rok 2006 – po raz pierwszy dla kobiety
  16. tapeta na dzis
  17. tapeta na dzis
  18. narzekanie
  19. tapeta na dzis
  20. drobny błąd
  21. tapeta na dzis
  22. miejski samochód
  23. porównanie implementacji ruby’ego
  24. nowa technologia kości ram
  25. tapeta na dzis
  26. dlaczego “kocham” mysql’a
  27. postgres 8.3 – wishlist
  28. tapeta na dzis
  29. tapeta na dzis
  30. power6 – nowa, lepsza generacja
  31. niagara 2 – ciekawostka
  32. język w jakim napisano nasz świat
  33. tapeta na dzis
  34. tapeta na dzis
  35. nowy biznesowy blackberry
  36. tapeta na dzis
  37. nowy procesor intela – prototyp
  38. wsiąść do pociągu. nie byle-jakiego.
  39. poważny błąd w postgresie
  40. tapeta na dzis
  41. tapeta na dzis
  42. drop table if exists
  43. tapeta na dzis
  44. zestawienie szybkiego serwisu
  45. nieoczekiwany sojusznik w walce z drm’em
  46. ś.p. spinacz
  47. masowe nadawanie praw
  48. tapeta na dzis
  49. archiwa playboya
  50. kasowanie zbyt starych danych
  51. przeglądanie źródeł postgresa
  52. tapeta na dzis
  53. tapeta na dziś
  54. zagrożenie dla firmy
  55. czyszczenie cache’a dyskowego
  56. wow. photoshop na wysokim poziomie
  57. tapeta na dzis
  58. mysql + soliddb
  59. upadły pegaz
  60. gadżet. czy może faktyczne zastępstwo książek?
  61. modna wirtualizacja
  62. przyspieszanie digg’a i inne cuda :)
  63. oops. popsuty postgres
  64. tapeta na dzis
  65. tapeta na dzis
  66. kanapa. fotel. sofa. a co jeszcze?
  67. porównanie wydajności popularnych frameworków webowych
  68. tapeta na dzis
  69. interesująca agencja pośrednictwa pracy
  70. pc vs. mac
  71. tapeta na dzis
  72. wii odchudza
  73. ford sprzedał aston martina
  74. Potwor
  75. teoria strun ma szansę być dowiedziona lub obalona
  76. nowy materiał na obudowy komórek (telefonów)
  77. nowa wersja znanego systemu operacyjnego
  78. nowy chip dla komórek
  79. coca cola jako sos?
  80. otwieranie samochodów piłką tenisową
  81. mniej wirusów. mniej niż …
  82. tapeta na dzis
  83. czym zrazić użytkowników
  84. agregaty wielowartościowe
  85. ekstremalna wycieczka
  86. 8.2.2 i inne
  87. tapeta na dzis
  88. pdf standardem iso?
  89. odcinania balastu ciąg dalszy
  90. sprawdzanie które wiersze w tabeli są zalockowane
  91. mysql enterprise db – interesujący model opłat
  92. przełom w technologiach procesorowych
  93. nereczkę? płuco? serduszko? chińskie, ale działa.
  94. dell strikes back
  95. nowy maintainer pgmemcache
  96. tapeta na dzis

January 2007

  1. nielegalne żarówki
  2. spam, spam, spam, jajecznica i spam. i jeszcze trochę spamu
  3. tapeta na dzis
  4. wygrał podróż w kosmos. i przegrał.
  5. youtube ma biznesplan!
  6. eksperci ze świata
  7. wzrost rynku bazodanowego
  8. dbi-link
  9. tapeta na dzis
  10. tapeta na dzis
  11. drogie, piękne i szybkie
  12. umiesz robić zdjęcia?
  13. szybsze wifi w centrino. już!
  14. amd kontratakuje. werbalnie.
  15. tapeta na dzis
  16. mysql rządzi? indeksy pokrywające
  17. tapeta na dzis
  18. tapeta na dzis
  19. losowy rekord z bazy danych
  20. mikro-dezynfekcja
  21. tapeta na dzis
  22. tapeta na dzis
  23. przełom w bateriach czy kolejna ściema?
  24. sun na xeonach
  25. tani samochód od toyoty
  26. chyba to połamię
  27. rocznica technologii stealth
  28. tapeta na dzis
  29. Lampy
  30. czytanie manuali popłaca
  31. tapeta na dzis
  32. śmierć samobójcy
  33. piękne i bestie
  34. prosta genealogia
  35. kolejny “otwarty” stuff – c.d.
  36. perl best practices critic
  37. gotowanie na filmie
  38. idę popływać na basen
  39. sprzęt pod linuksa
  40. bilion dolarów
  41. odpowiedzialność za niebezpieczny kod
  42. przełom w technologiach optycznych
  43. tapeta na dzis
  44. zaśmiecony template1 i kopiowanie baz
  45. tapeta na dzis
  46. drzewa w sql’u – metoda “zagnieżdżonych zbiorów”
  47. motocykl. na wodór.
  48. latający dywan
  49. vista – system którego nie można używać? c.d.
  50. jeździsz jak chłop
  51. tapeta na dzis
  52. windows vista – net install?
  53. chomik opowiada o wypadku
  54. skypetv
  55. prawdziwy railgun
  56. nowy concept
  57. pompki dla zdrowia
  58. tanie i bezpieczne lekarstwo na raka
  59. ciekawe akcesoria do ipoda
  60. tapeta na dzis
  61. openssh i wiele połączeń w to samo miejsce
  62. tapeta na dzis
  63. zrzut strony www do pliku graficznego
  64. czy potrzebujesz bazy danych?
  65. “koncept”?
  66. czy grozi ci śmierć przez przedawkowanie kofeiny?
  67. woda znikąd
  68. wirtualizacja w solarisie
  69. wybory w nowej zelandii – sukcesem postgresa
  70. tapeta na dzis
  71. zmaterializowane widoki
  72. tapeta na dzis
  73. sprawdzanie siły hasła
  74. abonament na upgrade sprzętu
  75. szybki duży zarobek
  76. Evo x
  77. akwarium
  78. pożytki z nudy
  79. tapeta na dzis
  80. tapeta na dzis
  81. tapeta na dziś
  82. świat nowych gier
  83. rewelacyjny plugin do firefoxa
  84. second life – open source!
  85. dla kogo się pracuje najlepiej?
  86. kilka nowych postgresów
  87. nieznany bohater: generate_series
  88. trackbacki
  89. tapeta na dziś
  90. apple-telefon
  91. tapeta na dziś
  92. tapeta na dziś
  93. mysql – skalowalność. kolejna odsłona
  94. medal za marketing – o ile ktoś to kupił
  95. acer sprzedaje laptopy z zainstalowanym backdoorem?
  96. tapeta na dziś
  97. nowa mazda
  98. jak nie odpowiadać na ogłoszenia o pracę
  99. wykład o klastrowaniu postgresa
  100. tapeta na dziś
  101. drzewa w sql’u – metoda “śledzenie rodzica”
  102. 1terabajt na pojedynczym dysku
  103. mythbusters
  104. tapeta na dziś
  105. wyszukiwanie w/g nipu
  106. patent na … DRM
  107. recenzja wii
  108. dziwne ostrzeżenia
  109. błękitne światło pozwala dłużej pracować
  110. tapeta na dziś
  111. pierwszy komercyjny nośnik holograficzny
  112. podstawy bezpieczeństwa – w/g nsa
  113. nowe ściany
  114. dwustronny wyświetlacz do komórek
  115. tani, mały storage (serio)
  116. hd dvd vs. blu-ray. zwycięzcą jest … lg
  117. macierz pod prywatne dane
  118. jak wygląda 200 kalorii
  119. nagroda darwina za rok 2006
  120. skalowalność mysql vs. pgsql
  121. tapeta na dziś
  122. tapeta na dziś
  123. indiana jones i świątynia mamony
  124. choroba szalonych krów – przeszłością?
  125. nowe opony
  126. międzynarodowa współpraca
  127. meta-poprawka
  128. rozszerzanie funkcjonalności serwisów webowych
  129. drzewa w sql’u – metoda wielu tabel
  130. tapeta na dziś
  131. drzewa w sql’u – wstęp
  132. two for the money / podwójna gra
  133. tapeta na dziś

← 2006