PostgreSQL Partition Manager (pg_partman) 4.2.0 Released

Keith Fiske <[email protected]> Fri, 23 Aug 2019 13:19:15 -0400
Newsgroups gmane.comp.db.postgresql.announce
Message-ID <CAODZiv4JEZcvkLHwfw9gMJMfr33uzP9VzLCayMgw=PjJhH0ALw@mail.gmail.com>
--000000000000f81ff60590cc0216
Content-Type: text/plain; charset="UTF-8"

Crunchy Data is pleased to announce the release of pg_partman 4.2.0, the
latest version of the open source partition management PostgreSQL extension.

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 or use a preferred
package manager of your choice.


Notable Changes

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.

The 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 UNLOGGED/LOGGED
is not a property that can be changed with an ALTER TABLE. If the state of
UNLOGGED/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

Changed default option for the maintenance background worker running
ANALYZE on child table creation to false for PostgreSQL 11 and later
versions. If this is desired, please set the option pg_partman_bgw.analyze
to true in your postgresql.conf.


Features

Added new configuration option "constraint_valid" to the part_config(_sub)
table to control whether the additional constraints that pg_partman can
[manage](
https://github.com/pgpartman/pg_partman/blob/master/doc/pg_partman.md#constraint-exclusion)
are added in a NOT VALID state. By default, the constraints are added as
VALID as they were before. Note that if this config is changed to false,
constraint exclusion will not work until the constraints are validated.


Fixes

 - Fixed bug that prevented pg_partman from creating child tables in
PostgreSQL 12 due to usage of pg_class.relhasoids column

 - Fixed bug where primary key/unique indexes applied to pre-existing
template tables were not being applied to the default partition that was
added in PostgreSQL 11 native partitioning.

 - Fixed bug that caused an error in the retention management of time-based
partitioning sets. If retention would attempt to remove the last child
table, maintenance would throw an error about a missing table instead of
just a warning about the last table attempting to be dropped.

 - Properly throw an error with 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_config table so future
maintenance would not work.


Links

Website - https://github.com/pgpartman/pg_partman
Download - https://github.com/pgpartman/pg_partman#installation
Documentation -
https://github.com/pgpartman/pg_partman/blob/master/doc/pg_partman.md
Release Notes -
https://github.com/pgpartman/pg_partman/blob/master/CHANGELOG.txt
Crunchy Data - https://www.crunchydata.com

Crunchy Data is proud to support the development and maintenance of
pg_partman.


-- 
Keith Fiske
Senior Database Engineer
Crunchy Data - http://crunchydata.com

--000000000000f81ff60590cc0216
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br>Crunchy Data is pleased to announce the release of pg_=
partman 4.2.0, the latest version of the open source partition management P=
ostgreSQL extension.<br><br>pg_partman 4.2 adds preliminary support for Pos=
tgreSQL 12 and introduces an important change to how UNLOGGED tables are ma=
naged in a partition set.<br><br>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 maintenan=
ce. pg_partman works with the native partitioning introduced into PostgreSQ=
L 10 so users can benefit from significant performance enhancements.<br><br=
>You can follow the instructions in the README to install or use a preferre=
d package manager of your choice.<br><br><br>Notable Changes<br><br>pg_part=
man has added preliminary support for PostgreSQL 12, and will be dropping s=
upport for PostgreSQL 9.4 after PostgreSQL 12 is released.<br><br>As of Pos=
tgreSQL 12, pg_partman will no longer support inheriting OIDs as this speci=
al column behavior has been removed.<br><br>The UNLOGGED status of a partit=
ion set in native partitioning is now managed by the template table instead=
 of the parent table. Currently in PostgreSQL, setting a natively partition=
ed parent table as UNLOGGED/LOGGED is not a property that can be changed wi=
th an ALTER TABLE. If the state of UNLOGGED/LOGGED is subsequently changed =
on the parent table, it will not be passed on to new child tables. If you b=
elieve you have child tables affected by this, you will have to fix them ma=
nually. If any of your native partition sets are UNLOGGED, be sure to set t=
his property on the template table before upgrading to this version. pg_par=
tman will maintain this behavior until PostgreSQL determines a definitive w=
ay that UNLOGGED changes will be handled. For more information, please see:=
 <a href=3D"https://www.postgresql.org/message-id/flat/15954-b61523bed4b110=
c4%40postgresql.org">https://www.postgresql.org/message-id/flat/15954-b6152=
3bed4b110c4%40postgresql.org</a><br><br>Changed default option for the main=
tenance background worker running ANALYZE on child table creation to false =
for PostgreSQL 11 and later versions. If this is desired, please set the op=
tion pg_partman_bgw.analyze to true in your postgresql.conf.<br><br><br>Fea=
tures<br><br>Added new configuration option &quot;constraint_valid&quot; to=
 the part_config(_sub) table to control whether the additional constraints =
that pg_partman can [manage](<a href=3D"https://github.com/pgpartman/pg_par=
tman/blob/master/doc/pg_partman.md#constraint-exclusion">https://github.com=
/pgpartman/pg_partman/blob/master/doc/pg_partman.md#constraint-exclusion</a=
>) are added in a NOT VALID state. By default, the constraints are added as=
 VALID as they were before. Note that if this config is changed to false, c=
onstraint exclusion will not work until the constraints are validated.<br><=
br><br>Fixes<br><br>=C2=A0- Fixed bug that prevented pg_partman from creati=
ng child tables in PostgreSQL 12 due to usage of pg_class.relhasoids column=
<br><br>=C2=A0- Fixed bug where primary key/unique indexes applied to pre-e=
xisting template tables were not being applied to the default partition tha=
t was added in PostgreSQL 11 native partitioning.<br><br>=C2=A0- Fixed bug =
that caused an error in the retention management of time-based partitioning=
 sets. If retention would attempt to remove the last child table, maintenan=
ce would throw an error about a missing table instead of just a warning abo=
ut the last table attempting to be dropped.<br><br>=C2=A0- Properly throw a=
n error with 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_config table so future maintenance would not wo=
rk.<br><br><br>Links<br><br>Website - <a href=3D"https://github.com/pgpartm=
an/pg_partman">https://github.com/pgpartman/pg_partman</a><br>Download - <a=
 href=3D"https://github.com/pgpartman/pg_partman#installation">https://gith=
ub.com/pgpartman/pg_partman#installation</a><br>Documentation - <a href=3D"=
https://github.com/pgpartman/pg_partman/blob/master/doc/pg_partman.md">http=
s://github.com/pgpartman/pg_partman/blob/master/doc/pg_partman.md</a><br>Re=
lease Notes - <a href=3D"https://github.com/pgpartman/pg_partman/blob/maste=
r/CHANGELOG.txt">https://github.com/pgpartman/pg_partman/blob/master/CHANGE=
LOG.txt</a><br>Crunchy Data - <a href=3D"https://www.crunchydata.com">https=
://www.crunchydata.com</a><br><br>Crunchy Data is proud to support the deve=
lopment and maintenance of pg_partman.<br><br clear=3D"all"><div><br></div>=
-- <br><div dir=3D"ltr" class=3D"gmail_signature" data-smartmail=3D"gmail_s=
ignature"><div dir=3D"ltr"><div><div dir=3D"ltr">Keith Fiske<br>Senior Data=
base Engineer<br>Crunchy Data - <a href=3D"http://crunchydata.com" target=
=3D"_blank">http://crunchydata.com</a></div></div></div></div></div>

--000000000000f81ff60590cc0216--