{"repo":"cybertec-postgresql/pg_squeeze","free":true,"listed":false,"github":"https://github.com/cybertec-postgresql/pg_squeeze","clone":"git clone https://github.com/cybertec-postgresql/pg_squeeze.git","description":"A PostgreSQL extension for automatic bloat cleanup","language":"C","stars":690,"topics":["postgresql-extension","postgresql"],"license":null,"category":"databases-storage","readme_excerpt":"PostgreSQL extension that removes unused space from a table and optionally sorts tuples according to particular index (as if [CLUSTER][2] command was executed concurrently with regular reads / writes). In fact we try to replace [ pg repack ][1] extension. While providing very similar functionality, pg squeeze takes a different approach as it: 1. Implements the functionality purely on server side. 2. Utilizes recent improvements of PostgreSQL database server. While (1) makes both configuration and use simpler (compared to [pg repack][1] which uses both server and client side code), it also allows for rather smooth implementation of unattended processing using [background workers][3]. As for (2), one important difference (besides the use of background workers) is that we use [logical decoding][4] instead of triggers to capture concurrent changes. INSTALL Install PostgreSQL before proceeding. Make sure to have pg config binary, these are typically included in -dev and -devel packages. Set the following in postgresql.conf : If the PostgreSQL server version is lower than 19, also set this one: Restart the cluster, and invoke: Note: when upgrading a database cluster with pg squeeze installed (either using pg dumpall /restore or pg upgrade ), make sure that the new cluster has pg squeeze in shared preload libraries before you upgrade, otherwise the upgrade will fail. Register table for regular processing First, make sure that your table has an identity index - this is necessary to p","default_branch":null,"files":null,"tree":[],"storefront":"/r/cybertec-postgresql","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/cybertec-postgresql/pg_squeeze/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}