Как восстановить базу данных postgres из дампа пользовательского формата? - PullRequest
0 голосов
/ 03 апреля 2020

У меня проблема с восстановлением базы данных с использованием pg_restore. У меня установлена ​​Postgres 12.2 на моей Ma c под управлением High Sierra (10.13.6). Он был установлен вместе с Brew.

Я создал простую базу данных "foo" с таблицей "foo", чтобы проверить это:

Nates-MacBook-Pro:k8s natereed$ psql -d foo
psql (12.2, server 12.1)
Type "help" for help.

foo=# SELECT table_schema,table_name
FROM information_schema.tables 
WHERE table_schema='public' ORDER BY table_schema,table_name;
table_schema | table_name 
--------------+------------
public       | foo
(1 row)

Создать дамп:

pg_dump -Fc foo -f foo.backup

Когда я пытаюсь восстановить, ничего не происходит. pg_restore просто зависает:

pg_restore -h localhost -p 5432 -U postgres -v -Fc -f foo.backup

Я пробовал различные варианты этой команды, но каждый раз, когда она просто зависает. В Activity Monitor я вижу процесс, но он не использует процессор.

1 Ответ

1 голос
/ 03 апреля 2020

В интерактивной справке написано:

pg_restore restores a PostgreSQL database from an archive created by pg_dump.

Usage:
  pg_restore [OPTION]... [FILE]

General options:
  -d, --dbname=NAME        connect to database name
  -f, --file=FILENAME      output file name
  -F, --format=c|d|t       backup file format (should be automatic)
  -l, --list               print summarized TOC of the archive
  -v, --verbose            verbose mode
  -V, --version            output version information, then exit
  -?, --help               show this help, then exit

Для pg_restore -f - это параметр для выходного файла: это не входной файл. Удалить -f.

...