
Runs stored procedures in more than a dozen programming languages, including Java, etc. Permits the database designer to create rules which identify specific operations for a given table or view. Offers the ability to database designers to derive new tables from other tables.
PostgreSQL is an object-relational database management system (ORDBMS) created originally at University of California. Its SQL implementation strongly conforms to the ANSI-SQL 92/99 standards supporting it. It has full support for triggers, views, queries, stored procedures, joins, multiple languages, among others. Some features of this Database include multi version concurrency control (MVCC), point in time recovery, tablespaces, replication (asynchronous), nested transaction, online backups, fault tolerance and many other sophisticated features to provide data integrity.
Some of the allowed maximum values offer big possibilities for huge database systems: unlimited maximum Database size, rows per table and indexes per table, or 32TB maximum for a table's size. The system supports SSL and IPv6 protocols. It also supports many data types, like arrays and XML among many others. Third party contributions are also important for this ORDBMS, because many of the tools to develop, access or use this database exist only because of them. The system also supports GIS (Geographical Information System) data and it can be used for mapping and localization purposes.
The current release includes many fixes reported by its contributors and some new features like full text search integration, support for SQL/XML standard, includes some new data types (enumerated, arrays of composite types, XML, Universal Unique Identifier), it improves logging and statics collections, and much more.
Its installation process is very easy to perform; moreover, some third party utilities and programs are included depending your requests or needs. The Stack Builder utility manages all the installations. Its GUI depends on how would you like to view your data; a nice program to view and manage your databases is pgAdmin III. Its documentation is very complete and detailed; you can find a lot of documentation in its website and included with the program. PostgreSQL works in Linux, UNIX and Windows platforms.
v14.5 [Aug 26, 2022]
- Do not let extension scripts replace objects not already belonging to the extension (Tom Lane).
- Fix replay of CREATE DATABASE WAL records on standby servers (Kyotaro Horiguchi, Asim R Praveen, Paul Guo).
- Support “in place” tablespaces (Thomas Munro, Michael Paquier, Álvaro Herrera).
- Fix permissions checks in CREATE INDEX (Nathan Bossart, Noah Misch).
- In extended query protocol, force an immediate commit after CREATE DATABASE and other commands that can't run in a transaction block (Tom Lane).
- Fix race condition when checking transaction visibility (Simon Riggs).
- Fix incorrect plans when sorting by an expression that contains a non-top-level set-returning function (Richard Guo, Tom Lane).
- Fix incorrect permissions-checking code for extended statistics (Richard Guo).
- Fix extended statistics machinery to handle MCV-type statistics on boolean-valued expressions (Tom Lane).
- Avoid planner core dump with constant = ANY(array) clauses when there are MCV-type extended statistics on the array variable (Tom Lane).
- Fix ALTER TABLE ... ENABLE/DISABLE TRIGGER to handle recursion correctly for triggers on partitioned tables (Álvaro Herrera, Amit Langote).
- Allow cancellation of ANALYZE while it is computing extended statistics (Tom Lane, Justin Pryzby).
- Improve syntax error messages for type jsonpath (Andrew Dunstan).
- Ensure that pg_stop_backup() cleans up session state properly (Fujii Masao).
- Fix trim_array() to handle a zero-dimensional array argument sanely (Martin Kalcher).
- Fix join alias matching in FOR [KEY] UPDATE/SHARE clauses (Dean Rasheed).
- Reject ROW() expressions and functions in FROM that have too many columns (Tom Lane).
- Fix dumping of a view using a function in FROM that returns a composite type, when column(s) of the composite type have been dropped since the view was made (Tom Lane).
- Disallow nested backup operations in logical replication walsenders (Fujii Masao).
- Fix memory leak in logical replication subscribers (Hou Zhijie).
- Fix logical replication's checking of replica identity when the target table is partitioned (Shi Yu, Hou Zhijie).
- Fix failures to update cached schema data in a logical replication subscriber after a schema change on the publisher (Shi Yu, Hou Zhijie).
- Fix WAL consistency checking logic to correctly handle BRIN_EVACUATE_PAGE flags (Haiyang Wang).
- Fix erroneous assertion checks in shared hashtable management (Thomas Munro).
- Avoid assertion failure when min_dynamic_shared_memory is set to a non-default value (Thomas Munro).
- Arrange to clean up after commit-time errors within SPI_commit(), rather than expecting callers to do that (Peter Eisentraut, Tom Lane).
- Improve libpq's handling of idle states in pipeline mode (Álvaro Herrera, Kyotaro Horiguchi).
- Avoid core dump in ecpglib with unexpected orders of operations (Tom Lane).
- In ecpglib, avoid redundant newlocale() calls (Noah Misch).
- In psql's \watch command, echo a newline after cancellation with control-C (Pavel Stehule).
- Fix pg_upgrade to detect non-upgradable usages of functions taking anyarray (Justin Pryzby).
- Fix possible report of wrong error condition after clone() failure in pg_upgrade with --clone option (Justin Pryzby).
- Fix contrib/pg_stat_statements to avoid problems with very large query-text files on 32-bit platforms (Tom Lane).
- In contrib/postgres_fdw, prevent batch insertion when there are WITH CHECK OPTION constraints (Etsuro Fujita).
- Fix contrib/postgres_fdw to detect failure to send an asynchronous data fetch query (Fujii Masao).
- Ensure that contrib/postgres_fdw sends constants of regconfig and other reg* types with proper schema qualification (Tom Lane).
- Block signals while allocating dynamic shared memory on Linux (Thomas Munro).
- Detect unexpected EEXIST error from shm_open() (Thomas Munro).
- Avoid using signalfd() on illumos systems (Thomas Munro).