среда, 4 сентября 2019 г.

pg_repack ubuntu 18.04

русское описание
  
pg_repack — утилита и расширение для реорганизации таблиц
 
 
$ sudo apt-get update
$ sudo apt-get install postgresql-10-repack
 
$ sudo su postgres
Для каждой базы, в примере demo создать расширение:

$ psql -c "CREATE EXTENSION pg_repack" -d demo
CREATE EXTENSION

Сделать vacuum full всех баз в кластере (где установлены расширения)

$ pg_repack -na

для базы demo
$ time pg_repack -n -d demo

тоже с перестроением индексов в 4 потока
$ time pg_repack -d demo -n -j 4


postgres=# \c demo
Вы подключены к базе данных "demo" как пользователь "postgres".
demo=# select * from pg_available_extensions where installed_version is not null;






$ sudo nano /root/pg_repack.sh

#!/bin/sh -e
DB_BASE=`sudo /bin/su postgres -c "/usr/bin/psql -qAt -c 'SELECT * FROM pg_database;'| \
     cut -d'|' -f1 | /bin/grep -v template | /bin/grep -v postgres"`
echo $DB_BASE
for DB_NAME in $DB_BASE
do
    #echo $DB_NAME
    sudo /bin/su postgres -c "/usr/bin/psql -c 'CREATE EXTENSION IF NOT EXISTS pg_repack'\
        -d $DB_NAME"
    sudo su postgres -c "pg_repack -d $DB_NAME -n"
done

Комментариев нет:

Отправить комментарий