Восстановление БД с помощью psql

Доброго времени суток!

Есть дамп БД, сделанный с помощью pg_dump. Нужно развернуть БД из дампа с помощью psql. Сам я чайник, никогда ничем подобным не занимался. С помощью putty подключился к серваку по SSH, нашел папку, где лежит дамп, что дальше?

Вот здесь http://postgresql.ru.net/manual/backup-dump.html#BACKUP-DUMP-RESTORE прчитал следующее:

Текстовые файлы, созданные pg_dump предназначаются для последующего чтения программой psql. Общий вид команды для восстановления дампа:
psql имя_БД < файл_дампа
где файл_дампа — это файл, содержащий вывод команды pg_dump. База данных, заданная параметром имя_БД не будет создана данной командой, так что вы должны создать её сами из базы template0 перед запуском psql (например, с помощью команды createdb -T template0 имя_БД).

Сразу встает вопрос. createdb -T template0 имя_БД - это команда выполняется какой программой? Почему именно template0 (или это просто для примера?)? БД с именем "имя_БД" будет создано для какого юзера (при входе в интерфейс pgadmin нужно ввести логин-пароль, у юзеров с разными логинами доступ к разным базам, это как-то должно быть отражено в команде?)?

И если не трудно, напишите, как должна выглядеть правильная последовательность команд, чтобы восстановить БД из дампа с известным именем, просто я в этом совсем не разбираюсь, не уверен, что интуитивно что-нибудь не сломаю.

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

> Сразу встает вопрос.

> Сразу встает вопрос. createdb -T template0 имя_БД - это команда выполняется какой программой?
createdb - это и есть программа. Вернее shell-скрипт, предназначенный для создания БД из операционной системы

> Почему именно template0?
Потому что это стандартный шаблон. Никто не мешает вам создать свой и пользоваться им, но БД же надо с чего-то начать? Вот поэтому и template0.

> БД с именем "имя_БД" будет создано для какого юзера
Чтобы creaetedb сработало, вам надо подключиться к серверу PostgreSQL с каким-то пользователем. Чаще всего это делается с postgres, но могут быть и другие варианты. У команды createdb есть ключи, позволяющие задать пользователя, с которым подключаться, а также и пароль (если он нужен)

> как должна выглядеть правильная последовательность команд
Как она должна выглядеть в общем виде - написано в мануале. А как в вашем конкретном случае - это вы сами должны решить. Я например понятия не имею как у вас настроена авторизация подключения к БД в pg_hba.conf. Какие у вас настройки локали, и вообще сделан ли ваш дамп в текстовом виде (если в бинарном, то надо pg_restore использовать).

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023