Dump базы

svirol

Новичок
Dump базы

Не могли бы Вы подсказать, как из командной строки сделать полный дамп базы в файл? Нужно для переноса на другой сервер.
 

svirol

Новичок
Простите за навязчивость, но я не могу понять, в чем дело. Ввожу в командной строке
/usr/local/pgsql/bin/pg_dump --blobs -hхост -pпорт -Uимя_пользователя имя_базы.

Ответ:
Connection to database '-hхост' failed.
connectDBStart() -- connect() failed: No such file or directory
Is the postmaster running at 'localhost'
and accepting connections on Unix socket '5432'?

При этих же параметрах он прекрасно соединяеться при вызове psql.

С чем это может быть связано? Что не так?
 

Konstantin

Guest
Он считает -hхост именнем базы.
Напиши раздельно. Тоже касаеться и имени пользователя
 

svirol

Новичок
И еще вопрос - с флагами. Проблема - как полностью задампить (pg_dump), а затем восстановить базу данных (pg_restore). При этом права не должны сохраняться (идет перенос на другой сервер), а вот все индексы - как были, чтобы не нарушались связи.
Дамп:
/usr/...bin/pg_dump -b -o -Ft -Uпользватель -hхост -pпорт бд > файл.dump

Восстановление:
/.../pg_restore -d бд -o -Ft /.../файл.dump
Ответ: pg_restore: [tar archiver] could not find header for file 56.dat in tar archive
Восстановилась одна таблица


/.../pg_restore -d бд -N -Ft /.../файл.dump
Ответ: pg_restore: [archiver (db)] could not execute query: ERROR: user "4585" does not exist
Восстановились не все таблицы

В чем ошибка?
 

svirol

Новичок
Простите, разобралась сама. Вот что значит утра вечера мудренее - всего-то флаг -x надо было поставить!
 
Сверху