Bii o ṣe le ṣe Afẹyinti ati Mu pada data data PostgreSQL kan pada
Ni agbegbe iṣelọpọ, bii bi o ti tobi tabi kekere ti aaye data PostgreSQL rẹ le jẹ, ipadabọ deede jẹ abala pataki ti iṣakoso data data. Ninu nkan yii, iwọ yoo kọ bi o ṣe le ṣe afẹyinti ati mimu-pada sipo ibi ipamọ data PostgreSQL kan.
A ro pe o ti ni fifi sori ẹrọ ṣiṣẹ tẹlẹ ti eto ipamọ data PostgreSQL. Ti kii ba ṣe bẹ, ka awọn nkan atẹle wa lati fi sori ẹrọ PostgreSQL lori pinpin Linux rẹ.
- Bii a ṣe le Fi PostgreSQL sori ẹrọ ati pgAdmin4 ni Ubuntu 20.04 Bii a ṣe le Fi PostgreSQL sori ẹrọ ati pgAdmin ni CentOS 8 Bii a ṣe le Fi PostgreSQL sori ẹrọ ati pgAdmin ni RHEL 8
Jẹ ki a bẹrẹ…
Ṣe afẹyinti aaye data PostgreSQL Kan Kan
PostgreSQL pese ohun elo pg_dump lati ṣe iranlọwọ fun ọ lati ṣe afẹyinti awọn apoti isura data. O ṣe ipilẹ faili data pẹlu awọn aṣẹ SQL ni ọna kika ti o le ni rọọrun pada ni ọjọ iwaju.
Lati ṣe afẹyinti, ibi ipamọ data PostgreSQL kan, bẹrẹ nipa wíwọlé sinu olupin data rẹ, lẹhinna yipada si akọọlẹ olumulo Postgres, ki o ṣiṣẹ pg_dump gẹgẹbi atẹle (rọpo tecmintdb
pẹlu orukọ ibi ipamọ data ti o fẹ ṣe afẹyinti) . Nipa aiyipada, ọna kika o wu jẹ faili afọwọkọ SQL faili.
$ pg_dump tecmintdb > tecmintdb.sql
Pg_dump naa ṣe atilẹyin awọn ọna kika o wu miiran bakanna. O le ṣafihan ọna kika o wu nipa lilo aṣayan -F
, nibiti c
tumọ si faili iwe kika aṣa, d
tumọ si iwe kika kika itọsọna, ati
Fun apere:
$ pg_dump -F c tecmintdb > tecmintdb.dump OR $ pg_dump -F t tecmintdb > tecmintdb.tar
Lati da iṣẹjade silẹ ni ọna kika itọsọna liana, lo Flag -f
(eyiti o lo lati ṣafihan faili o wu) lati ṣafihan itọsọna ibi-afẹde dipo faili kan. Ilana ti yoo ṣẹda nipasẹ pg_dump ko gbọdọ wa tẹlẹ.
$ pg_dump -F d tecmintdb -f tecmintdumpdir
Lati ṣe afẹyinti gbogbo awọn apoti isura data PostgreSQL, lo ọpa pg_dumpall bi o ti han.
$ pg_dumpall > all_pg_dbs.sql
O le mu idapada pada sipo nipa lilo psql bi o ti han.
$ pgsql -f all_pg_dbs.sql postgres
Pada sipo aaye data PostgreSQL kan
Lati mu iwe ipamọ data PostgreSQL pada, o le lo awọn psql tabi awọn ohun elo pg_restore. psql ni a lo lati mu awọn faili ọrọ pada sipo ti a ṣẹda nipasẹ pg_dump lakoko ti a lo pg_restore lati mu iwe-ipamọ PostgreSQL kan pada lati inu iwe-akọọlẹ ti a ṣẹda nipasẹ pg_dump ninu ọkan ninu awọn ọna kika ọrọ ti kii ṣe pẹtẹlẹ (aṣa, oda, tabi itọsọna).
Eyi ni apẹẹrẹ ti bii o ṣe le mu idapada faili ọrọ lasan pada sipo:
$ psql tecmintdb < tecmintdb.sql
Gẹgẹbi a ti sọ loke, idalẹnu ọna kika aṣa kii ṣe iwe afọwọkọ fun pgsql, nitorinaa o gbọdọ mu pada pẹlu pg_restore bi o ti han.
$ pg_restore -d tecmintdb tecmintdb.dump OR $ pg_restore -d tecmintdb tecmintdb.tar OR $ pg_restore -d tecmintdb tecmintdumpdir
Afẹyinti Awọn aaye data PostgreSQL Nla
Ti ibi-ipamọ data ti o n ṣe afẹyinti tobi ati pe o fẹ ṣe ina faili o wuyi ti o kere julọ, lẹhinna o le ṣiṣe fifa fifa ibi ti o ni lati ṣe àlẹmọ abajade ti pg_dump nipasẹ ohun elo ifunpọ bii gzip tabi eyikeyi ti ayanfẹ rẹ:
$ pg_dump tecmintdb | gzip > tecmintdb.gz
Ti ibi-ipamọ data ba tobi pupọ, o le da silẹ ni afiwe nipasẹ fifọ awọn tabili nọmba_of_jobs nigbakanna lilo asia -j
, bi a ṣe han.
$ pg_dump -F d -j 5 -f tecmintdumpdir
Pataki
Afẹyinti RemgreSQL Awọn apoti isura infomesonu
pg_dump jẹ irinṣẹ alabara PostgreSQL deede, o ṣe atilẹyin awọn iṣẹ lori awọn olupin ibi ipamọ data latọna jijin. Lati ṣalaye olupin olupin data latọna jijin pg_dump yẹ ki o kan si, lo awọn aṣayan laini pipaṣẹ -h
lati ṣalaye alejo latọna jijin ati -p
ṣalaye ibudo latọna jijin ti olupin data n tẹtisi lori . Yato si, lo Flag -U
lati ṣafihan orukọ ipa ipa data lati sopọ bi.
Ranti lati rọpo 10.10.20.10 ati 5432 ati tecmintdb pẹlu adirẹsi IP olupin rẹ latọna jijin tabi orukọ olupin, ibudo data, ati orukọ ibi ipamọ data lẹsẹsẹ.
$ pg_dump -U tecmint -h 10.10.20.10 -p 5432 tecmintdb > tecmintdb.sql
Rii daju pe olumulo ti n sopọ latọna jijin ni awọn anfaani ti a beere lati wọle si ibi ipamọ data, ati ọna ijerisi ibi ipamọ data ti o yẹ ni tunto lori olupin data, bibẹkọ, iwọ yoo gba aṣiṣe bii eyi ti o han ni sikirinifoto atẹle.
O tun ṣee ṣe lati da data data silẹ taara lati ọdọ olupin si omiiran, lo awọn pg_dump ati awọn ohun elo psql bi o ti han.
$ pg_dump -U tecmint -h 10.10.20.10 tecmintdb | pqsl -U tecmint -h 10.10.20.30 tecmintdb
Aifọwọyi Afẹyinti PostgreSQL Database Lilo Job Cron kan
O le ṣe awọn afẹyinti ni awọn aaye arin deede nipa lilo awọn iṣẹ cron. Awọn iṣẹ Cron jẹ awọn ọna ti a lo wọpọ fun siseto ọpọlọpọ awọn iru awọn iṣẹ ṣiṣe lati ṣiṣe lori olupin kan.
O le tunto iṣẹ cron kan lati ṣe adaṣe afẹyinti database PostgreSQL bi atẹle. Akiyesi pe o nilo lati ṣiṣe awọn ofin wọnyi bi olutọju PostgreSQL:
$ mkdir -p /srv/backups/databases
Nigbamii, ṣiṣe aṣẹ atẹle lati satunkọ crontab lati ṣafikun iṣẹ cron tuntun kan.
$ crontab -e
Daakọ ati lẹẹ mọ ila atẹle ni opin crontab. O le lo eyikeyi awọn ọna kika jiju ti salaye loke.
0 0 * * * pg_dump -U postgres tecmintdb > /srv/backups/postgres/tecmintdb.sql
Fipamọ faili naa ki o jade.
Iṣẹ cron yoo bẹrẹ laifọwọyi ṣiṣẹ tuntun yii laisi tun bẹrẹ. Ati pe iṣẹ cron yii yoo ṣiṣẹ ni gbogbo ọjọ larin ọganjọ, o jẹ ojutu to kere julọ si iṣẹ-ṣiṣe afẹyinti.
Fun alaye diẹ sii lori bii o ṣe le seto awọn iṣẹ cron, wo: Bii o ṣe Ṣẹda ati Ṣakoso awọn Awọn iṣẹ Cron lori Lainos
Iyẹn ni fun bayi! O jẹ imọran ti o dara lati ṣe fifipamọ data jẹ apakan kan ti ilana ilana iṣakoso data rẹ. Lati de ọdọ wa fun eyikeyi awọn ibeere tabi awọn asọye, lo fọọmu esi ni isalẹ. Fun alaye diẹ sii, wo awọn oju-iwe itọkasi pg_restore.