Step-by-step PostgreSQL 12.3 to 12.5 Upgrade

We at MinervaDB PostgreSQL Support strongly recommend PostgreSQL minor upgrades in a rolling fashion, i.e., in a PostgreSQL Master – Slave Replication, perform upgrade on one server after another (usually we begin with upgrade on slave), but definitely not all-at-once. The following are the sequence of steps you should follow to upgrade to upgrade from PostgreSQL 12.3 to PostgreSQL 12.5:

  1. Shutdown the PostgreSQL database server in slave
  2. Install the updated binaries
  3. Restart your PostgreSQL database server in slave

P.S. – In this example we have used Ubuntu 18.04 (bionic)

Step 1 – Import the repository key from

Step 2 – Install PostgreSQL 12.5:

Step 3 – Confirm PostgreSQL 12.5 is installed successfully:

Performance improvements in PostgreSQL 12

  • Optimal space utilization and read/write performance for B-tree indexes
  • Partitioning performance enhancements, including improved query performance on tables with thousands of partitions, improved insertion performance with INSERT and COPY, and the ability to execute ALTER TABLE ATTACH PARTITION without blocking queries
  • Automatic (but overridable) inlining of common table expressions (CTEs)
  • Reduction of WAL overhead for creation of GiST, GIN, and SP-GiST indexes
  • Support for covering GiST indexes, via the INCLUDE clause
  • Multi-column most-common-value (MCV) statistics can be defined via CREATE STATISTICS, to support better plans for queries that test several non-uniformly-distributed columns
  • REINDEX CONCURRENTLY can rebuild an index without blocking writes to its table
  • pg_checksums can enable/disable page checksums (used for detecting data corruption) in an offline cluster
  • Progress reporting statistics for CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL, and pg_checksums
  • Support for the SQL/JSON path language
  • Stored generated columns
  • Nondeterministic ICU collations, enabling case-insensitive and accent-insensitive grouping and ordering
  • New authentication features, including:
    • Encryption of TCP/IP connections when using GSSAPI authentication
    • Discovery of LDAP servers using DNS SRV records
    • Multi-factor authentication, using the clientcert=verify-full option combined with an additional authentication method in pg_hba.conf