pg_partman 4.2 adds preliminary support for PostgreSQL 12 and introduces an important change to how
UNLOGGED tables are managed in a partition set.
pg_partman is a PostgreSQL extension that helps you to manage both time series and serial-based table partition sets, including automatic management of partition creation and runtime maintenance. pg_partman works with the native partitioning introduced into PostgreSQL 10 so users can benefit from significant performance enhancements.
You can follow the instructions in the README to install pg_partman or use a preferred package manager of your choice.
pg_partman has added preliminary support for PostgreSQL 12, and will be dropping support for PostgreSQL 9.4 after PostgreSQL 12 is released.
As of PostgreSQL 12, pg_partman will no longer support inheriting OIDs as this special column behavior has been removed.
UNLOGGED status of a partition set in native partitioning is now managed by the template table instead of the parent table.
Currently in PostgreSQL, setting a natively partitioned parent table as
LOGGED is not a property that can be changed with an
ALTER TABLE. If the state of
LOGGED is subsequently changed on the parent table, it will not be passed on to new child tables.
If you believe you have child tables affected by this, you will have to fix them manually. If any of your native partition sets are
UNLOGGED, be sure to set this property on the template table before upgrading to this version.
pg_partman will maintain this behavior until PostgreSQL determines a definitive way that
UNLOGGED changes will be handled. For more information, please see: https://www.postgresql.org/message-id/flat/15954-b61523bed4b110c4%40postgresql.org
ANALYZEon child table creation to false for PostgreSQL 11 and later versions. If this is desired, please set the option
pg_partman_bgw.analyzeto true in your postgresql.conf.
part_config(_sub)table to control whether the additional constraints that pg_partman can manage are added in a
NOT VALIDstate. By default, the constraints are added as
VALIDas they were before. Note that if this config is changed to
false, constraint exclusion will not work until the constraints are validated.
create_parent()when the data type of the partition column is numeric. Previously, it would not report any errors but would also not add the proper data to the
part_configtable so future maintenance would not work.