PostgreSQL и правильный дамп pg_dump’ом 4

Мне понадобилось перенести базу PostgreSQL с одной машины на другую. Поискав на просторах интернета никаких дельных советов, основанных на опыте я не нашёл. В итоге после проб и ошибок переноса базы Сервера Приложений iBank2 получилось несколько простых шагов. 6

Процедура переноса базы с одной машины на другую(в нашем случае с рабочей на тестовую например для попытки обновления также подходит для создания и восстановления резервных копий)

Снимаем дамп:

pg_dump -h 127.0.0.1 -U postgres -w --file=ib_dump -С -b -Fc -v ib

  • где ib - название базы данных
  • ib_dump - файл в который сохраняется дамп

Восстановление базы:
удаляем базу если база с таким названием уже существовала(и она не нужна)

psql -h 127.0.0.1 -U postgres -w -d ib --command="drop database ib"

создаем пользователя, владельца базы(если его нет):

psql -h 127.0.0.1 -U postgres -w -d ib --command="CREATE USER ib WITH PASSWORD '123456'"

  • где ib - имя пользователя
  • 123456 - пароль

Создаем табличное пространство(если его не было)

psql -h 127.0.0.1 -U postgres -w -d ib --command="CREATE TABLESPACE ib LOCATION '/path/'"

  • где ib название табличного пространства
  • /path/ - путь к каталогу(каталог должен быть пустым и с соответствующими правами)

Накатываем дамп:

pg_restore -h 127.0.0.1 -U postgres -w -Fc -C -v --dbname=template1 ib_dump

Теги: , ,

Дата: 16 ноября 2010

Автор: andreykyz

Комментарии: 0

Оставить комментарий

*

Комментарий:

Ваш e-mail не будет опубликован.
Обязательные поля помечены *

Разрешенные HTML теги:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>