Этот ролик о том, как на PostgreSQL сделать резервное копирование нетиповых баз данных «1С»
Чтобы избежать ошибки резервного копирования, связанной с размером данных в таблице Config, необходимо исключить из выгрузки данные таблицы config и выгрузить только ее схему.
Далее с помощью COPY WITH BINARY выгрузить уже данные таблицы.
Определяем размер таблицы Config. Если она превышает 512 Мб, то PG_Dump не сможет создать резервную копию.
Подключаемся к базе через терминал или открываем запросник в pgadmin и пишем в одну строку:
select pg_column_size(config.binarydata) from confiig order by 1 DESC limit 1;
Выполняем и получаем результат.
Значение выводится в байтах.
Скрипт резервного копирования на PostgreSQL:
# указываем Шебанг на баш
#!/bin/sh
#Задаем переменную на дату
DATA=`date +"%Y-%m-%d"`
#Задаем переменную на имя базы
database=Komp_Auto
#Задаем переменную на каталог резервного копирования
KATALOG=/backup/$DATA-$database
#Создаем резервную копию с исключением из выгрузки данных таблицы config
#pg_dump -U postgres --format=directory --jobs=4 --blobs --encoding UTF8 --verbose --exclude-table-data=config --file=$KATALOG $database
#Выгружаем таблицу Config
psql -U postgres --dbname=$database --command "\COPY public.config TO '$KATALOG/public.config.sql' WITH BINARY;"
Скрипт Восстановления PostgreSQL:
Не забываем, что для корректного восстановления базы, загружать данные надо в пустую базу.#!/bin/sh
#Задаем переменную на дату
DATA=`date +"%Y-%m-%d"`
#Задаем переменную на имя базы
database=Komp_Auto_Test
#Задаем переменную на каталог резервного копирования
KATALOG=/backup/$DATA-$database
#Восстанавливаем базу данных
pg_restore -U postgres --verbose --dbname=$database --jobs=4 $KATALOG
#Восстанавливаем данные в таблицу Config
psql -U postgres --dbname=$database --command "\COPY public.config FROM '$KATALOG/public.config.sql' WITH BINARY;"
Предлагаем Вам посмотреть другие ролики:
Распаковочка. Установка сервера 1С:Предприятие и Postrge на операционную систему Linux
Как установить «1С» версии 8.3.21 на Ubuntu версии 22.04
Инфраструктура. Linux и Postgree достойная замена Microsoft
Таймкоды:
00:00:00 Вступление
00:00:26 По какой причине возникает ошибка выделения памяти
00:02:10 Проверка базы
00:03:04 Создание резервной копии
00:05:53 Восстановление резервной копии