- Change pg_last_xlog_receive_location() so it never moves
+ Change pg_last_xlog_receive_location()> so it never moves
backwards (Fujii Masao)
- Previously pg_last_xlog_receive_location() could move backward
+ Previously pg_last_xlog_receive_location()> could move backward
when streaming replication is restarted.
For example, disallow composite_name.text and text(composite_name).
- CAST and '::' are still available for casting.
+ CAST> and ::> are still available for casting.
- Previously this returned NULL.
+ Previously this returned NULL>.
- Change string_to_array so a NULL separator splits the string
+ Change string_to_array so a NULL> separator splits the string
into characters (Pavel Stehule)
- Previously this returned NULL.
+ Previously this returned NULL>.
- Require superuser or CREATEROLE permissions to set role
+ Require superuser or CREATEROLE> permissions to set role
comments (Tom Lane)
- Change PL/pgSQL's RAISE command without parameters to be
+ Change PL/pgSQL's RAISE> command without parameters to be
catchable by the attached exception block (Piyush Newe)
- Previously RAISE in a code block always scoped to an attached
+ Previously RAISE> in a code block always scoped to an attached
exception block, so it was uncatchable at the same scope.
- Have pg_stat_reset() reset all database-level statistics (Tom
+ Have pg_stat_reset()> reset all database-level statistics (Tom
Lane)
- Add command-line tool pg_basebackup for creating a new standby
+ Add command-line tool
pg_basebackup> for creating a new standby
server or database backup (Magnus Hagander)
- Add system view pg_stat_replication which displays activity
+ Add system view pg_stat_replication> which displays activity
of WAL sender processes (Itagaki Takahiro, Simon Riggs)
- Add monitoring function pg_last_xact_replay_timestamp (Fujii
+ Add monitoring function pg_last_xact_replay_timestamp()> (Fujii
Masao)
- The new functions are pg_xlog_replay_pause(),
- pg_xlog_replay_resume(), and the status function
- pg_is_xlog_replay_paused().
+ The new functions are pg_xlog_replay_pause()>,
+ pg_xlog_replay_resume()>, and the status function
+ pg_is_xlog_replay_paused()>.
Add named restore points for recovery which can be specified
- in recovery.conf (Jaime Casanova)
+ in recovery.conf> (Jaime Casanova)
- The function pg_create_restore_point() allows recovery targets
+ The function pg_create_restore_point()> allows recovery targets
to be named for later designation during recovery.
- Add recovery.conf setting pause_at_recovery_target to pause
+ Add recovery.conf> setting pause_at_recovery_target to pause
recovery at target (Simon Riggs)
- Allow recovery.conf to use the same quoting behavior as
- postgresql.conf (Dimitri Fontaine)
+ Allow recovery.conf> to use the same quoting behavior as
+ postgresql.conf> (Dimitri Fontaine)
- Support RIGHT and FULL OUTER JOIN in hash joins (Tom Lane)
+ Support RIGHT> and FULL OUTER JOIN> in hash joins (Tom Lane)
Previously hash joins could not be considered for outer joins;
this provides additional query optimization possibilities.
- **What about LEFT joins?
+ **What about LEFT> joins?
- This allows optimization of ORDER BY and LIMIT clauses in
+ This allows optimization of ORDER BY> and LIMIT> clauses in
inheritance table queries.
- Allow optimizations of MIN/MAX for inheritance table queries
+ Allow optimizations of MIN>/MAX> for inheritance table queries
(Tom Lane)
Support host names and host suffixes (e.g. .example.com) in
- pg_hba.conf (Peter Eisentraut)
+ pg_hba.conf> (Peter Eisentraut)
- Support they keyword 'all' in the host column of pg_hba.conf
+ Support they keyword 'all' in the host column of pg_hba.conf>
(Peter Eisentraut)
- Add client_hostname field to pg_stat_activity (Peter Eisentraut)
+ Add client_hostname field to pg_stat_activity> (Peter Eisentraut)
- Add the pg_stat_database_conflicts system view to show queries
+ Add the pg_stat_database_conflicts> system view to show queries
that have been canceled and the reason (Magnus Hagander)
- Add a "conflicts" count to pg_stat_database (Magnus Hagander)
+ Add a "conflicts" count to pg_stat_database> (Magnus Hagander)
- Add new buffers_backend_fsync field to pg_stat_bgwriter (Greg
+ Add new buffers_backend_fsync field to pg_stat_bgwriter> (Greg
Smith)
- Allow data-modification commands (INSERT/UPDATE/DELETE) in
- WITH clauses (Marko Tiikkaja, Hitoshi Harada)
+ Allow data-modification commands
+ (INSERT>/UPDATE>/DELETE)>
+ in WITH> clauses (Marko Tiikkaja, Hitoshi Harada)
- This allows INSERT/UPDATE/DELETE RETURNING in WITH clauses to
- pass rows to outer queries.
+ This allows INSERT>/UPDATE>/DELETE>
+ RETURNING> in WITH> clauses to pass rows
+ to outer queries.
- Allow WITH clauses to be fed into INSERT, UPDATE, DELETE
- statements (Marko Tiikkaja, Hitoshi Harada)
+ Allow WITH> clauses to be fed into INSERT>,
+ UPDATE>, DELETE > statements (Marko
+ Tiikkaja, Hitoshi Harada)
- Specifically, let SELECT query results be feed into INSERT,
- UPDATE, DELETE statements.
+ Specifically, let SELECT> query results be feed
+ into INSERT>, UPDATE>, DELETE>
+ statements.
- Allow non-GROUP BY columns in the query target list when the
- primary key is specified in the GROUP BY clause (Peter
+ Allow non- GROUP BY> columns in the query target list when the
+ primary key is specified in the GROUP BY> clause (Peter
Eisentraut)
- Allow the use of the keyword DISTINCT in UNION/INTERSECT/EXCEPT
+ Allow the use of the keyword DISTINCT> in
+ UNION>/INTERSECT>/EXCEPT>
clauses (Tom Lane)
- DISTINCT is the default behavior so use of this keyword is
+ DISTINCT> is the default behavior so use of this keyword is
redundant.
- Add ALTER TYPE ... ADD/DROP/ALTER/RENAME ATTRIBUTE (Peter
+ Add ALTER TYPE ... ADD/DROP/ALTER/RENAME ATTRIBUTE> (Peter
Eisentraut)
-
ALTER Object>
+
ALTER> Object
- Add RESTRICT/CASCADE to ALTER TYPE operations on typed tables
- (Peter Eisentraut)
+ Add RESTRICT>/CASCADE> to ALTER
+ TYPE> operations on typed tables (Peter Eisentraut)
- This controls ADD/DROP/ALTER/RENAME ATTRIBUTE cascading
+ This controls ADD>/DROP>/ALTER>/RENAME ATTRIBUTE> cascading
behavior.
- Add support for more object types in ALTER object ... SET SCHEMA commands (Dimitri Fontaine)
+ Add support for more object types in ALTER ... SET SCHEMA> commands (Dimitri Fontaine)
- Add CREATE TABLE IF NOT EXISTS syntax (Robert Haas)
+ Add CREATE TABLE IF NOT EXISTS> syntax (Robert Haas)
- Add ALTER TABLE ADD UNIQUE/PRIMARY KEY USING INDEX (Gurjeet
+ Add ALTER TABLE ... ADD UNIQUE>/PRIMARY KEY USING INDEX> (Gurjeet
Singh)
- Allow ALTER TABLE to add foreign keys without validation (Simon
+ Allow ALTER TABLE> to add foreign keys without validation (Simon
Riggs)
- The new option is called NOT VALID, which can later be modified
- to VALIDATED and validation checks performed.
+ The new option is called NOT VALID>, which can later be modified
+ to VALIDATED> and validation checks performed.
- Allow ALTER TABLE .. SET DATA TYPE to avoid table rewrites in
+ Allow ALTER TABLE> ... SET DATA TYPE> to avoid table rewrites in
appropriate cases (Noah Misch, Robert Haas)
- Add a SECURITY LABEL command (KaiGai Kohei)
+ Add a SECURITY LABEL> command (KaiGai Kohei)
- Make TRUNCATE ... RESTART IDENTITY restart sequences transactionally
+ Make TRUNCATE ... RESTART IDENTITY> restart sequences transactionally
(Steve Singer)
- Add ENCODING option to COPY TO/FROM (Hitoshi Harada, Itagaki
+ Add ENCODING> option to COPY TO/FROM> (Hitoshi Harada, Itagaki
Takahiro)
- This allows the COPY file encoding to be specified separately
+ This allows the encoding of the COPY> file to be specified separately
from client encoding.
- Add bidirectional COPY protocol support (Fujii Masao)
+ Add bidirectional COPY> protocol support (Fujii Masao)
- Have EXPLAIN show the function call expression in VERBOSE
- mode (Tom Lane)
+ Have EXPLAIN> show the function call expression in VERBOSE
+ > mode (Tom Lane)
- Fix EXPLAIN ANALYZE with rules to use the same snapshot behavior
+ Fix EXPLAIN ANALYZE> with rules to use the same snapshot behavior
as ordinary queries (Marko Tiikkaja)
- Previously EXPLAIN ANALYZE used a slightly different snapshot
+ Previously EXPLAIN ANALYZE> used a slightly different snapshot
for queries involving rules.
- Add additional details to the output of VACUUM FULL VERBOSE
- and CLUSTER VERBOSE (Itagaki Takahiro)
+ Add additional details to the output of VACUUM FULL VERBOSE>
+ and CLUSTER VERBOSE> (Itagaki Takahiro)
- New information includes the live/dead tuple count and whether
- CLUSTER is using an index to rebuild.
+ New information includes the live and dead tuple count and whether
+ CLUSTER> is using an index to rebuild.
- This allows GIST indexes to quickly return LIMIT-specified
+ This allows GIST indexes to quickly return LIMIT>-specified
closest values.
- Previously there were rare cases where a REINDEX would be
+ Previously there were rare cases where a REINDEX> would be
required (you would be informed).
- Allow numeric to use a more compact, 2-byte header in many
+ Allow numeric to use a more compact, two-byte header in many
cases (Robert Haas)
- Previously all numeric values had 4-byte headers; this saves
+ Previously all numeric values had four-byte headers; this saves
on disk storage.
- Add XML function XMLEXISTS and xpath_exists() functions (Mike
+ Add XML function XMLEXISTS> and xpath_exists()> functions (Mike
Fowler)
- Add XML functions xml_is_well_formed, xml_is_well_formed_document,
- xml_is_well_formed_content (Mike Fowler)
+ Add XML functions xml_is_well_formed()>, xml_is_well_formed_document()>,
+ xml_is_well_formed_content()> (Mike Fowler)
Add new SQL function, format(text), which behaves like C's
- printf() (Pavel Stehule, Robert Haas)
+ printf()> (Pavel Stehule, Robert Haas)
- Add string functions: concat(), concat_ws(), left(), right(),
- and reverse() (Pavel Stehule)
+ Add string functions: concat()>, concat_ws()>, left()>, right()>,
+ and reverse()> (Pavel Stehule)
- Add function pg_read_binary_file() to read binary files
+ Add function pg_read_binary_file()> to read binary files
(Dimitri Fontaine, Itagaki Takahiro)
- Add single-parameter version of function pg_read_file() to
+ Add single-parameter version of function pg_read_file()> to
read an entire file (Dimitri Fontaine, Itagaki Takahiro)
Add three-parameter forms of array_to_string and string_to_array
- for NULL processing control (Pavel Stehule)
+ for NULL> processing control (Pavel Stehule)
- Add pg_describe_object function (Alvaro Herrera)
+ Add pg_describe_object()> function (Alvaro Herrera)
Add variable quote_all_identifiers to force the quoting of
- all identifiers in EXPLAIN and system catalog functions like
- pg_get_viewdef() (Robert Haas)
+ all identifiers in EXPLAIN> and system catalog functions like
+ pg_get_viewdef()> (Robert Haas)
- Allow 'public' as a pseudo-role name in has_table_privilege()
+ Allow 'public' as a pseudo-role name in has_table_privilege()>
and and related functions (Alvaro Herrera)
- Add ERRCODE_T_R_DATABASE_DROPPED error code to report recovery
+ Add ERRCODE_T_R_DATABASE_DROPPED> error code to report recovery
conflicts due to dropped databases (Tatsuo Ishii)
- Allow INSTEAD OF triggers on views (Dean Rasheed)
+ Allow INSTEAD OF> triggers on views (Dean Rasheed)
- Reduce lock levels for CREATE TRIGGER and some ALTER TABLE,
- CREATE RULE actions (Simon Riggs)
+ Reduce lock levels for CREATE TRIGGER> and some ALTER TABLE>,
+ CREATE RULE> actions (Simon Riggs)
- Add FOREACH IN ARRAY to plpgsql to allow array interation
+ Add FOREACH IN ARRAY> to plpgsql to allow array interation
(Pavel Stehule)
- PL/Python now can return multiple OUT parameters and record
+ PL/Python now can return multiple OUT> parameters and record
sets.
- Allow PL/Python to access SQLSTATE exception values (Jan
+ Allow PL/Python to access SQLSTATE> exception values (Jan
Urbanski)
- Mark createlang/droplang as deprecated now that they use the
+ Mark createlang and droplang as deprecated now that they use the
extension framework (Tom Lane)
- Add the \conninfo command to psql, to show current connection
+ Add the \conninfo command to
psql>, to show current connection
information (David Christensen)
- Allow psql's \e and \ef commands to accept a line number to
+ Allow
psql>'s \e and \ef commands to accept a line number to
be used to position the cursor in the editor (Pavel Stehule)
- This is passed to the editor using the EDITOR_LINENUMBER_SWITCH
+ This is passed to the editor using the EDITOR_LINENUMBER_SWITCH>
environment variable.
- Add psql command \sf command to show a function's definition
+ Add
psql> command \sf command to show a function's definition
(Pavel Stehule)
- Add system table ("S") option to psql \dn (schemas) (Tom Lane)
+ Add system table ("S") option to
psql> \dn (schemas) (Tom Lane)
- Add new psql \dL command \dL to list languages (Fernando Ike)
+ Add new
psql> \dL command \dL to list languages (Fernando Ike)
- Have psql set the client encoding from the operating system
+ Have
psql> set the client encoding from the operating system
locale by default (Heikki Linnakangas)
- This only happens if the PGCLIENTENCODING environment variable
+ This only happens if the PGCLIENTENCODING> environment variable
is not set.
- Allow tab completion of psql variables (Pavel Stehule)
+ Allow tab completion of
psql> variables (Pavel Stehule)
- More psql tab completion support (Itagaki Takahiro)
+ More
psql> tab completion support (Itagaki Takahiro)
- Add pg_dump and pg_dumpall option --quote-all-identifiers to
- force quoting of all identifiers (Robert Haas)
+ Add
pg_dump> and pg_dumpall>
+ option
+ of all identifiers (Robert Haas)
- Add 'directory' format to pg_dump (Joachim Wieland, Heikki
+ Add 'directory' format to
pg_dump> (Joachim Wieland, Heikki
Linnakangas)
- This is internally similar to the 'tar' pg_dump format.
+ This is internally similar to the
tar> pg_dump> format.
- Fix pg_ctl so it no longer incorrectly reports that the server
+ Fix
pg_ctl> so it no longer incorrectly reports that the server
is not running (Bruce Momjian)
Previously this could happen if the server was running but
- pg_ctl could not authenticate.
+
pg_ctl> could not authenticate.
- Improve pg_ctl start's "wait" mode to handle non-standard port
+ Improve
pg_ctl> start's "wait" mode to handle non-standard port
numbers, non-standard unix-domain socket locations, permission
problems, and stale postmaster lock files (Bruce Momjian)
- Add 'promote' option to pg_ctl to change a standby server to
+ Add 'promote' option to
pg_ctl> to change a standby server to
primary (Fujii Masao)
Add a libpq connection option client_encoding which behaves
- like the PGCLIENTENCODING environment variable (Heikki
+ like the PGCLIENTENCODING> environment variable (Heikki
Linnakangas)
- Add PQlibVersion() function which returns the libpq library
+ Add PQlibVersion()> function which returns the libpq library
version (Magnus Hagander)
- libpq already had PQserverVersion() which returns the server
+ libpq already had PQserverVersion()> which returns the server
version.
- PostgreSQL already allowed servers to determine the client
+
PostgreSQL> already allowed servers to determine the client
user name via Unix-domain sockets.
- This is controlled by the new CREATE/ALTER/DROP EXTENSION
- command; this replaces a more manual method of adding features
- to PostgreSQL.
+ This is controlled by the new
+ CREATE>/ALTER>/DROP EXTENSION
+ > command; this replaces a more manual method of adding
+ features to
PostgreSQL>.
- Require GNU make 3.80 or newer (Peter Eisentraut)
+ Require GNU
make> 3.80 or newer (Peter Eisentraut)
- This allows for faster compiles. Also, make -k and make -q
- now work properly. **When was recursive make supported?
+ This allows for faster compiles. Also, make
+ and make
+ make supported?
- On Windows, allow pg_ctl to register the service as auto-start
+ On Windows, allow
pg_ctl> to register the service as auto-start
or start-on-demand (Quan Zongliang)
- Centralize DML permissions-checking logic (KaiGai Kohei)
+ Centralize data modification permissions-checking logic (KaiGai Kohei)
- Add missing get_{object}_oid functions, for consistency
+ Add missing get_{object}_oid() functions, for consistency
(Robert Haas)
- Expose quote_literal_cstr() for backend use (Robert Haas)
+ Expose quote_literal_cstr()> for backend use (Robert Haas)
- Regression tests were previously always run with SQL_ASCII
+ Regression tests were previously always run with SQL_ASCII>
encoding.
- Add src/tools/git_changelog to replace cvs2cl and pgcvslog
- (Robert Haas, Tom Lane)
+ Add src/tools/git_changelog> to replace
+ cvs2cl> and pgcvslog> (Robert Haas,
+ Tom Lane)
- Add git-external-diff script to src/tools (Bruce Momjian)
+ Add git-external-diff script to src/tools> (Bruce Momjian)
- Add contrib/file_fdw foreign-data wrapper for reading files
- via COPY (Shigeru Hanada)
+ Add contrib/file_fdw> foreign-data wrapper for reading files
+ via COPY >(Shigeru Hanada)
- Add nearest-neighbor support to contrib/pg_trgm and
- contrib/btree_gist (Teodor Sigaev)
+ Add nearest-neighbor support to contrib/pg_trgm> and
+ contrib/btree_gist> (Teodor Sigaev)
- Add contrib/btree_gist support for searching on "not equals"
+ Add contrib/btree_gist> support for searching on not equals
(Jeff Davis)
- Allow contrib/fuzzystrmatch's levenshtein() function handle
+ Allow contrib/fuzzystrmatch>'s levenshtein()> function handle
multi-byte characters (Alexander Korotkov)
- Add ssl_cipher() and ssl_version() functions to contrib/sslinfo
+ Add ssl_cipher()> and ssl_version()> functions to contrib/sslinfo>
(Robert Haas)
- Fix contrib/intarray and contrib/hstore to give consistent
+ Fix contrib/intarray> and contrib/hstore> to give consistent
results with indexed empty arrays (Tom Lane)
- In contrib/xml2, remove arbitrary limit on the number of
- parameter=value pairs that can be handled by xslt_process()
+ In contrib/xml2>, remove arbitrary limit on the number of
+ parameter=value pairs that can be handled by xslt_process()>
(Pavel Stehule)
- Add contrib/sepgsql to interface permission checks with SE-Linux
+ Add contrib/sepgsql> to interface permission checks with SE-Linux
(KaiGai Kohei)
- This uses the new SECURITY LABEL facility.
+ This uses the new SECURITY LABEL> facility.
- Add support for LIKE and ILIKE index searches to contrib/pg_trgm
+ Add support for LIKE> and ILIKE> index searches to contrib/pg_trgm>
(Alexander Korotkov)
- Add levenshtein_less_equal function, which is optimized for
+ Add levenshtein_less_equal()> function, which is optimized for
small distances (Alexander Korotkov)
- Improve performance of index lookups on contrib/seg columns
+ Improve performance of index lookups on contrib/seg columns>
(Alexander Korotkov)
- **Confirm this does not affect pg_upgrade
+ **Confirm this does not affect
pg_upgrade>
- Improve performance of pg_upgrade for databases with many
+ Improve performance of
pg_upgrade> for databases with many
relations (Bruce Momjian)
- Move src/tools/test_fsync to contrib/pg_test_fsync (Bruce
+ Move src/tools/test_fsync> to contrib/pg_test_fsync> (Bruce
Momjian, Tom Lane)
- Add O_DIRECT support to contrib/pg_test_fsync (Bruce Momjian)
+ Add O_DIRECT> support to contrib/pg_test_fsync> (Bruce Momjian)
- This matches the use of O_DIRECT by wal_sync_method.
+ This matches the use of O_DIRECT> by wal_sync_method.
- Add new tests to contrib/pg_test_fsync (Bruce Momjian)
+ Add new tests to contrib/pg_test_fsync> (Bruce Momjian)
- Add documentation for pg_options_to_table() (Josh Berkus)
+ Add documentation for pg_options_to_table()> (Josh Berkus)
- Document that translate() removes characters in "from" that
+ Document that translate()> removes characters in "from" that
don't have a corresponding "to" character (Josh Kupershmidt)
- Merge docs for CREATE CONSTRAINT TRIGGER and CREATE TRIGGER
- (Alvaro Herrera)
+ Merge docs for CREATE CONSTRAINT TRIGGER> and
+ CREATE TRIGGER>(Alvaro Herrera)
- Add new recovery.conf parameter, pause_at_recovery_target,
+ Add new recovery.conf> parameter, pause_at_recovery_target,
which defaults to on
- Use the same lexer for recovery.conf that has been used for postgresql.conf
+ Use the same lexer for recovery.conf that has been used for
+ postgresql.conf> (Dimitri Fontaine)
-
psql
- Add S
option to \dn command in psql
+ Add
S
option to \dn command in
psql>
System schemas are now hidden by default by \dn.
- Add \conninfo command to psql, to show current connection
+ Add \conninfo command to
psql>, to show current connection
info
- Extend psql's \e and \ef commands so that a line number
+ Extend
psql>'s \e and \ef commands so that a line number
can be specified, and the editor's cursor will be initially placed
on that line
To avoid assumptions about what switch the user's editor takes for
- this purpose, there is a new psql variable EDITOR_LINENUMBER_SWITCH
+ this purpose, there is a new
psql> variable EDITOR_LINENUMBER_SWITCH
with (at present) no default value.
- Add a \sf (show function) command to psql, for those
+ Add a \sf (show function) command to
psql>, for those
times when you need to look at a function but don't wish to fire up
an editor
- Make psql distinguish between unique indices and unique
+ Make
psql> distinguish between unique indices and unique
constraints in \d printout
- Add a \dL command to psql, to list procedural
+
Add a \dL command to psql>, to list procedural
languages
- Allow psql to automatically deduce the client encoding from
+
Allow psql> to automatically deduce the client encoding from
the locale