">

Pgbackrest Full backup Restore

Pgbackrest Full backup Restore

Merhaba,

 

Pgbackrest ile full backupdan nasıl dönülürü anlatacaım, kurulum ve backup alma işlemlerini bu linkden ulaşabilirsiniz.

Backup listemizi aşağıdaki gibi görebilirsiniz.

-bash-4.2$ pgbackrest --stanza=12_main info

WARN: configuration file contains invalid option 'repo1-retention-incr'

stanza: 12_main

    status: ok

    cipher: none

    db (current)

        wal archive min/max (12-1): 00000001000000000000001B/000000020000000000000023

        full backup: 20191209-174948F

            timestamp start/stop: 2019-12-09 17:49:48 / 2019-12-09 17:50:09

            wal start/stop: 00000001000000000000001B / 00000001000000000000001B

            database size: 162.8MB, backup size: 162.8MB

            repository size: 8MB, repository backup size: 8MB

        incr backup: 20191209-174948F_20191209-200905I

 timestamp start/stop: 2019-12-09 20:09:05 / 2019-12-09 20:09:10

            wal start/stop: 00000001000000000000001F / 00000001000000000000001F

            database size: 162.9MB, backup size: 264.5KB

            repository size: 8MB, repository backup size: 11.7KB

            backup reference list: 20191209-174948F

        diff backup: 20191209-174948F_20191209-200926D

            timestamp start/stop: 2019-12-09 20:09:26 / 2019-12-09 20:09:30

            wal start/stop: 000000010000000000000021 / 000000010000000000000021

            database size: 162.9MB, backup size: 264.7KB

            repository size: 8MB, repository backup size: 11.7KB

            backup reference list: 20191209-174948F

 

Veritabanımızı aşağıdaki komut ile katalım.

  • systemctl stop postgresql-12.service

Veri tabanında  aşağıdaki komut ile bir dosyamızı silip veri tabanını açılmayacak durma getirelim.

  • rm -rf /var/lib/pgsql/12/data/global/pg_control

Veri tabanımızı aşağıdaki komut ile açmaya çalışalım.

  • systemctl start postgresql-12.service

Aşağıdaki hatayı aldığınız göreceksiniz.

Job for postgresql-12.service failed because the control process exited with error code. See "systemctl status postgresql-12.service" and "journalctl -xe" for details

Hataya aşağudaki komut ile bakacak olursak. silmiş olduğumuz dosyadan dolayı açılmıyor veri tabanımız.

[root@postgres eng]# journalctl -xe

-- 

-- Unit postgresql-12.service has begun shutting down.

Dec 10 09:59:34 postgres systemd[1]: Stopped PostgreSQL 12 database server.

-- Subject: Unit postgresql-12.service has finished shutting down

-- Defined-By: systemd

-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel

-- 

-- Unit postgresql-12.service has finished shutting down.

Dec 10 09:59:34 postgres polkitd[5638]: Unregistered Authentication Agent for unix-process:39051:2745754 (system bus name :1.1372, object pa

Dec 10 09:59:37 postgres nautilus-deskto[7469]: g_simple_action_set_enabled: assertion 'G_IS_SIMPLE_ACTION (simple)' failed

Dec 10 09:59:44 postgres nautilus-deskto[7469]: g_simple_action_set_enabled: assertion 'G_IS_SIMPLE_ACTION (simple)' failed

Dec 10 09:59:45 postgres polkitd[5638]: Registered Authentication Agent for unix-process:39092:2746949 (system bus name :1.1373 [/usr/bin/pk

Dec 10 09:59:45 postgres systemd[1]: Starting PostgreSQL 12 database server...

-- Subject: Unit postgresql-12.service has begun start-up

-- Defined-By: systemd

-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel

-- 

-- Unit postgresql-12.service has begun starting up.

Dec 10 09:59:45 postgres postmaster[39107]: postmaster: could not find the database system

Dec 10 09:59:45 postgres postmaster[39107]: Expected to find it in the directory "/var/lib/pgsql/12/data",

Dec 10 09:59:45 postgres postmaster[39107]: but could not open file "/var/lib/pgsql/12/data/global/pg_control": No such file or directory

Dec 10 09:59:45 postgres systemd[1]: postgresql-12.service: main process exited, code=exited, status=2/INVALIDARGUMENT

Dec 10 09:59:45 postgres systemd[1]: Failed to start PostgreSQL 12 database server.

-- Subject: Unit postgresql-12.service has failed

-- Defined-By: systemd

-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel

-- 

-- Unit postgresql-12.service has failed.

-- 

-- The result is failed.

Dec 10 09:59:45 postgres systemd[1]: Unit postgresql-12.service entered failed state.

Dec 10 09:59:45 postgres systemd[1]: postgresql-12.service failed.

Dec 10 09:59:45 postgres polkitd[5638]: Unregistered Authentication Agent for unix-process:39092:2746949 (system bus name :1.1373, object pa

Dec 10 09:59:51 postgres nautilus-deskto[7469]: g_simple_action_set_enabled: assertion 'G_IS_SIMPLE_ACTION (simple)' failed

 

Veri tabanı crash olmuş durumda buyüzden data dizinini bulup aşağıdaki komut ile siliyoruz.

  • [root@postgres eng]# sudo -u postgres find /var/lib/pgsql/12/data -mindepth 1 -delete
 

Aşağıdaki komut ile son alınan full backup'a dönülür.

  • sudo -u postgres pgbackrest --stanza=12_main restore

Sonrasında aşağıdaki komut ile veri tabanı açılır.

  • [root@postgres eng]# systemctl start postgresql-12.service
Ve aşağıdaki işlemlerle veri tabanımızı kontrol ederiz.
 
[root@postgres eng]# su - postgres
Last login: Tue Dec 10 09:58:25 +03 2019 on pts/0
-bash-4.2$ psql
 
psql (12.1)
Type "help" for help.
 
postgres=# c eng
You are now connected to database "eng" as user "postgres".
eng=# dt
         List of relations
 Schema | Name  | Type  |  Owner   
--------+-------+-------+----------
 public | den   | table | postgres
 public | osman | table | postgres
 
Umarım faydalı olmuştur...

Yorumlar

Henüz yorum yapılmadı.

Yorum Yapın