PostgreSQL
PostgeSQL is a leading open-source SQL database server.
www.postgresql.org
Other Activity This Week
- Support PG_UNICODE_FAST locale in the builtin collation provider
Jeff Davis: The PG_UNICODE_FAST locale uses code point sort order (fast, memcmp-based) combined with Unicode character semantics. - Support Unicode full case mapping and conversion
Jeff Davis: Generate tables from Unicode SpecialCasing.txt to support more sophisticated case mapping behavior: - Convert libpgport's pqsignal() to a void function
Nathan Bossart: The protections added by commit 3b00fdba9f introduced race conditions to this function that can lead to bogus return values. - Seek zone abbreviations in the IANA data before timezone_abbreviations
Tom Lane: If a time zone abbreviation used in datetime input is defined in the currently active timezone, use that definition in preference to looking in the timezone_abbreviations list. - Add OLD/NEW support to RETURNING in DML queries
Dean Rasheed: This allows the RETURNING list of INSERT/UPDATE/DELETE/MERGE queries to explicitly return old and new values by using the special aliases "old" and "new", which are automatically added to the query (if not already defined) while parsing its RETURNING list, allowing things like:
RETURNING old.colname, new.colname, ...
RETURNING old.*, new.*
Additionally, a new syntax is supported, allowing the names "old" and "new" to be changed to user-supplied alias names, e.g.:
RETURNING WITH (OLD AS o, NEW AS n) o.colname, n.colname, ...
This is useful when the names "old" and "new" are already defined, such as inside trigger functions, allowing backwards compatibility to be maintained -- the interpretation of any existing queries that happen to already refer to relations called "old" or "new", or use those as aliases for other relations, is not changed.
For an INSERT, old values will generally be NULL, and for a DELETE, new values will generally be NULL, but that may change for an INSERT with an ON CONFLICT ... - postgres_fdw: SCRAM authentication pass-through
Peter Eisentraut: This enables SCRAM authentication for postgres_fdw when connecting to a foreign server without having to store a plain-text password on user mapping options.
This is done by saving the SCRAM ClientKey and ServeryKey from the client authentication and using those instead of the plain-text password for the server-side SCRAM exchange.
Most Popular In The Past Month
- Improve handling of date_trunc() units for infinite input values
Michael Paquier: Previously, if an infinite value was passed to date_trunc(), then the same infinite value would always be returned regardless of the field unit given by the caller. - Add OLD/NEW support to RETURNING in DML queries
Dean Rasheed: This allows the RETURNING list of INSERT/UPDATE/DELETE/MERGE queries to explicitly return old and new values by using the special aliases "old" and "new", which are automatically added to the query (if not already defined) while parsing its RETURNING list, allowing things like:
RETURNING old.colname, new.colname, ...
RETURNING old.*, new.*
Additionally, a new syntax is supported, allowing the names "old" and "new" to be changed to user-supplied alias names, e.g.:
RETURNING WITH (OLD AS o, NEW AS n) o.colname, n.colname, ...
This is useful when the names "old" and "new" are already defined, such as inside trigger functions, allowing backwards compatibility to be maintained -- the interpretation of any existing queries that happen to already refer to relations called "old" or "new", or use those as aliases for other relations, is not changed.
For an INSERT, old values will generally be NULL, and for a DELETE, new values will generally be NULL, but that may change for an INSERT with an ON CONFLICT ... - Support Unicode full case mapping and conversion
Jeff Davis: Generate tables from Unicode SpecialCasing.txt to support more sophisticated case mapping behavior: - psql: Add option to use expanded mode to all list commands
Dean Rasheed: This allows "x" to be appended to any psql list-like meta-command, forcing its output to be displayed in expanded mode. - Support PG_UNICODE_FAST locale in the builtin collation provider
Jeff Davis: The PG_UNICODE_FAST locale uses code point sort order (fast, memcmp-based) combined with Unicode character semantics. - Seek zone abbreviations in the IANA data before timezone_abbreviations
Tom Lane: If a time zone abbreviation used in datetime input is defined in the currently active timezone, use that definition in preference to looking in the timezone_abbreviations list. - postgres_fdw: SCRAM authentication pass-through
Peter Eisentraut: This enables SCRAM authentication for postgres_fdw when connecting to a foreign server without having to store a plain-text password on user mapping options.
This is done by saving the SCRAM ClientKey and ServeryKey from the client authentication and using those instead of the plain-text password for the server-side SCRAM exchange. - Remove pgrminclude and associated scripts
Peter Eisentraut: Per git log, the last time someone tried to do something with pgrminclude was around 2011. - ecpg: Restore detection of unsupported COPY FROM STDIN.
Fujii Masao: The ecpg command includes code to warn about unsupported COPY FROM STDIN statements in input files. - Add new StringInfo APIs to allow callers to specify the buffer size
Tatsuo Ishii: Previously StringInfo APIs allocated buffers with fixed initial allocation size of 1024 bytes.