All categories

PostgreSQL 15.3

Free Assists database designers with creating rules to identify specific operations
3.8 
Latest version:
16.1 See all

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.


v15.3 [May 25, 2023]
- Prevent CREATE SCHEMA from defeating changes in search_path (Alexander Lakhin). Within a CREATE SCHEMA command, objects in the prevailing search_path, as well as those in the newly-created schema, would be visible even within a called function or script that attempted to set a secure search_path. This could allow any user having permission to create a schema to hijack the privileges of a security definer function or extension script.
- Fix memory leakage and unnecessary disk reads during CREATE DATABASE with the STRATEGY WAL_LOG option (Andres Freund). - Avoid crash when the new schema name is omitted in CREATE SCHEMA (Michael Paquier). The SQL standard allows writing CREATE SCHEMA AUTHORIZATION owner_name, with the schema name defaulting to owner_name. However some code paths expected the schema name to be present and would fail.
- Fix various planner failures with MERGE commands (Tom Lane). Planning could fail with errors like “variable not found in subplan target list” or “PlaceHolderVar found where not expected”.
- Fix the row count reported by MERGE for some corner cases (Dean Rasheed). The row count reported in the command tag counted rows that actually hadn't been modified due to a BEFORE ROW trigger returning NULL. This is inconsistent with what happens in plain UPDATE or DELETE, so change it to not count such rows. Also, avoid counting a row twice when MERGE moves it into a different partition of a partitioned table.
- Fix MERGE problems with concurrent updates (Dean Rasheed, Álvaro Herrera). Some cases misbehaved if a row to be updated or deleted by MERGE had just been updated by a concurrent transaction. This could lead to a crash, or the wrong merge action being executed, or no action at all.
- Add support for decompiling MERGE commands (Álvaro Herrera). This was overlooked when MERGE was added, but it's essential support for MERGE in new-style SQL functions.
- Fix enabling/disabling of foreign-key triggers in partitioned tables (Tom Lane). ALTER TABLE ... ENABLE/DISABLE TRIGGER failed if applied to a partitioned table's foreign-key enforcement triggers, because it tried to locate the clone triggers for the partitions by name, and they do not have the same name. Locate them by parent-trigger OID instead.
- Disallow altering composite types that are stored in indexes (Tom Lane). ALTER TYPE disallows non-binary-compatible modifications of composite types if they are stored in any table columns. (Perhaps that will be allowed someday, but it hasn't happened yet; the locking implications of rewriting many tables are daunting.) We overlooked the possibility that an index might contain a composite type that doesn't also appear in its table.
- Disallow system columns as elements of foreign keys (Tom Lane). Since the removal of OID as a system column, there is no plausible use-case for this, and various bits of code no longer support it. Disallow it rather than trying to fix all the cases.
- Ensure that COPY TO from an RLS-enabled parent table does not copy any rows from child tables (Antonin Houska). The documentation is quite clear that COPY TO copies rows from only the named table, not any inheritance children it may have. However, if row-level security was enabled on the table then this stopped being true.
- Avoid possible crash when array_position() or array_positions() is passed an empty array (Tom Lane). - Fix possible out-of-bounds fetch in to_char() (Tom Lane). With bad luck this could have resulted in a server crash.
- Avoid buffer overread in translate() function (Daniil Anisimov). When using the deletion feature, the function might fetch the byte just after the input string, creating a small risk of crash.
- Adjust text-search-related character classification logic to correctly detect whether the prevailing locale is C (Jeff Davis). This code got confused if the database's default collation uses ICU.
- Avoid possible crash on empty input for type interval (Tom Lane). - Re-allow exponential notation in ISO-8601 interval fields (Tom Lane). Interval input like P0.1e10D isn't officially sanctioned by ISO-8601, but we accepted it for a long time before version 15, so re-allow it.
- Fix error cursor setting for parse errors in JSON string literals (Tom Lane).

Suggestions

Firebird
Firebird
Free

Feature-rich relational database known for its high performance and excellent concurrency

PL/SQL Developer
PL/SQL Developer
Free

Develops stored program units for Oracle Databases

MySQL Installer
MySQL Installer
Free

It is a tool which will give you the freedom to manage all your MySQL apps

Download
Free