select open change scope Open full search

PG.CENTER connects PostgreSQL documentation, reference, and ecosystem knowledge. Maintained by Pigsty.

FUNCTIONS / VERSION COMPARISON

What changed?

Functions · PostgreSQL 13 → 14

Browse PG 14 →

15 added · 0 removed · 28 changed · 0 coverage changes. These are changes in the pinned reference snapshots.

changedwidth_bucket
--- 13
+++ 14
@@ -1,3 +1,3 @@
 width_bucket ( operand numeric, low numeric, high numeric, count integer ) → integer
 width_bucket ( operand double precision, low double precision, high double precision, count integer ) → integer
-width_bucket ( operand anyelement, thresholds anyarray ) → integer
+width_bucket ( operand anycompatible, thresholds anycompatiblearray ) → integer
changedlower
--- 13
+++ 14
@@ -1,2 +1,3 @@
 lower ( text ) → text
 lower ( anyrange ) → anyelement
+lower ( anymultirange ) → anyelement
changedltrim
--- 13
+++ 14
@@ -1 +1,2 @@
 ltrim ( string text [, characters text ] ) → text
+ltrim ( bytes bytea, bytesremoved bytea ) → bytea
changedrtrim
--- 13
+++ 14
@@ -1 +1,2 @@
 rtrim ( string text [, characters text ] ) → text
+rtrim ( bytes bytea, bytesremoved bytea ) → bytea
addedstring_to_table
--- 13
+++ 14
@@ -0,0 +1 @@
+string_to_table ( string text, delimiter text [, null_string text ] ) → setof text
changedsubstring
--- 13
+++ 14
@@ -1,7 +1,9 @@
 substring ( string text [ FROM start integer ] [ FOR count integer ] ) → text
 substring ( string text FROM pattern text ) → text
+substring ( string text SIMILAR pattern text ESCAPE escape text ) → text
 substring ( string text FROM pattern text FOR escape text ) → text
 substring ( bytes bytea [ FROM start integer ] [ FOR count integer ] ) → bytea
 substring ( bits bit [ FROM start integer ] [ FOR count integer ] ) → bit
+substring(string similar pattern escape escape-character)
 substring(string from pattern for escape-character)
 substring(string, pattern, escape-character)
changedtrim
--- 13
+++ 14
@@ -1,4 +1,4 @@
 trim ( [ LEADING | TRAILING | BOTH ] [ characters text ] FROM string text ) → text
 trim ( [ LEADING | TRAILING | BOTH ] [ FROM ] string text [, characters text ] ) → text
-trim ( [ BOTH ] bytesremoved bytea FROM bytes bytea ) → bytea
-trim ( [ BOTH ] [ FROM ] bytes bytea, bytesremoved bytea ) → bytea
+trim ( [ LEADING | TRAILING | BOTH ] bytesremoved bytea FROM bytes bytea ) → bytea
+trim ( [ LEADING | TRAILING | BOTH ] [ FROM ] bytes bytea, bytesremoved bytea ) → bytea
addedunistr
--- 13
+++ 14
@@ -0,0 +1 @@
+unistr ( text ) → text
changedupper
--- 13
+++ 14
@@ -1,2 +1,3 @@
 upper ( text ) → text
 upper ( anyrange ) → anyelement
+upper ( anymultirange ) → anyelement
addedbit_count
--- 13
+++ 14
@@ -0,0 +1,2 @@
+bit_count ( bytes bytea ) → bigint
+bit_count ( bit ) → bigint
addeddate_bin
--- 13
+++ 14
@@ -0,0 +1,2 @@
+date_bin ( interval, timestamp, timestamp ) → timestamp
+date_bin(stride, source, origin)
changedextract
--- 13
+++ 14
@@ -1,3 +1,3 @@
-extract ( field from timestamp ) → double precision
-extract ( field from interval ) → double precision
+extract ( field from timestamp ) → numeric
+extract ( field from interval ) → numeric
 EXTRACT(field FROM source)
changedunnest
--- 13
+++ 14
@@ -1,3 +1,4 @@
 unnest ( tsvector ) → setof record ( lexeme text, positions smallint[], weights text )
 unnest ( anyarray ) → setof anyelement
 unnest ( anyarray, anyarray [, ... ] ) → setof anyelement, anyelement [, ... ]
+unnest ( anymultirange ) → setof anyrange
changedarray_append
--- 13
+++ 14
@@ -1 +1 @@
-array_append ( anyarray, anyelement ) → anyarray
+array_append ( anycompatiblearray, anycompatible ) → anycompatiblearray
changedarray_cat
--- 13
+++ 14
@@ -1 +1 @@
-array_cat ( anyarray, anyarray ) → anyarray
+array_cat ( anycompatiblearray, anycompatiblearray ) → anycompatiblearray
changedarray_position
--- 13
+++ 14
@@ -1 +1 @@
-array_position ( anyarray, anyelement [, integer ] ) → integer
+array_position ( anycompatiblearray, anycompatible [, integer ] ) → integer
changedarray_positions
--- 13
+++ 14
@@ -1 +1 @@
-array_positions ( anyarray, anyelement ) → integer[]
+array_positions ( anycompatiblearray, anycompatible ) → integer[]
changedarray_prepend
--- 13
+++ 14
@@ -1 +1 @@
-array_prepend ( anyelement, anyarray ) → anyarray
+array_prepend ( anycompatible, anycompatiblearray ) → anycompatiblearray
changedarray_remove
--- 13
+++ 14
@@ -1 +1 @@
-array_remove ( anyarray, anyelement ) → anyarray
+array_remove ( anycompatiblearray, anycompatible ) → anycompatiblearray
changedarray_replace
--- 13
+++ 14
@@ -1 +1 @@
-array_replace ( anyarray, anyelement, anyelement ) → anyarray
+array_replace ( anycompatiblearray, anycompatible, anycompatible ) → anycompatiblearray
addedtrim_array
--- 13
+++ 14
@@ -0,0 +1 @@
+trim_array ( array anyarray, n integer ) → anyarray
changedisempty
--- 13
+++ 14
@@ -1 +1,2 @@
 isempty ( anyrange ) → boolean
+isempty ( anymultirange ) → boolean
changedlower_inc
--- 13
+++ 14
@@ -1 +1,2 @@
 lower_inc ( anyrange ) → boolean
+lower_inc ( anymultirange ) → boolean
changedlower_inf
--- 13
+++ 14
@@ -1 +1,2 @@
 lower_inf ( anyrange ) → boolean
+lower_inf ( anymultirange ) → boolean
addedmultirange
--- 13
+++ 14
@@ -0,0 +1 @@
+multirange ( anyrange ) → anymultirange
changedrange_merge
--- 13
+++ 14
@@ -1 +1,2 @@
 range_merge ( anyrange, anyrange ) → anyrange
+range_merge ( anymultirange ) → anyrange
changedupper_inc
--- 13
+++ 14
@@ -1 +1,2 @@
 upper_inc ( anyrange ) → boolean
+upper_inc ( anymultirange ) → boolean
changedupper_inf
--- 13
+++ 14
@@ -1 +1,2 @@
 upper_inf ( anyrange ) → boolean
+upper_inf ( anymultirange ) → boolean
addedbit_xor
--- 13
+++ 14
@@ -0,0 +1,4 @@
+bit_xor ( smallint ) → smallint
+bit_xor ( integer ) → integer
+bit_xor ( bigint ) → bigint
+bit_xor ( bit ) → bit
addedrange_agg
--- 13
+++ 14
@@ -0,0 +1 @@
+range_agg ( value anyrange ) → anymultirange
addedrange_intersect_agg
--- 13
+++ 14
@@ -0,0 +1,2 @@
+range_intersect_agg ( value anyrange ) → anyrange
+range_intersect_agg ( value anymultirange ) → anymultirange
changedlag
--- 13
+++ 14
@@ -1 +1 @@
-lag ( value anyelement [, offset integer [, default anyelement ]] ) → anyelement
+lag ( value anycompatible [, offset integer [, default anycompatible ]] ) → anycompatible
changedlead
--- 13
+++ 14
@@ -1 +1 @@
-lead ( value anyelement [, offset integer [, default anyelement ]] ) → anyelement
+lead ( value anycompatible [, offset integer [, default anycompatible ]] ) → anycompatible
addedpg_get_catalog_foreign_keys
--- 13
+++ 14
@@ -0,0 +1 @@
+pg_get_catalog_foreign_keys () → setof record ( fktable regclass, fkcols text[], pktable regclass, pkcols text[], is_array boolean, is_opt boolean )
changedpg_get_keywords
--- 13
+++ 14
@@ -1 +1 @@
-pg_get_keywords () → setof record ( word text, catcode "char", catdesc text )
+pg_get_keywords () → setof record ( word text, catcode "char", barelabel boolean, catdesc text, baredesc text )
addedpg_get_partition_constraintdef
--- 13
+++ 14
@@ -0,0 +1 @@
+pg_get_partition_constraintdef ( table oid ) → text
changedpg_last_committed_xact
--- 13
+++ 14
@@ -1 +1 @@
-pg_last_committed_xact () → record ( xid xid, timestamp timestamp with time zone )
+pg_last_committed_xact () → record ( xid xid, timestamp timestamp with time zone, roident oid )
addedpg_xact_commit_timestamp_origin
--- 13
+++ 14
@@ -0,0 +1 @@
+pg_xact_commit_timestamp_origin ( xid ) → record ( timestamp timestamp with time zone, roident oid)
addedpg_column_compression
--- 13
+++ 14
@@ -0,0 +1 @@
+pg_column_compression ( "any" ) → text
changedpg_create_logical_replication_slot
--- 13
+++ 14
@@ -1 +1 @@
-pg_create_logical_replication_slot ( slot_name name, plugin name [, temporary boolean ] ) → record ( slot_name name, lsn pg_lsn )
+pg_create_logical_replication_slot ( slot_name name, plugin name [, temporary boolean, twophase boolean ] ) → record ( slot_name name, lsn pg_lsn )
addedpg_get_wal_replay_pause_state
--- 13
+++ 14
@@ -0,0 +1 @@
+pg_get_wal_replay_pause_state () → text
addedpg_log_backend_memory_contexts
--- 13
+++ 14
@@ -0,0 +1 @@
+pg_log_backend_memory_contexts ( pid integer ) → boolean
changedpg_terminate_backend
--- 13
+++ 14
@@ -1 +1 @@
-pg_terminate_backend ( pid integer ) → boolean
+pg_terminate_backend ( pid integer, timeout bigint DEFAULT 0 ) → boolean