powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / posgres восстановление БД просьба помочь разобраться
10 сообщений из 10, страница 1 из 1
posgres восстановление БД просьба помочь разобраться
    #40101837
Cuguyc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день,

У меня есть файл базы данных sql и база данных соответственно, но в которую внесли данные.

Моя задача в откатить базу данных до бек апа собственно.
Пробовал использовать команду:

Код: sql
1.
psql -U postgres -f D:\Postgres\MyBD.sql -h localhost -d MyBD 


Не работает, данные из старой базы остаются. Так делать получается только если удалить базу и создать новую и на наё этим скриптом всё накатить, но на мой взгляд это не оптимально.

Так же пробовал делать бекап с помощью команды pg_dump

Код: sql
1.
pg_dump -U postgres -h localhost -d MyBD > D:\Postgres\MyBD Dump.dump


Получил соответствующий файл, попробовал сделать восстановление с помощью pg_restore:
Код: sql
1.
pg_restore -d MyBD  -h localhost -U postgres -f D:\Postgres\MyBDDump.dump



пишет ошибка:выходной файл не похож на архив

не совсем понимаю как быстро восстановить базу данных из файла, буду рад помощи, заранее спасибо!
...
Рейтинг: 0 / 0
posgres восстановление БД просьба помочь разобраться
    #40101842
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cuguyc,
не будет это работать так как вы хотите.
Дамп(а у вас именно дамп , а не "бек ап") - сущность логическая. База не знает что конкретно и как именно вы хотите "откатить".
С точки зрения БД это просто еще одна пачка "insert'ов" (или скорее COPY, но не суть) которую вы пытаетесь впихнуть поверх имеющихся данных. ПК и уники этого не позволят.
Поэтому в вашем случае - только полное удаление.
...
Рейтинг: 0 / 0
posgres восстановление БД просьба помочь разобраться
    #40101850
Cuguyc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я правильно понял, что Вы имеете ввиду в случае с файлами .sql и .dump?

А могу ли я как-нибудь из этой базы сделать полноценный бекап (я так понимаю с расширением .bak) и как мне его можно будет восстановить?
...
Рейтинг: 0 / 0
posgres восстановление БД просьба помочь разобраться
    #40101854
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cuguyc
Я правильно понял, что Вы имеете ввиду в случае с файлами .sql и .dump?

А могу ли я как-нибудь из этой базы сделать полноценный бекап (я так понимаю с расширением .bak) и как мне его можно будет восстановить?

Бекап Вы сделать можете.
Но "волшебным образом" сделать откат - скорее всего нет.
Лучше всего см. документацию по теме PITR.
...
Рейтинг: 0 / 0
posgres восстановление БД просьба помочь разобраться
    #40101858
Guzya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Postgres не умеет "откатывать" состояние на нужное, он умеет "накатывать" до нужного.
Т.е. Вы не можете действующей бд сказать "вернись на два часа назад". Вы можете (если есть все необходимое) взять бэкап и сказать "накати wal-ы до состояния, два часа назад".

Конкретно в Вашем случаи, если dump-файл это то состояние на которой Вы хотите вернуться, то надо взять пустую\новую бд и выполнить файл в нее.

Рекомендую, создать новую бд, раскатать в нее dump-файл, проверить и переименовать бд.
...
Рейтинг: 0 / 0
posgres восстановление БД просьба помочь разобраться
    #40101868
Cuguyc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GuzyaКонкретно в Вашем случаи, если dump-файл это то состояние на которой Вы хотите вернуться, то надо взять пустую\новую бд и выполнить файл в нее.

Рекомендую, создать новую бд, раскатать в нее dump-файл, проверить и переименовать бд.

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

Guzya...Вы можете (если есть все необходимое) взять бэкап и сказать "накати wal-ы до состояния, два часа назад"...


накатить тольно на пустую\новую бд, а на текущую накатить никак не получится, какой бы бек ап не был?

К примеру в ms sql можно восстановить в текущую бд из файла бекапа, в в данной системе такая возможность отсутствует?
...
Рейтинг: 0 / 0
posgres восстановление БД просьба помочь разобраться
    #40101916
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cuguyc

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

Для Вашей цели. Удалить/перезалить - самое то.
"Заверните в пакет" и хоть в руками его запускайте, хоть в крон вешайте.
...
Рейтинг: 0 / 0
posgres восстановление БД просьба помочь разобраться
    #40101922
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cuguyc,

Откавать базу назад ВСЕГДА сложнее чем накатить её с нуля.
Если очень хочется откат того плана что вы написали - он делается не средствами базы а средствами умной FS которая snapshots умеет делать (например ZFS).


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
posgres восстановление БД просьба помочь разобраться
    #40101932
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguk
Cuguyc,

Откавать базу назад ВСЕГДА сложнее чем накатить её с нуля.
Если очень хочется откат того плана что вы написали - он делается не средствами базы а средствами умной FS которая snapshots умеет делать (например ZFS).


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru

ну да, ему только zfs:
автор
Код: sql
1.
psql -U postgres -f D:\Postgres\MyBD.sql -h localhost -d MyBD 


И на мой взгляд - для учебных баз drop/reimport самое то. Все остальное "overengineering".
...
Рейтинг: 0 / 0
posgres восстановление БД просьба помочь разобраться
    #40101977
Cuguyc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ладно, я понял, всем спасибо)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / posgres восстановление БД просьба помочь разобраться
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]