как правильно это сделать?
Вот я делаю дамп
pg_dump -h ${POSTGRESQL_HOST} -d ${POSTGRESQL_DB} -U ${POSTGRESQL_ROOT_USER} -t orders -t order-lines > /tmp/orders.sql
Вот так пробую ресторить
pg_restore -h ${POSTGRESQL_HOST} -d ${POSTGRESQL_DB} -U ${POSTGRESQL_ROOT_USER} -f /tmp/orders.sql
пишет ошибку
pg_restore: error: options -d/--dbname and -f/--file cannot be used together
Убрал dbname
pg_restore -h ${POSTGRESQL_HOST} -U ${POSTGRESQL_ROOT_USER} -f /tmp/orders.sql
а он просто висит
1) sql-format дамп — это sql-команды. Они не вгружаются через pg_restore, а кормятся psql или похожэму клиенту. 2) Опцыя -f у pg_restore — для перегонки файла бэкапа одного из постгресовых форматов в формат просто sql. Фактически, вместо того, чтобы писать эти команды в базу — оно пишэт их в файл. У вас pg_restore ждёт данных бэкапа на stdin. Если не передано имя файла. Имя файла ему передаётся без опцый.
вот psql у меня получилось с кормить его, можете посоветовать как лучшее делать. Задача бекапить 4 таблицы и ресторить их
Так нормально. Только незабыть обернуть это, например, в транзакцыю (если таблицы невелики) или другим методом сразу падать от ошыбок, чтобы какая случайная строчка не была пропущена. И ошыбки pg_dump тожэ проверять.
Спасибо, буду разбираться
Обсуждают сегодня