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
- extension_control_path
Peter Eisentraut: The new GUC specifies a path to look for extension control files. - pg_rewind: Add dbname to primary_conninfo when using --write-recovery-conf
Masahiko Sawada: This commit enhances pg_rewind's --write-recovery-conf option to include the dbname in the generated primary_conninfo value when specified in the --source-server option. - Add pg_dump --with-{schema|data|statistics} options
Jeff Davis: By adding the positive variants of options, in addition to the negative variants that already exist, users can be explicit about what pg_dump should produce. - Small fixes for Add ALTER TABLE ... ALTER CONSTRAINT ... SET [NO] INHERIT
Peter Eisentraut: Small fixes for commit f4e53e10b6c: Add missing calls to InvokeObjectPostAlterHook() and also CacheInvalidateRelcache(). - Fix broken handling of domains in atthasmissing logic
Tom Lane: If a domain type has a default, adding a column of that type (without any explicit DEFAULT clause) failed to install the domain's default
value in existing rows, instead leaving the new column null. - localbuf: Add Valgrind buffer access instrumentation
Andres Freund: This mirrors 1e0dfd166b3 (+ 46ef520b9566), for temporary table buffers. - Generalize index support in network support function
Peter Eisentraut: The network (inet) support functions currently only supported a hardcoded btree operator family. - 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. - 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.