Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Шелл-скрипты pg_dump и pg_restore  (Прочитано 4085 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Deb111

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Шелл-скрипты pg_dump и pg_restore
« : 25 Мая 2011, 09:32:32 »
Всем привет! Сразу прошу не кидаться тапками,шелл-скрипты только начала изучать. Ситуция такая:  Делаю дамп БД,работает отлично! Все что от него требуется выполняет. Вот код:
#!/bin/sh

export PGPASSWORD='123'
dumpname='/home/public/BD/bd_'`date '+%Y%m%d'`'.dump'            -каталог BD-где  куда будет  формироваться дамп

pg_dump -d newdb -U us01 -Z 9 -h 193.145.142.233 -F c > $dumpname         -делаю дамп базы данных newdb,которая лежит на сервере с 233 IP


Делаю второй шелл-скрипт для восстановления БД на свою локальную машину:

#!/bin/sh

export PGPASSWORD='123'
dumpname='/home/public/BD/bd_'`date '+%Y%m%d'`'.dump'
dropdb -h 193.145.142.58 newdb1      -удаляю сначала на своей машине БД newdb1
createdb -h 193.145.142.58 -T template0 newdb1      -создаю на своей машине  новую чистую БД newdb1

pg_restore -d newdb1 -U us01 -h 193.145.142.58 -Fc $dumpname     -делаю восстановление из каталога BD  на свою машину с 58  IP   в базу данных newdb1



при  запуске  выдается ошибка(запускаю в Konqueror) :

dropdb: не удалось соединиться к базе postgres: FATAL:  role "Deb" does not exist
createdb: не удалось соединиться к базе postgres: FATAL:  role "Deb" does not exist
pg_restore: [пользовательский архиватор] could not open input file "/home/public/BD/bd_20110525.dump": Нет такого файла или каталога

Как эти ошибки исправить? посоветуйте.



Пользователь решил продолжить мысль 25 Мая 2011, 09:35:19:
Последняя ошибка возникла из-за того что я сегодня дамп не сформировала. После формирования дампа,при запуске восстановления вылезла ошибка такая:

pg_restore: [архиватор (db)] не удалось переподсоединиться к базе "newdb1": FATAL:  ���� ������ "newdb1" �� ����������
« Последнее редактирование: 25 Мая 2011, 09:35:19 от Deb111 »

andrey_p

  • Гость
Re: Шелл-скрипты pg_dump и pg_restore
« Ответ #1 : 25 Мая 2011, 10:07:29 »
Попробуй pg_dumpall. pg_dump, насколько я понимаю, это для архивации и восстановления таблиц на одной и той-же БД. (Могу ошибаться)

Оффлайн Deb111

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Шелл-скрипты pg_dump и pg_restore
« Ответ #2 : 25 Мая 2011, 10:20:56 »
Попробуй pg_dumpall. pg_dump, насколько я понимаю, это для архивации и восстановления таблиц на одной и той-же БД. (Могу ошибаться)

Либо БД, в которую восстанавливаю можно так же обозвать newdb? (чтобы одинаковые имена были). Правильно я делаю,что удаляю БД,потом создаю? pg_restore ведь восстанавливает в пустую БД...

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Шелл-скрипты pg_dump и pg_restore
« Ответ #3 : 25 Мая 2011, 10:57:58 »
... насколько я понимаю, это для архивации и восстановления таблиц на одной и той-же БД. (Могу ошибаться)
Точно так. Не ошибаетесь.

 

Страница сгенерирована за 0.1 секунд. Запросов: 23.