powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Восстановление из pg_basebackup
8 сообщений из 8, страница 1 из 1
Восстановление из pg_basebackup
    #39516699
ncux199rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Подскажите как восстанавливаться из pg_basebackup?
...
Рейтинг: 0 / 0
Восстановление из pg_basebackup
    #39516710
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ncux199rusДобрый день.

Подскажите как восстанавливаться из pg_basebackup?
что значит как? вы вообще не пробовали?
какие ошибки выдает?
...
Рейтинг: 0 / 0
Восстановление из pg_basebackup
    #39516712
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
первый же результат гугл-поиска выдает исчерпывающий ответ.
...
Рейтинг: 0 / 0
Восстановление из pg_basebackup
    #39516977
daevy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ncux199rus,

берем бэкап который был сделан через pg_basebackup, копируем его в каталог например /db и запускаем постгрес и в качестве параметра -D указываем этот каталог, например pg_ctl -D /db start. Это самый пример вариант))
...
Рейтинг: 0 / 0
Восстановление из pg_basebackup
    #39516983
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
daevy,
не педагогично.
бестолочь даже вопрос потрудился сформулировать адекватно, не то чтоб попробовать самостоятельно ответ найти, а вы с ним как со здоровым (
...
Рейтинг: 0 / 0
Восстановление из pg_basebackup
    #39518402
ncux199rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
daevy:
Спасибо нашел Ваш Хабр.
Но на CentOs7 с установкой постгреса из rpm. Запустилось после такого порядка действий.

pg_hba.conf:
local replication postgres trust

postgres.conf:
wal_level = replica
archive_mode = on
archive_command = 'test ! -f /var/lib/pgsql/9.6/wal/%f && cp %p /var/lib/pgsql/9.6/wal/%f'
max_wal_senders = 3
hot_standby = on

bash-4.2$ pg_basebackup -D /var/lib/pgsql/9.6/backup/
bash-4.2$ chmod 700 /var/lib/pgsql/9.6/backup/
bash-4.2$ chmod 700 /var/lib/pgsql/9.6/wal/

[root@localhost ~]# systemctl stop postgresql-9.6.service
[root@localhost ~]# systemctl status postgresql-9.6.service
● postgresql-9.6.service - PostgreSQL 9.6 database server
Loaded: loaded (/usr/lib/systemd/system/postgresql-9.6.service; disabled; vendor preset: disabled)
Active: inactive (dead)

Sep 08 10:44:08 localhost.localdomain postmaster[3829]: < 2017-09-08 10:44:08.743 EDT > HINT: Future log o...g".
Sep 08 10:44:08 localhost.localdomain systemd[1]: Started PostgreSQL 9.6 database server.
Sep 08 11:07:45 localhost.localdomain systemd[1]: Stopping PostgreSQL 9.6 database server...
Sep 08 11:07:45 localhost.localdomain systemd[1]: Stopped PostgreSQL 9.6 database server.
Sep 08 11:08:55 localhost.localdomain systemd[1]: Starting PostgreSQL 9.6 database server...
Sep 08 11:08:55 localhost.localdomain postmaster[4145]: < 2017-09-08 11:08:55.364 EDT > LOG: redirecting l...ess
Sep 08 11:08:55 localhost.localdomain postmaster[4145]: < 2017-09-08 11:08:55.364 EDT > HINT: Future log o...g".
Sep 08 11:08:55 localhost.localdomain systemd[1]: Started PostgreSQL 9.6 database server.
Sep 08 11:09:02 localhost.localdomain systemd[1]: Stopping PostgreSQL 9.6 database server...
Sep 08 11:09:02 localhost.localdomain systemd[1]: Stopped PostgreSQL 9.6 database server.
Hint: Some lines were ellipsized, use -l to show in full.

bash-4.2$ mv /var/lib/pgsql/9.6/data/ /var/lib/pgsql/9.6/data1
bash-4.2$ mv /var/lib/pgsql/9.6/backup/ /var/lib/pgsql/9.6/data
bash-4.2$ cp /usr/pgsql-9.6/share/recovery.conf.sample /var/lib/pgsql/9.6/data/recovery.conf
bash-4.2$ vim /var/lib/pgsql/9.6/data/recovery.conf
restore_command = 'cp /var/lib/pgsql/9.6/wal/%f %p' :wq
[root@localhost ~]# systemctl start postgresql-9.6.service
[root@localhost ~]# systemctl status postgresql-9.6.service
● postgresql-9.6.service - PostgreSQL 9.6 database server
Loaded: loaded (/usr/lib/systemd/system/postgresql-9.6.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2017-09-08 11:19:31 EDT; 5s ago
Process: 4342 ExecStartPre=/usr/pgsql-9.6/bin/postgresql96-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
Main PID: 4348 (postmaster)
CGroup: /system.slice/postgresql-9.6.service
├─4348 /usr/pgsql-9.6/bin/postmaster -D /var/lib/pgsql/9.6/data/
├─4350 postgres: logger process
├─4353 postgres: checkpointer process
├─4354 postgres: writer process
├─4356 postgres: stats collector process
├─4362 postgres: wal writer process
├─4363 postgres: autovacuum launcher process
└─4364 postgres: archiver process last was 00000002.history

Sep 08 11:19:31 localhost.localdomain systemd[1]: Starting PostgreSQL 9.6 database server...
Sep 08 11:19:31 localhost.localdomain postmaster[4348]: < 2017-09-08 11:19:31.231 EDT > LOG: redirecting l...ess
Sep 08 11:19:31 localhost.localdomain postmaster[4348]: < 2017-09-08 11:19:31.231 EDT > HINT: Future log o...g".
Sep 08 11:19:31 localhost.localdomain systemd[1]: Started PostgreSQL 9.6 database server.
Hint: Some lines were ellipsized, use -l to show in full.
...
Рейтинг: 0 / 0
Восстановление из pg_basebackup
    #39518934
ncux199rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В postgres.conf:
archive_command = 'test ! -f /var/lib/pgsql/9.6/data/pg_xlog/%f && cp %p /var/lib/pgsql/9.6/wal/%f'
для копирования журналов wal в хранилище.
Получается при восстановлении чтоб archive_command не перезаписал журналы в хранилище его нужно отключать?

Если:
create database test1;
pg_basebackup -D /var/lib/pgsql/9.6/backup/
create database test2;
То для того чтоб восстановить базу test2 нужно при восстановлении из backup/ проиграть все записи /var/lib/pgsql/9.6/wal/.
recovery.conf
restore_command = 'cp /var/lib/pgsql/9.6/wal/%f %p'

Как проиграть записи wal сделанные после pg_basebackup?
...
Рейтинг: 0 / 0
Восстановление из pg_basebackup
    #39519136
daevy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ncux199rusВ postgres.conf:
archive_command = 'test ! -f /var/lib/pgsql/9.6/data/pg_xlog/%f && cp %p /var/lib/pgsql/9.6/wal/%f'
для копирования журналов wal в хранилище.
Получается при восстановлении чтоб archive_command не перезаписал журналы в хранилище его нужно отключать?

да, можно отключить, либо пути поменять

ncux199rusЕсли:
create database test1;
pg_basebackup -D /var/lib/pgsql/9.6/backup/
create database test2;
То для того чтоб восстановить базу test2 нужно при восстановлении из backup/ проиграть все записи /var/lib/pgsql/9.6/wal/.
recovery.conf
restore_command = 'cp /var/lib/pgsql/9.6/wal/%f %p'

Как проиграть записи wal сделанные после pg_basebackup?

чтобы проиграть записи сделаные после pg_basebackup как правило нужен архив WAL логов который делается с помощью archive_command. Исключением является случай когда восстановленную копию запустили в качестве реплики, тогда она стянет изменения с мастера.

а вообще, вам нужно почитать вот это https://postgrespro.ru/docs/postgrespro/9.6/continuous-archiving тогда многие вопросы отвалятся
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Восстановление из pg_basebackup
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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