Загрузка данных


Запусти:

gunzip -c /mnt/data/dump.gz \
| sed -E \
    -e '/^MAC (LABEL|CCR)/d' \
    -e '/^ALTER ROLE .* SET ac_session_audit/d' \
    -e 's/[[:space:]]*MACS=FALSE,[[:space:]]*//g' \
    -e 's/,[[:space:]]*MACS=FALSE//g' \
    -e 's/MACS=FALSE//g' \
| gzip > /mnt/data/filtered_dump.gz

После этого обязательно проверь, что WITH (...) не сломался:

gunzip -c /mnt/data/filtered_dump.gz | grep -A10 "CREATE TABLE public._accumrg3035"

Ожидаем увидеть примерно так:

CREATE TABLE public._accumrg3035 (
...
)
WITH (autovacuum_enabled='true', toast.autovacuum_enabled='true');

или, если других параметров не было:

CREATE TABLE ...
;

но не что-то вроде:

WITH (,autovacuum...)

или

WITH ()

Также проверь, что строки MAC действительно исчезли:

gunzip -c /mnt/data/filtered_dump.gz | grep "^MAC "

Ничего вывести не должно.

И проверь, что MACS тоже исчез:

gunzip -c /mnt/data/filtered_dump.gz | grep "MACS="

Тоже не должно быть вывода.

Если эти три проверки проходят, то уже можно восстанавливать:

sudo -u postgres bash -c \
'gunzip -c /mnt/data/filtered_dump.gz | psql postgres 2>&1 | tee /tmp/restore2.log'