PostgreSQL
PostgeSQL is a leading open-source SQL database server.
www.postgresql.org
Activity Earlier In The Year
- Doc: Make logical replication examples executable in bulk
Amit Kapila: To improve the usability of logical replication examples, we need to enable bulk copy-pasting of DML/DDL series.
Currently, output command tags and prompts disrupt this workflow. - pg_dump: Adjust reltuples from 0 to -1 for dumps of older versions
Nathan Bossart: Before v14, a reltuples value of 0 was ambiguous: it could either mean the relation is empty, or it could mean that it hadn't yet been vacuumed or analyzed. - Doc: add pre-branch task to run src/tools/copyright.pl
Tom Lane: It's common for some files with last year's copyright date to sneak into the tree between early January (when we normally run copyright.pl) and feature freeze. - Make our usage of memset_s() conform strictly to the C11 standard
Tom Lane: Per the letter of the C11 standard, one must #define __STDC_WANT_LIB_EXT1__ as 1 before including <string.h> in order to have access to memset_s(). - Add explicit initialization for all PlannerGlobal fields
Richard Guo: When creating a new PlannerGlobal node in standard_planner(), most fields are explicitly initialized, but a few are not. - Add tab-complete for ALTER DOMAIN ADD [CONSTRAINT]
Álvaro Herrera: We can add tab-completion with "CHECK (" and "NOT NULL" after ALTER DOMAIN ADD [CONSTRAINT]. - Add support for runtime arguments in injection points
Michael Paquier: The macros INJECTION_POINT() and INJECTION_POINT_CACHED() are extended with an optional argument that can be passed down to the callback attached when an injection point is run, giving to callbacks the possibility to manipulate a stack state given by the caller. - Suppress unnecessary explicit sorting for EPQ mergejoin path
Richard Guo: When building a ForeignPath for a joinrel, if there's a possibility that EvalPlanQual will be executed, we must identify a suitable path for EPQ checks. - doc: Add link to table
Peter Eisentraut: Formal tables should generally have an xref in the text that points to them. - doc PG 18 relnotes: add GROUP BY column elimination item
Bruce Momjian: With a nod to PG 9.
Most Popular This Year
- localbuf: Add Valgrind buffer access instrumentation
Andres Freund: This mirrors 1e0dfd166b3 (+ 46ef520b9566), for temporary table buffers. - libpq: Add support for dumping SSL key material to file
Daniel Gustafsson: This adds a new connection parameter which instructs libpq to write out keymaterial clientside into a file in order to make connection debugging with Wireshark and similar tools possible. - Add pg_buffercache_numa view with NUMA node info
Tomas Vondra: Introduces a new view pg_buffercache_numa, showing NUMA memory nodes for individual buffers. - Improve accounting for memory used by shared hash tables
Tomas Vondra: pg_shmem_allocations tracks the memory allocated by ShmemInitStruct(), but for shared hash tables that covered only the header and hash directory. - doc PG 18 relnotes: add GROUP BY column elimination item
Bruce Momjian: With a nod to PG 9. - bufmgr: Implement AIO read support
Andres Freund: This commit implements the infrastructure to perform asynchronous reads into the buffer pool.
To do so, it:
- Adds readv AIO callbacks for shared and local buffers
It may be worth calling out that shared buffer completions may be run in a different backend than where the IO started.
- Adds an AIO wait reference to BufferDesc, to allow backends to wait for in-progress asynchronous IOs
- Adapts StartBufferIO(), WaitIO(), TerminateBufferIO(), and their localbuf.c equivalents, to be able to deal with AIO
- Moves the code to handle BM_PIN_COUNT_WAITER into a helper function, as it now also needs to be called on IO completion
As of this commit, nothing issues AIO on shared/local buffers. - Add code comment explaining ins_since_vacuum and aborted inserts
David Rowley: Sami complained that there's a discrepancy between n_mod_since_analyze and n_ins_since_vacuum, as the former only accounts for committed changes and the latter tracks committed and aborted inserts. - pg_dump: Reduce memory usage of dumps with statistics
Nathan Bossart: Right now, pg_dump stores all generated commands for statistics in memory. - Add support for not-null constraints on virtual generated columns
Peter Eisentraut: This was left out of the original patch for virtual generated columns (commit 83ea6c54025). - Assert lack of hazardous buffer locks before possible catalog read
Noah Misch: Commit 0bada39c83a150079567a6e97b1a25a198f30ea3 fixed a bug of this kind, which existed in all branches for six days before detection.