PostgreSQL — ашық кодты ең танымал және қуатты дерекқорды басқару жүйелерінің (ДҚБЖ) бірі.
Деректердің сақталуын қамтамасыз ету кез келген ДҚБЖ үшін маңызды міндет болып табылады және PostgreSQL деректердің резервтік көшірмелерін (бэкаптарын) жасау үшін көптеген құралдар мен әдістерді ұсынады.
Біз PostgreSQL сақтық көшірме жасау әдістерін және мысалдар мен түсініктемелерді қоса алғанда, ең жақсы тәжірибелерді қарастырамыз.
Неліктен бэкап қажет?
Резервтік көшірмелер деректерді әртүрлі факторлардың әсерінен жоғалудан қорғау үшін қажет, мысалы, аппараттық ақаулар, пайдаланушы қателіктері, зиянды шабуылдар немесе табиғи апаттар.
Тұрақты бэкаптардың болуы дерекқорды белгілі бір күйге жылдам қалпына келтіруге мүмкіндік береді, деректер мен уақыттың жоғалуын барынша азайтады.
PostgreSQL-де бэкап жасау әдістері
PostgreSQL-де бэкап жасаудың бірнеше негізгі әдістері бар:
-
pg_dump көмегімен логикалық бэкап жасау:
- pg_dump — бұл дерекқордың логикалық бэкапын жасайтын утилита. Логикалық бэкап — бұл деректерді қалпына келтіру үшін орындауға болатын SQL сұрауларының жиынтығы.
- Артықшылықтары: пайдалану оңайлығы, жеке кестелердің немесе дерекқорлардың бэкапын жасау мүмкіндігі, әртүрлі шығару форматтарын қолдау (plain SQL, custom, tar, directory).
- Кемшіліктері: серверді тоқтатпай бүкіл дерекқордың онлайн бэкабын қолдамайды.
pg_dump қолдану мысалы:
bashpg_dump -U username -F c -b -v -f /path/to/backup/file.backup dbname
-
pg_basebackup көмегімен физикалық бэкап жасау:
- pg_basebackup — бұл бүкіл дерекқордың физикалық бэкапын жасауға арналған утилита. Ол дерекқордың барлық файлдарын көшіріп, бэкап басталған сәттегі дәл көшірмесін жасайды.
- Артықшылықтары: онлайн бэкапты қолдау, файлдарды көшіру арқылы қалпына келтіру оңай.
- Кемшіліктері: логикалық бэкаппен салыстырғанда дискіде көбірек орын қажет етеді, бүкіл дерекқордың толық бэкабы қажет.
pg_basebackup қолдану мысалы:
bashpg_basebackup -h hostname -D /path/to/backup/dir -U username -v -P
-
WAL (Write-Ahead Logging) архивтеу:
- PostgreSQL дерекқордағы барлық өзгерістерді журналға жазатын WAL механизмін қолдайды. Осы журналдарды архивтеу дерекқорды кез келген уақытқа дейін қалпына келтіруге мүмкіндік береді.
- Артықшылықтары: кез келген уақытқа дейін қалпына келтіру мүмкіндігі (Point-in-Time Recovery, PITR), жоғары сенімділік.
- Кемшіліктері: журналдарды сақтау үшін қосымша орын қажет, баптау күрделі.
WAL архивтеуді баптау:
sqlALTER SYSTEM SET wal_level = replica; ALTER SYSTEM SET archive_mode = on; ALTER SYSTEM SET archive_command = 'cp %p /path/to/archive/%f'; SELECT pg_reload_conf();
Бэкап жасаудың үздік тәжірибелері
Максималды сенімділікті қамтамасыз ету және бос уақытты барынша азайту үшін әртүрлі бэкап жасау әдістерін біріктіру ұсынылады:
-
Тұрақты логикалық бэкаптар:
- pg_dump пайдаланып, маңызды кестелердің немесе бүкіл дерекқордың тұрақты бэкаптарын жасаңыз.
- Бэкаптарды қауіпсіз және қолжетімді жерде сақтаңыз, мүмкіндігінше әртүрлі географиялық орындарда.
Автоматтандыруға арналған скрипт мысалы:
bash"/path/to/backup/dir" DB_NAME="dbname" DATE=$(date +%Y%m%d%H%M) pg_dump -U username -F c -b -v -f "$BACKUP_DIR/$DB_NAME-$DATE.backup" $DB_NAME
BACKUP_DIR= -
Тұрақты физикалық бэкаптар:
- pg_basebackup пайдаланып, дерекқордың физикалық бэкаптарын жасаңыз.
- Бэкаптардың тұтастығын және қалпына келтіру мүмкіндігін мезгіл-мезгіл тексеріп отырыңыз.
Автоматтандыруға арналған скрипт мысалы:
bash"/path/to/backup/dir" DATE=$(date +%Y%m%d%H%M) pg_basebackup -h hostname -D "$BACKUP_DIR/basebackup-$DATE" -U username -v -P
BACKUP_DIR= -
WAL архивтеу:
- Кез келген уақытқа дейін дерекқорды қалпына келтіру мүмкіндігі болу үшін WAL архивтеуді баптаңыз.
- Қалпына келтіру процедураларын мезгіл-мезгіл тексеріп, сынақтан өткізіңіз.
WAL көмегімен дерекқорды қалпына келтіру мысалы:
bashpg_ctl stop -D /path/to/data/dir rm -rf /path/to/data/dir/* cp -r /path/to/backup/dir/* /path/to/data/dir/ cp /path/to/archive/dir/* /path/to/data/dir/pg_wal/ pg_ctl start -D /path/to/data/dir
Автоматтандыру және мониторинг
Тұрақты бэкап жасау және олардың сәтті орындалуын бақылау үшін процестерді автоматтандыру және мониторинг жүйелерін пайдалану ұсынылады:
- Бэкаптарды тұрақты орындау үшін cron немесе арнайы жүйелерді (мысалы, Ansible, Puppet) пайдаланыңыз.
- Бэкаптардың сәтті орындалуын және жүйенің күйін бақылау үшін мониторинг жүйелерін (мысалы, Nagios, Zabbix) енгізіңіз.
cron-да тапсырма жасау мысалы:
0 2 * * * /path/to/backup/script.sh
Қорытынды
Резервтік көшірмелерді жасау және қолдау дерекқорды басқарудың маңызды аспектісі болып табылады. PostgreSQL логикалық және физикалық бэкап жасау үшін бай құралдар жиынтығын, сондай-ақ WAL архивтеу механизмдерін ұсынады.
Үздік тәжірибелерді ұстану және қалпына келтіру процестерін тұрақты сынау кез келген жағдайда деректердің қауіпсіздігі мен қолжетімділігін қамтамасыз етуге көмектеседі.
Реклама Google |
![]() |
Назар аударыңыз! Бұл мақала ресми құжат емес.Ақпаратты сақтықпен және сынақ ортасында пайдалану керек.
Заманауи сақтық көшірме жасау, репликациялау, деректерді синхрондау және төлемдік бағдарламадан қорғау жүйелерін құру туралы сұрақтарыңыз болса, қазіргі заманғы деректердің сақтық көшірмесін жасау және қалпына келтіру технологиялары бойынша кеңес алу үшін біздің компанияға хабарласыңыз . Біздің компанияның осы салада 20 жылдан астам тәжірибесі бар. |
Қазақстандағы резервтік көшірудің ең жақсы он тәжірибесі
- oVirt гипервизорын қорғау — терең талдау
- oVirt жүйесінен Proxmox жүйесіне виртуалды машинаны көшіру
- Proxmox-тан oVirt-ке виртуалды машинаны көшіру
- Kubernetes контейнерлерін қорғау — терең талдау
- Proxmox гипервизорын бұзудан қалай қорғауға болады - Терең талдау
- Fail2Ban-ды oVirt жүйесін қорғауда қолдану - Терең талдау
- oVirt гипервизорын сақтандыруды ұйымдастыру — Терең талдау
- Виртуалды машинаны гипервизорлар арасында Proxmox арқылы көшіру
- Proxmox гипервизорын виртуалды машиналардың оңтайлы жұмысын қамтамасыз ету үшін конфигурациялау
- Proxmox-те SSH арқылы root құқықтарының бұзылуынан қорғау: терең талдау