pg_rewrite

pg_rewrite

pg_rewrite : Tool allows read write to the table during the rewriting

Overview

ID Extension Package Version Category License Language
5020
pg_rewrite
pg_rewrite
2.1.0
ADMIN
BSD 3-Clause
C
Attribute Has Binary Has Library Need Load Has DDL Relocatable Trusted
--sLd-r
No
Yes
Yes
Yes
yes
no
Relationships
See Also
pg_repack
pg_squeeze
pgfincore
pg_prewarm
pgstattuple
amcheck
pageinspect
pg_visibility

Packages

Type Repo Version PG Major Compatibility Package Pattern Dependencies
EXT
PGDG
2.1.0
18
17
16
15
14
pg_rewrite -
RPM
PGDG
2.1.0
18
17
16
15
14
pg_rewrite_$v -
DEB
PGDG
2.1.0
18
17
16
15
14
postgresql-$v-pg-rewrite -
Linux / PG PG18 PG17 PG16 PG15 PG14
el8.x86_64
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
el8.aarch64
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
el9.x86_64
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
el9.aarch64
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
el10.x86_64
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
el10.aarch64
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
d12.x86_64
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
d12.aarch64
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
d13.x86_64
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
d13.aarch64
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
u22.x86_64
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
u22.aarch64
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
u24.x86_64
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
u24.aarch64
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
PGDG 2.1.0
Package Version OS ORG SIZE File URL
pg_rewrite_18 2.1.0 el8.x86_64 pgdg 38.3 KiB pg_rewrite_18-2.1.0-1PGDG.rhel8.10.x86_64.rpm
pg_rewrite_18 2.0.0 el8.x86_64 pgdg 37.6 KiB pg_rewrite_18-2.0.0-1PGDG.rhel8.x86_64.rpm
pg_rewrite_18 2.1.0 el8.aarch64 pgdg 36.1 KiB pg_rewrite_18-2.1.0-1PGDG.rhel8.10.aarch64.rpm
pg_rewrite_18 2.0.0 el8.aarch64 pgdg 35.4 KiB pg_rewrite_18-2.0.0-1PGDG.rhel8.aarch64.rpm
pg_rewrite_18 2.1.0 el9.x86_64 pgdg 38.8 KiB pg_rewrite_18-2.1.0-1PGDG.rhel9.7.x86_64.rpm
pg_rewrite_18 2.0.0 el9.x86_64 pgdg 38.1 KiB pg_rewrite_18-2.0.0-1PGDG.rhel9.x86_64.rpm
pg_rewrite_18 2.1.0 el9.aarch64 pgdg 37.2 KiB pg_rewrite_18-2.1.0-1PGDG.rhel9.7.aarch64.rpm
pg_rewrite_18 2.0.0 el9.aarch64 pgdg 36.4 KiB pg_rewrite_18-2.0.0-1PGDG.rhel9.aarch64.rpm
pg_rewrite_18 2.1.0 el10.x86_64 pgdg 39.3 KiB pg_rewrite_18-2.1.0-1PGDG.rhel10.1.x86_64.rpm
pg_rewrite_18 2.0.0 el10.x86_64 pgdg 39.0 KiB pg_rewrite_18-2.0.0-1PGDG.rhel10.x86_64.rpm
pg_rewrite_18 2.1.0 el10.aarch64 pgdg 37.5 KiB pg_rewrite_18-2.1.0-1PGDG.rhel10.1.aarch64.rpm
pg_rewrite_18 2.0.0 el10.aarch64 pgdg 37.1 KiB pg_rewrite_18-2.0.0-1PGDG.rhel10.aarch64.rpm
postgresql-18-pg-rewrite 2.1.0 d12.x86_64 pgdg 76.6 KiB postgresql-18-pg-rewrite_2.1.0-1.pgdg12+1_amd64.deb
postgresql-18-pg-rewrite 2.1.0 d12.aarch64 pgdg 71.8 KiB postgresql-18-pg-rewrite_2.1.0-1.pgdg12+1_arm64.deb
postgresql-18-pg-rewrite 2.1.0 d13.x86_64 pgdg 76.3 KiB postgresql-18-pg-rewrite_2.1.0-1.pgdg13+1_amd64.deb
postgresql-18-pg-rewrite 2.1.0 d13.aarch64 pgdg 71.7 KiB postgresql-18-pg-rewrite_2.1.0-1.pgdg13+1_arm64.deb
postgresql-18-pg-rewrite 2.1.0 u22.x86_64 pgdg 79.0 KiB postgresql-18-pg-rewrite_2.1.0-1.pgdg22.04+1_amd64.deb
postgresql-18-pg-rewrite 2.1.0 u22.aarch64 pgdg 74.0 KiB postgresql-18-pg-rewrite_2.1.0-1.pgdg22.04+1_arm64.deb
postgresql-18-pg-rewrite 2.1.0 u24.x86_64 pgdg 76.3 KiB postgresql-18-pg-rewrite_2.1.0-1.pgdg24.04+1_amd64.deb
postgresql-18-pg-rewrite 2.1.0 u24.aarch64 pgdg 71.6 KiB postgresql-18-pg-rewrite_2.1.0-1.pgdg24.04+1_arm64.deb
Package Version OS ORG SIZE File URL
pg_rewrite_17 2.1.0 el8.x86_64 pgdg 37.9 KiB pg_rewrite_17-2.1.0-1PGDG.rhel8.10.x86_64.rpm
pg_rewrite_17 2.0.0 el8.x86_64 pigsty 37.0 KiB pg_rewrite_17-2.0.0-1PIGSTY.el8.x86_64.rpm
pg_rewrite_17 2.0.0 el8.x86_64 pgdg 37.2 KiB pg_rewrite_17-2.0.0-1PGDG.rhel8.x86_64.rpm
pg_rewrite_17 2.1.0 el8.aarch64 pgdg 35.8 KiB pg_rewrite_17-2.1.0-1PGDG.rhel8.10.aarch64.rpm
pg_rewrite_17 2.0.0 el8.aarch64 pigsty 35.0 KiB pg_rewrite_17-2.0.0-1PIGSTY.el8.aarch64.rpm
pg_rewrite_17 2.0.0 el8.aarch64 pgdg 35.1 KiB pg_rewrite_17-2.0.0-1PGDG.rhel8.aarch64.rpm
pg_rewrite_17 2.1.0 el9.x86_64 pgdg 38.5 KiB pg_rewrite_17-2.1.0-1PGDG.rhel9.7.x86_64.rpm
pg_rewrite_17 2.0.0 el9.x86_64 pigsty 37.7 KiB pg_rewrite_17-2.0.0-1PIGSTY.el9.x86_64.rpm
pg_rewrite_17 2.0.0 el9.x86_64 pgdg 37.9 KiB pg_rewrite_17-2.0.0-1PGDG.rhel9.x86_64.rpm
pg_rewrite_17 2.1.0 el9.aarch64 pgdg 36.9 KiB pg_rewrite_17-2.1.0-1PGDG.rhel9.7.aarch64.rpm
pg_rewrite_17 2.0.0 el9.aarch64 pigsty 36.1 KiB pg_rewrite_17-2.0.0-1PIGSTY.el9.aarch64.rpm
pg_rewrite_17 2.0.0 el9.aarch64 pgdg 36.2 KiB pg_rewrite_17-2.0.0-1PGDG.rhel9.aarch64.rpm
pg_rewrite_17 2.1.0 el10.x86_64 pgdg 39.0 KiB pg_rewrite_17-2.1.0-1PGDG.rhel10.1.x86_64.rpm
pg_rewrite_17 2.0.0 el10.x86_64 pgdg 38.7 KiB pg_rewrite_17-2.0.0-1PGDG.rhel10.x86_64.rpm
pg_rewrite_17 2.1.0 el10.aarch64 pgdg 37.5 KiB pg_rewrite_17-2.1.0-1PGDG.rhel10.1.aarch64.rpm
pg_rewrite_17 2.0.0 el10.aarch64 pgdg 37.2 KiB pg_rewrite_17-2.0.0-1PGDG.rhel10.aarch64.rpm
postgresql-17-pg-rewrite 2.1.0 d12.x86_64 pgdg 75.6 KiB postgresql-17-pg-rewrite_2.1.0-1.pgdg12+1_amd64.deb
postgresql-17-pg-rewrite 2.1.0 d12.aarch64 pgdg 71.2 KiB postgresql-17-pg-rewrite_2.1.0-1.pgdg12+1_arm64.deb
postgresql-17-pg-rewrite 2.1.0 d13.x86_64 pgdg 75.5 KiB postgresql-17-pg-rewrite_2.1.0-1.pgdg13+1_amd64.deb
postgresql-17-pg-rewrite 2.1.0 d13.aarch64 pgdg 71.2 KiB postgresql-17-pg-rewrite_2.1.0-1.pgdg13+1_arm64.deb
postgresql-17-pg-rewrite 2.1.0 u22.x86_64 pgdg 90.4 KiB postgresql-17-pg-rewrite_2.1.0-1.pgdg22.04+1_amd64.deb
postgresql-17-pg-rewrite 2.1.0 u22.aarch64 pgdg 85.8 KiB postgresql-17-pg-rewrite_2.1.0-1.pgdg22.04+1_arm64.deb
postgresql-17-pg-rewrite 2.1.0 u24.x86_64 pgdg 75.7 KiB postgresql-17-pg-rewrite_2.1.0-1.pgdg24.04+1_amd64.deb
postgresql-17-pg-rewrite 2.1.0 u24.aarch64 pgdg 70.9 KiB postgresql-17-pg-rewrite_2.1.0-1.pgdg24.04+1_arm64.deb
Package Version OS ORG SIZE File URL
pg_rewrite_16 2.1.0 el8.x86_64 pgdg 37.9 KiB pg_rewrite_16-2.1.0-1PGDG.rhel8.10.x86_64.rpm
pg_rewrite_16 2.0.0 el8.x86_64 pgdg 37.3 KiB pg_rewrite_16-2.0.0-1PGDG.rhel8.x86_64.rpm
pg_rewrite_16 1.1.0 el8.x86_64 pgdg 36.0 KiB pg_rewrite_16-1.1.0-1PGDG.rhel8.x86_64.rpm
pg_rewrite_16 2.1.0 el8.aarch64 pgdg 35.8 KiB pg_rewrite_16-2.1.0-1PGDG.rhel8.10.aarch64.rpm
pg_rewrite_16 2.0.0 el8.aarch64 pgdg 35.1 KiB pg_rewrite_16-2.0.0-1PGDG.rhel8.aarch64.rpm
pg_rewrite_16 1.1.0 el8.aarch64 pgdg 34.1 KiB pg_rewrite_16-1.1.0-1PGDG.rhel8.aarch64.rpm
pg_rewrite_16 2.1.0 el9.x86_64 pgdg 38.4 KiB pg_rewrite_16-2.1.0-1PGDG.rhel9.7.x86_64.rpm
pg_rewrite_16 2.0.0 el9.x86_64 pgdg 37.9 KiB pg_rewrite_16-2.0.0-1PGDG.rhel9.x86_64.rpm
pg_rewrite_16 1.1.0 el9.x86_64 pgdg 36.4 KiB pg_rewrite_16-1.1.0-1PGDG.rhel9.x86_64.rpm
pg_rewrite_16 2.1.0 el9.aarch64 pgdg 36.9 KiB pg_rewrite_16-2.1.0-1PGDG.rhel9.7.aarch64.rpm
pg_rewrite_16 2.0.0 el9.aarch64 pgdg 36.3 KiB pg_rewrite_16-2.0.0-1PGDG.rhel9.aarch64.rpm
pg_rewrite_16 1.1.0 el9.aarch64 pgdg 34.9 KiB pg_rewrite_16-1.1.0-1PGDG.rhel9.aarch64.rpm
pg_rewrite_16 2.1.0 el10.x86_64 pgdg 39.0 KiB pg_rewrite_16-2.1.0-1PGDG.rhel10.1.x86_64.rpm
pg_rewrite_16 2.0.0 el10.x86_64 pgdg 38.7 KiB pg_rewrite_16-2.0.0-1PGDG.rhel10.x86_64.rpm
pg_rewrite_16 1.1.0 el10.x86_64 pgdg 37.3 KiB pg_rewrite_16-1.1.0-1PGDG.rhel10.x86_64.rpm
pg_rewrite_16 2.1.0 el10.aarch64 pgdg 37.5 KiB pg_rewrite_16-2.1.0-1PGDG.rhel10.1.aarch64.rpm
pg_rewrite_16 2.0.0 el10.aarch64 pgdg 37.2 KiB pg_rewrite_16-2.0.0-1PGDG.rhel10.aarch64.rpm
pg_rewrite_16 1.1.0 el10.aarch64 pgdg 35.9 KiB pg_rewrite_16-1.1.0-1PGDG.rhel10.aarch64.rpm
postgresql-16-pg-rewrite 2.1.0 d12.x86_64 pgdg 75.4 KiB postgresql-16-pg-rewrite_2.1.0-1.pgdg12+1_amd64.deb
postgresql-16-pg-rewrite 2.1.0 d12.aarch64 pgdg 71.1 KiB postgresql-16-pg-rewrite_2.1.0-1.pgdg12+1_arm64.deb
postgresql-16-pg-rewrite 2.1.0 d13.x86_64 pgdg 75.4 KiB postgresql-16-pg-rewrite_2.1.0-1.pgdg13+1_amd64.deb
postgresql-16-pg-rewrite 2.1.0 d13.aarch64 pgdg 71.0 KiB postgresql-16-pg-rewrite_2.1.0-1.pgdg13+1_arm64.deb
postgresql-16-pg-rewrite 2.1.0 u22.x86_64 pgdg 89.7 KiB postgresql-16-pg-rewrite_2.1.0-1.pgdg22.04+1_amd64.deb
postgresql-16-pg-rewrite 2.1.0 u22.aarch64 pgdg 85.0 KiB postgresql-16-pg-rewrite_2.1.0-1.pgdg22.04+1_arm64.deb
postgresql-16-pg-rewrite 2.1.0 u24.x86_64 pgdg 75.4 KiB postgresql-16-pg-rewrite_2.1.0-1.pgdg24.04+1_amd64.deb
postgresql-16-pg-rewrite 2.1.0 u24.aarch64 pgdg 70.8 KiB postgresql-16-pg-rewrite_2.1.0-1.pgdg24.04+1_arm64.deb
Package Version OS ORG SIZE File URL
pg_rewrite_15 2.1.0 el8.x86_64 pgdg 38.0 KiB pg_rewrite_15-2.1.0-1PGDG.rhel8.10.x86_64.rpm
pg_rewrite_15 2.0.0 el8.x86_64 pgdg 37.3 KiB pg_rewrite_15-2.0.0-1PGDG.rhel8.x86_64.rpm
pg_rewrite_15 1.1.0 el8.x86_64 pgdg 36.0 KiB pg_rewrite_15-1.1.0-1PGDG.rhel8.x86_64.rpm
pg_rewrite_15 2.1.0 el8.aarch64 pgdg 35.8 KiB pg_rewrite_15-2.1.0-1PGDG.rhel8.10.aarch64.rpm
pg_rewrite_15 2.0.0 el8.aarch64 pgdg 35.1 KiB pg_rewrite_15-2.0.0-1PGDG.rhel8.aarch64.rpm
pg_rewrite_15 1.1.0 el8.aarch64 pgdg 34.0 KiB pg_rewrite_15-1.1.0-1PGDG.rhel8.aarch64.rpm
pg_rewrite_15 2.1.0 el9.x86_64 pgdg 38.6 KiB pg_rewrite_15-2.1.0-1PGDG.rhel9.7.x86_64.rpm
pg_rewrite_15 2.0.0 el9.x86_64 pgdg 38.0 KiB pg_rewrite_15-2.0.0-1PGDG.rhel9.x86_64.rpm
pg_rewrite_15 1.1.0 el9.x86_64 pgdg 36.5 KiB pg_rewrite_15-1.1.0-1PGDG.rhel9.x86_64.rpm
pg_rewrite_15 2.1.0 el9.aarch64 pgdg 36.9 KiB pg_rewrite_15-2.1.0-1PGDG.rhel9.7.aarch64.rpm
pg_rewrite_15 2.0.0 el9.aarch64 pgdg 36.2 KiB pg_rewrite_15-2.0.0-1PGDG.rhel9.aarch64.rpm
pg_rewrite_15 1.1.0 el9.aarch64 pgdg 34.9 KiB pg_rewrite_15-1.1.0-1PGDG.rhel9.aarch64.rpm
pg_rewrite_15 2.1.0 el10.x86_64 pgdg 38.9 KiB pg_rewrite_15-2.1.0-1PGDG.rhel10.1.x86_64.rpm
pg_rewrite_15 2.0.0 el10.x86_64 pgdg 38.7 KiB pg_rewrite_15-2.0.0-1PGDG.rhel10.x86_64.rpm
pg_rewrite_15 1.1.0 el10.x86_64 pgdg 37.5 KiB pg_rewrite_15-1.1.0-1PGDG.rhel10.x86_64.rpm
pg_rewrite_15 2.1.0 el10.aarch64 pgdg 37.3 KiB pg_rewrite_15-2.1.0-1PGDG.rhel10.1.aarch64.rpm
pg_rewrite_15 2.0.0 el10.aarch64 pgdg 37.0 KiB pg_rewrite_15-2.0.0-1PGDG.rhel10.aarch64.rpm
pg_rewrite_15 1.1.0 el10.aarch64 pgdg 36.1 KiB pg_rewrite_15-1.1.0-1PGDG.rhel10.aarch64.rpm
postgresql-15-pg-rewrite 2.1.0 d12.x86_64 pgdg 75.4 KiB postgresql-15-pg-rewrite_2.1.0-1.pgdg12+1_amd64.deb
postgresql-15-pg-rewrite 2.1.0 d12.aarch64 pgdg 70.8 KiB postgresql-15-pg-rewrite_2.1.0-1.pgdg12+1_arm64.deb
postgresql-15-pg-rewrite 2.1.0 d13.x86_64 pgdg 75.2 KiB postgresql-15-pg-rewrite_2.1.0-1.pgdg13+1_amd64.deb
postgresql-15-pg-rewrite 2.1.0 d13.aarch64 pgdg 70.6 KiB postgresql-15-pg-rewrite_2.1.0-1.pgdg13+1_arm64.deb
postgresql-15-pg-rewrite 2.1.0 u22.x86_64 pgdg 89.5 KiB postgresql-15-pg-rewrite_2.1.0-1.pgdg22.04+1_amd64.deb
postgresql-15-pg-rewrite 2.1.0 u22.aarch64 pgdg 84.5 KiB postgresql-15-pg-rewrite_2.1.0-1.pgdg22.04+1_arm64.deb
postgresql-15-pg-rewrite 2.1.0 u24.x86_64 pgdg 75.2 KiB postgresql-15-pg-rewrite_2.1.0-1.pgdg24.04+1_amd64.deb
postgresql-15-pg-rewrite 2.1.0 u24.aarch64 pgdg 70.6 KiB postgresql-15-pg-rewrite_2.1.0-1.pgdg24.04+1_arm64.deb
Package Version OS ORG SIZE File URL
pg_rewrite_14 2.1.0 el8.x86_64 pgdg 38.1 KiB pg_rewrite_14-2.1.0-1PGDG.rhel8.10.x86_64.rpm
pg_rewrite_14 2.0.0 el8.x86_64 pgdg 37.5 KiB pg_rewrite_14-2.0.0-1PGDG.rhel8.x86_64.rpm
pg_rewrite_14 1.1.0 el8.x86_64 pgdg 36.2 KiB pg_rewrite_14-1.1.0-1PGDG.rhel8.x86_64.rpm
pg_rewrite_14 2.1.0 el8.aarch64 pgdg 35.8 KiB pg_rewrite_14-2.1.0-1PGDG.rhel8.10.aarch64.rpm
pg_rewrite_14 2.0.0 el8.aarch64 pgdg 35.2 KiB pg_rewrite_14-2.0.0-1PGDG.rhel8.aarch64.rpm
pg_rewrite_14 1.1.0 el8.aarch64 pgdg 34.0 KiB pg_rewrite_14-1.1.0-1PGDG.rhel8.aarch64.rpm
pg_rewrite_14 2.1.0 el9.x86_64 pgdg 38.7 KiB pg_rewrite_14-2.1.0-1PGDG.rhel9.7.x86_64.rpm
pg_rewrite_14 2.0.0 el9.x86_64 pgdg 38.1 KiB pg_rewrite_14-2.0.0-1PGDG.rhel9.x86_64.rpm
pg_rewrite_14 1.1.0 el9.x86_64 pgdg 36.8 KiB pg_rewrite_14-1.1.0-1PGDG.rhel9.x86_64.rpm
pg_rewrite_14 2.1.0 el9.aarch64 pgdg 37.1 KiB pg_rewrite_14-2.1.0-1PGDG.rhel9.7.aarch64.rpm
pg_rewrite_14 2.0.0 el9.aarch64 pgdg 36.5 KiB pg_rewrite_14-2.0.0-1PGDG.rhel9.aarch64.rpm
pg_rewrite_14 1.1.0 el9.aarch64 pgdg 35.0 KiB pg_rewrite_14-1.1.0-1PGDG.rhel9.aarch64.rpm
pg_rewrite_14 2.1.0 el10.x86_64 pgdg 39.2 KiB pg_rewrite_14-2.1.0-1PGDG.rhel10.1.x86_64.rpm
pg_rewrite_14 2.0.0 el10.x86_64 pgdg 39.0 KiB pg_rewrite_14-2.0.0-1PGDG.rhel10.x86_64.rpm
pg_rewrite_14 1.1.0 el10.x86_64 pgdg 37.6 KiB pg_rewrite_14-1.1.0-1PGDG.rhel10.x86_64.rpm
pg_rewrite_14 2.1.0 el10.aarch64 pgdg 37.4 KiB pg_rewrite_14-2.1.0-1PGDG.rhel10.1.aarch64.rpm
pg_rewrite_14 2.0.0 el10.aarch64 pgdg 37.2 KiB pg_rewrite_14-2.0.0-1PGDG.rhel10.aarch64.rpm
pg_rewrite_14 1.1.0 el10.aarch64 pgdg 36.3 KiB pg_rewrite_14-1.1.0-1PGDG.rhel10.aarch64.rpm
postgresql-14-pg-rewrite 2.1.0 d12.x86_64 pgdg 75.6 KiB postgresql-14-pg-rewrite_2.1.0-1.pgdg12+1_amd64.deb
postgresql-14-pg-rewrite 2.1.0 d12.aarch64 pgdg 71.3 KiB postgresql-14-pg-rewrite_2.1.0-1.pgdg12+1_arm64.deb
postgresql-14-pg-rewrite 2.1.0 d13.x86_64 pgdg 75.2 KiB postgresql-14-pg-rewrite_2.1.0-1.pgdg13+1_amd64.deb
postgresql-14-pg-rewrite 2.1.0 d13.aarch64 pgdg 70.9 KiB postgresql-14-pg-rewrite_2.1.0-1.pgdg13+1_arm64.deb
postgresql-14-pg-rewrite 2.1.0 u22.x86_64 pgdg 89.6 KiB postgresql-14-pg-rewrite_2.1.0-1.pgdg22.04+1_amd64.deb
postgresql-14-pg-rewrite 2.1.0 u22.aarch64 pgdg 84.9 KiB postgresql-14-pg-rewrite_2.1.0-1.pgdg22.04+1_arm64.deb
postgresql-14-pg-rewrite 2.1.0 u24.x86_64 pgdg 75.4 KiB postgresql-14-pg-rewrite_2.1.0-1.pgdg24.04+1_amd64.deb
postgresql-14-pg-rewrite 2.1.0 u24.aarch64 pgdg 71.1 KiB postgresql-14-pg-rewrite_2.1.0-1.pgdg24.04+1_arm64.deb

Source

Install

Make sure PGDG repo available:

pig repo add pgdg -u    # add pgdg repo and update cache

Install this extension with pig:

pig install pg_rewrite;		# install via package name, for the active PG version

pig install pg_rewrite -v 18;   # install for PG 18
pig install pg_rewrite -v 17;   # install for PG 17
pig install pg_rewrite -v 16;   # install for PG 16
pig install pg_rewrite -v 15;   # install for PG 15
pig install pg_rewrite -v 14;   # install for PG 14

Config this extension to shared_preload_libraries:

shared_preload_libraries = 'pg_rewrite';

Create this extension with:

CREATE EXTENSION pg_rewrite;

Usage

pg_rewrite: Tool allows read write to the table during the rewriting

pg_rewrite requires wal_level = logical and must be added to shared_preload_libraries. Common use cases include changing column data types, partitioning tables, reordering columns, and moving tables to different tablespaces – all while allowing concurrent reads and writes.

Rewrite a Table

Create the target table with the desired schema, then call rewrite_table():

-- Source table
CREATE TABLE measurement (id int, city_id int NOT NULL, logdate date NOT NULL, peaktemp int, PRIMARY KEY(id, logdate));

-- Target table with new schema (e.g., bigint id + partitioning)
CREATE TABLE measurement_aux (id bigint, city_id int NOT NULL, logdate date NOT NULL, peaktemp int, PRIMARY KEY(id, logdate))
  PARTITION BY RANGE (logdate);

CREATE TABLE measurement_y2006m02 PARTITION OF measurement_aux FOR VALUES FROM ('2006-02-01') TO ('2006-03-01');

-- Perform the rewrite (copies data, applies concurrent changes, then renames)
SELECT rewrite_table('measurement', 'measurement_aux', 'measurement_old');

Both source and target tables must have an identity index (typically a primary key). The function copies all rows, replays concurrent changes via logical decoding, then atomically renames the tables.

Progress Monitoring

SELECT * FROM pg_rewrite_progress;

Shows ins_initial (initial rows copied), ins, upd, del (concurrent changes applied).

Configuration

  • rewrite.max_xlock_time – Maximum time (ms) the exclusive lock is held during the final rename stage. Default 0 (unlimited). Set to e.g. 100 to limit lock duration to 0.1s; the function will retry if exceeded.
SET rewrite.max_xlock_time TO 100;

Constraints Handling

  • PRIMARY KEY, UNIQUE, EXCLUDE: add to target table before calling rewrite_table()
  • CHECK, NOT NULL (PG18+), FOREIGN KEY: created automatically as NOT VALID; validate with ALTER TABLE ... VALIDATE CONSTRAINT ...
Last updated on