powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как в postgresql сделать backup? (не экспорт)
16 сообщений из 41, страница 2 из 2
Как в postgresql сделать backup? (не экспорт)
    #39470922
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sql_user2Павел Лузановmefman,

Первый абзац документации по pg_dump .
"pg_dump — это программа для создания резервных копий базы данных PostgreSQL. Она создаёт целостные копии , даже если база параллельно используется. Программа pg_dump не препятствует доступу других пользователей к базе данных (ни для чтения, ни для записи)."

Более того, при выгрузке в несколько потоков (--jobs>1) выгрузка всё равно будет целостная:
"Для получения целостной резервной копии серверу баз данных необходимо поддерживать функциональность синхронизированных снимков, которая была введена в версии PostgreSQL 9.2. Это позволяет разным клиентам работать с одной и той же версией данных, несмотря на использование разных подключений. pg_dump -j использует множественные подключения. Первое подключение осуществляется головным процессом, а последующие — рабочими процессами. Без функциональности синхронизируемых снимков нет гарантии того, что каждое подключение увидит одни и те же данные, что может привести к несогласованности данных резервной копии."



Целостные копии всей БД или целостные копии в разрезе каждой таблицы по-отдельности?

Всей базы конечно.
Но вот если у вас 10 баз на сервере независимых - то вот там целостной копии всех 10 баз нормально не получится.
...
Рейтинг: 0 / 0
Как в postgresql сделать backup? (не экспорт)
    #39470924
sql_user2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguksql_user2пропущено...




Целостные копии всей БД или целостные копии в разрезе каждой таблицы по-отдельности?

Всей базы конечно.


На момент начала экспорта или на момент окончания экспорта?
...
Рейтинг: 0 / 0
Как в postgresql сделать backup? (не экспорт)
    #39470956
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sql_user2Maxim Bogukпропущено...


Всей базы конечно.


На момент начала экспорта или на момент окончания экспорта?

На момент начала (не ясно как можно даже теоретически на момент окончания реализовать).
...
Рейтинг: 0 / 0
Как в postgresql сделать backup? (не экспорт)
    #39470973
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguksql_user2пропущено...


На момент начала экспорта или на момент окончания экспорта?

На момент начала (не ясно как можно даже теоретически на момент окончания реализовать).
PITR )
но это не дамп ))
...
Рейтинг: 0 / 0
Как в postgresql сделать backup? (не экспорт)
    #39471128
sql_user2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А pg_basebackup 1:1 совпадает с размером файлов БД или как-то жмется?
...
Рейтинг: 0 / 0
Как в postgresql сделать backup? (не экспорт)
    #39471130
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sql_user2А pg_basebackup 1:1 совпадает с размером файлов БД или как-то жмется?

1:1 но можно ему сказать сделать tar который потом сжать тем же bzip2.
А вообще pg_basebackup --help вам все скажет.
...
Рейтинг: 0 / 0
Как в postgresql сделать backup? (не экспорт)
    #39471133
sql_user2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguksql_user2А pg_basebackup 1:1 совпадает с размером файлов БД или как-то жмется?

1:1 но можно ему сказать сделать tar который потом сжать тем же bzip2.
А вообще pg_basebackup --help вам все скажет.


Да, читаю как раз.

pg_basebackup создаёт бинарную копию файлов кластера



А на виндоус можно его сжать как-то при создании?
...
Рейтинг: 0 / 0
Как в postgresql сделать backup? (не экспорт)
    #39471155
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sql_user2Maxim Bogukпропущено...


1:1 но можно ему сказать сделать tar который потом сжать тем же bzip2.
А вообще pg_basebackup --help вам все скажет.


Да, читаю как раз.

pg_basebackup создаёт бинарную копию файлов кластера



А на виндоус можно его сжать как-то при создании?
я сжимаю.
...
Рейтинг: 0 / 0
Как в postgresql сделать backup? (не экспорт)
    #39471312
sql_user2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mefmansql_user2пропущено...



Да, читаю как раз.

pg_basebackup создаёт бинарную копию файлов кластера



А на виндоус можно его сжать как-то при создании?
я сжимаю.


А чем и как?
...
Рейтинг: 0 / 0
Как в postgresql сделать backup? (не экспорт)
    #39471481
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sql_user2mefmanпропущено...

я сжимаю.


А чем и как?

Вы не можете найти гуглом любой по вкусу command line архиватор под винду?
...
Рейтинг: 0 / 0
Как в postgresql сделать backup? (не экспорт)
    #39471495
sql_user2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguksql_user2пропущено...



А чем и как?

Вы не можете найти гуглом любой по вкусу command line архиватор под винду?

Хотелось бы

1)без установки стороннего ПО.

2) Узнать как это делают гуру.



Я так понимаю что там на вход надо подать, даже без создания промежуточных файлов.
...
Рейтинг: 0 / 0
Как в postgresql сделать backup? (не экспорт)
    #39471601
p2.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sql_user21)без установки стороннего ПО.Используй компрессию файлов ntfs.
...
Рейтинг: 0 / 0
Как в postgresql сделать backup? (не экспорт)
    #39471650
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не гуру, но вот мой скрипт.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
rem password supplied via password file: "Appdata\Roaming\postgresql\pgpass.conf"

rem User supplied variables.

set LC_MESSAGES=en

set hst=localhost
set prt=5432
set usr=postgres
rem set fmt=t
rem Delete files older then keep
set keep=10

set OFFSITE=\\192.168.1.250\db_backups\Postgres
set BKP_DIR=D:\postgres_bkp\basebackup\backup
set ARC_DIR=D:\postgres_bkp\basebackup\arch

rem Variables for timestamp and file names.
set stamp=%time:~0,2%%time:~3,2%%time:~6,2%_%date:~-10,2%%date:~-7,2%%date:~-4,4%
set log="%BKP_DIR%\%stamp%.log"


rem Delete old files
forfiles -p %BKP_DIR% -s -m *.* /D -%keep% /C "cmd /c del @path"
forfiles -p %ARC_DIR% -s -m *.* /D -%keep% /C "cmd /c del @path"

rem Backup DB
mkdir "%BKP_DIR%\%stamp%"
pg_basebackup -l "basebackup_%stamp%" -U postgres -D "%BKP_DIR%\%stamp%" -F %fmt% -P -v -x -z 2>%log%

rem Del old archives
for /f "tokens=*" %%a in ('dir %ARC_DIR%\*.backup /b /od') do set newest=%%a
pg_archivecleanup %ARC_DIR% %newest%
del %newest%

rem Copy to remote storage
net use %OFFSITE% /user:remote_srv\remote_user his_password
robocopy %BKP_DIR% %OFFSITE%\basebackup *.* /z /s /MIR /mt /log:.\remote_backup.log
net use %OFFSITE% /del
...
Рейтинг: 0 / 0
Как в postgresql сделать backup? (не экспорт)
    #39471660
sql_user2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mefmanНе гуру, но вот мой скрипт.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
rem password supplied via password file: "Appdata\Roaming\postgresql\pgpass.conf"

rem User supplied variables.

set LC_MESSAGES=en

set hst=localhost
set prt=5432
set usr=postgres
rem set fmt=t
rem Delete files older then keep
set keep=10

set OFFSITE=\\192.168.1.250\db_backups\Postgres
set BKP_DIR=D:\postgres_bkp\basebackup\backup
set ARC_DIR=D:\postgres_bkp\basebackup\arch

rem Variables for timestamp and file names.
set stamp=%time:~0,2%%time:~3,2%%time:~6,2%_%date:~-10,2%%date:~-7,2%%date:~-4,4%
set log="%BKP_DIR%\%stamp%.log"


rem Delete old files
forfiles -p %BKP_DIR% -s -m *.* /D -%keep% /C "cmd /c del @path"
forfiles -p %ARC_DIR% -s -m *.* /D -%keep% /C "cmd /c del @path"

rem Backup DB
mkdir "%BKP_DIR%\%stamp%"
pg_basebackup -l "basebackup_%stamp%" -U postgres -D "%BKP_DIR%\%stamp%" -F %fmt% -P -v -x -z 2>%log%

rem Del old archives
for /f "tokens=*" %%a in ('dir %ARC_DIR%\*.backup /b /od') do set newest=%%a
pg_archivecleanup %ARC_DIR% %newest%
del %newest%

rem Copy to remote storage
net use %OFFSITE% /user:remote_srv\remote_user his_password
robocopy %BKP_DIR% %OFFSITE%\basebackup *.* /z /s /MIR /mt /log:.\remote_backup.log
net use %OFFSITE% /del





О, спасибо!!!


Кстати, правильно ли я понимаю что после basebackup надо еще скопировать файлы, сформированные в каталоге куда они скопированы "archive_command" ?
...
Рейтинг: 0 / 0
Как в postgresql сделать backup? (не экспорт)
    #39471672
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sql_user2Кстати, правильно ли я понимаю что после basebackup надо еще скопировать файлы, сформированные в каталоге куда они скопированы "archive_command" ?
зависит от стратегии бекапа. либо почитайте про PITR еще разок, либо пусть более опытные форумчане объяснят.
...
Рейтинг: 0 / 0
Как в postgresql сделать backup? (не экспорт)
    #39471675
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для этой виндовой инсталяции, я не копирую (не требуется такая надежность).
для большинства линуксовых - у меня барман со streaming backup: делаю бекап раз в неделю, но восстановиться могу на любой момент времени.
...
Рейтинг: 0 / 0
16 сообщений из 41, страница 2 из 2
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как в postgresql сделать backup? (не экспорт)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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