docker exec postgis sh -c "pg_dump -U postgres -Fc postgres" > ./postgis.dump cat ./postgis.dump | docker exec -i agis-postgis-db sh -c "pg_restore -d postgres -c -U postgres"
docker exec postgis sh -c “pg_dump -U postgres -Fc postgres > /var/lib/postgresql/data/1.dump”
pg_dump -U postgres -Fc postgres > /var/lib/postgresql/data/1.dump
pg_dump -h “127.0.0.1” -p “5432” –username “postgres” -Fc postgres>
pg_restore -d postgres ./TileServer-5442-9918-2020-04-22-1154-postgres.dump -c -U postgres
psql -U db_user db_name < dump_name.sql
https://www.postgresql.org/docs/11/backup.html
pg_dump dbname > dumpfile
psql dbname < dumpfile
psql –set ON_ERROR_STOP=on dbname < dumpfile
pg_dump -h host1 dbname | psql -h host2 dbname
pg_dump dbname | gzip > filename.gz
gunzip -c filename.gz | psql dbname или cat filename.gz | gunzip | psql dbname
pg_dump dbname | split -b 1m – filename
cat filename* | psql dbname
Use pg_dump’s custom dump format. If PostgreSQL was built on a system with the zlib compression library installed, the custom dump format will compress data as it writes it to the output file. This will produce dump file sizes similar to using gzip, but it has the added advantage that tables can be restored selectively. The following command dumps a database using the custom dump format:
pg_dump -Fc dbname > filename
pg_restore -d dbname filename
https://postgrespro.ru/docs/postgresql/11/app-pgdump
Архив сохранён в специальном формате pg_dump.
Существует три разных подхода к резервному копированию данных в Postgres Pro:
Выгрузка в SQL
Копирование на уровне файлов
Непрерывное архивирование
Import a PostgreSQL database dump
There are two ways to restore a PostgreSQL database:
psql for restoring from a plain SQL script file created with pg_dump,
pg_restore for restoring from a .tar file, directory, or custom format created with pg_dump.
1. Restore a database with psql
If your backup is a plain-text file containing SQL script, then you can restore your database by using PostgreSQL interactive terminal, and running the following command:
psql -U db_user db_name < dump_name.sql
where db_user is the database user, db_name is the database name, and dump_name.sql is the name of your backup file.
2. Restore a database with pg_restore
If you choose custom, directory, or archive format when creating a backup file, then you will need to use pg_restore in order to restore your database:
pg_restore -d db_name /path/to/your/file/dump_name.tar -c -U db_user
If you use pg_restore you have various options available, for example:
-c to drop database objects before recreating them,
-C to create a database before restoring into it,
-e exit if an error has encountered,
-F format to specify the format of the archive.
Use pg_restore -? to get the full list of available options.
You can find more info on using mentioned tools by running man pg_dump, man psql and man pg_restore.
Используйте специальный формат дампа pg_dump. Если при сборке Postgres Pro была подключена библиотека zlib, дамп в специальном формате будет записываться в файл в сжатом виде. В таком формате размер файла дампа будет близок к размеру, полученному с применением gzip, но он лучше тем, что позволяет восстанавливать таблицы выборочно. Следующая команда выгружает базу данных в специальном формате:
pg_dump -Fc имя_базы > имя_файла
Дамп в специальном формате не является скриптом для psql и должен восстанавливаться с помощью команды pg_restore, например:
pg_restore -d имя_базы имя_файла
-F format
–format=formatУказывает формат вывода копии. format может принимать следующие значения:
p
plain
Сформировать текстовый SQL-скрипт. Это поведение по умолчанию.
c
custom
Вывести копию в архивном формате, пригодном для дальнейшего использования утилитой pg_restore. Наравне с directory является наиболее гибким форматом, позволяющим вручную выбирать и сортировать восстанавливаемые объекты. Вывод в этом формате по умолчанию сжимается.
d
directory
Выгрузить в формате каталога. Этот формат пригоден для дальнейшего использования утилитой pg_restore. При этом будет создан каталог, в котором для каждой таблицы и большого объекта будут созданы отдельные файлы, а также файл оглавления в машинно-читаемом формате, понятном для pg_restore. С полученной резервной копией можно работать штатными средствами Unix, например, несжатую копию можно сжать посредством gzip. Этот формат по умолчанию сжимается, а также поддерживает работу в несколько потоков.
t
tar
Вывести копию в формате tar, для дальнейшего использования утилитой pg_restore. Этот формат совместим с форматом вывода в каталог: если архив распаковать, получится корректная копия в формате каталога. Однако формат tar не поддерживает сжатие. Также, применяя формат tar, при восстановлении нельзя изменить относительный порядок элементов данных.