Yadda ake Ajiyayyen da Mayar da Bayanan Bayanan PostgreSQL


A cikin yanayin samarwa, komai girman ko ƙananan bayanan bayanan ku na PostgreSQL na iya zama, dawowa na yau da kullun shine mahimmin al'amari na gudanar da bayanai. A cikin wannan labarin, zaku koyi yadda ake adanawa da dawo da bayanan PostgreSQL.

Muna ɗauka cewa kun riga kuna da aikin shigarwa na tsarin bayanan PostgreSQL. Idan ba haka ba, karanta labaranmu masu zuwa don sanya PostgreSQL akan rarraba Linux.

  • Yadda ake Shigar PostgreSQL da pgAdmin4 a cikin Ubuntu 20.04
  • Yadda ake Shigar PostgreSQL da pgAdmin a CentOS 8
  • Yadda ake Shigar PostgreSQL da pgAdmin a cikin RHEL 8

Bari mu fara…

Ajiye Bayanan Bayanai na PostgreSQL guda

PostgreSQL na samarda pg_dump mai amfani domin taimaka maku ajiyar bayanan bayanai. Yana haifar da fayil na bayanai tare da umarnin SQL a cikin tsari wanda za'a iya sauƙaƙe a nan gaba.

Don adanawa, bayanan PostgreSQL, fara da shiga cikin sabar bayananku, sa'annan ku canza zuwa asusun mai amfani na Postgres, kuma kuyi pg_dump kamar haka (maye gurbin tecmintdb tare da sunan bayanan da kuke son adanawa) . Ta hanyar tsoho, tsarin fitarwa fayil ne bayyananne rubutun SQL.

$ pg_dump tecmintdb > tecmintdb.sql

Pg_dump yana tallafawa sauran tsare-tsaren fitarwa kuma. Kuna iya tantance tsarin fitarwa ta amfani da zaɓi -F , inda c na nufin fayil ɗin tsarin tsarin al'ada, d na nufin rumbun tsarin kundin adireshi, da t yana nufin fayil ɗin tsarin tar na tsarin tar: duk tsare-tsaren sun dace da shigarwa cikin pg_restore.

Misali:

$ pg_dump -F c tecmintdb > tecmintdb.dump
OR
$ pg_dump -F t tecmintdb > tecmintdb.tar

Don zubar da fitarwa a cikin tsarin fitarwa na kundin adireshi, yi amfani da tuta -f (wanda ake amfani da shi don tantance fayil ɗin fitarwa) don tantance kundin adireshin maimakon fayil. Dole ne kundin adireshin da pg_dump ya kirkira ya kasance.

$ pg_dump -F d tecmintdb -f tecmintdumpdir	

Don adana duk bayanan bayanan PostgreSQL, yi amfani da kayan aikin pg_dumpall kamar yadda aka nuna.

$ pg_dumpall > all_pg_dbs.sql

Kuna iya dawo da juji ta amfani da psql kamar yadda aka nuna.

$ pgsql -f all_pg_dbs.sql postgres

Maido da Bayanan Bayanan PostgreSQL

Don dawo da bayanan PostgreSQL, zaku iya amfani da psql ko pg_restore. ana amfani da psql don dawo da fayilolin rubutu da pg_dump ya kirkira yayin da ake amfani da pg_restore don dawo da bayanan gidan yanar gizo na PostgreSQL daga wani rumbun adana bayanai da pg_dump ya kirkira a daya daga cikin tsare-tsaren rubutun da ba a bayyane ba (al'ada, kwalta, ko shugabanci).

Ga misalin yadda za a dawo da juzu'in fayil ɗin rubutu mai kyau:

$ psql tecmintdb < tecmintdb.sql

Kamar yadda aka ambata a sama, juzu'i na tsari ba rubutu bane don pgsql, saboda haka dole ne a dawo dashi tare da pg_restore kamar yadda aka nuna.

$ pg_restore -d tecmintdb tecmintdb.dump
OR
$ pg_restore -d tecmintdb tecmintdb.tar
OR
$ pg_restore -d tecmintdb tecmintdumpdir	

Ajiyayyen Manyan Database na PostgreSQL

Idan rumbun adana bayanan da kuke tallafawa yana da girma kuma kuna son samar da ƙaramin fayil ɗin fitarwa, to, zaku iya yin juji a inda zaku sami abin sarrafa pg_dump ta hanyar kayan aikin matsewa kamar gzip ko duk wanda kuka fi so:

$ pg_dump tecmintdb | gzip > tecmintdb.gz

Idan tarin bayanan yana da girma sosai, zaku iya zubar a layi daya ta hanyar zubar da tebur mai lamba_of_jobs lokaci guda ta amfani da tutar -j , kamar yadda aka nuna.

$ pg_dump -F d -j 5 -f tecmintdumpdir

Yana da mahimmanci a lura cewa zaɓin juji iri ɗaya yana rage lokacin juji, amma a ɗaya hannun, hakan ma yana ƙara nauyi akan sabar bayanan.

Ajiyayyen Nesa PostgreSQL Databases

pg_dump kayan aiki ne na abokin ciniki na PostgreSQL na yau da kullun, yana tallafawa ayyukan akan sabar bayanan nesa. Don tantance uwar garken rumbun adana bayanan pg_dump ya kamata ya tuntuɓi, yi amfani da zaɓuɓɓukan layin umarni -h don tantance mai masaukin nesa kuma -p ƙayyade tashar tashar nesa da uwar garken bayanan ke sauraro . Bayan haka, yi amfani da tutar -U don tantance sunan rawar tushen bayanai don haɗawa azaman.

Ka tuna maye gurbin 10.10.20.10 da 5432 da tecmintdb tare da adireshin IP na nesa mai masaukin adireshi ko sunan mai masauki, tashar tashar bayanai, da sunan bayanan bayanai bi da bi.

$ pg_dump -U tecmint -h 10.10.20.10 -p 5432 tecmintdb > tecmintdb.sql

Tabbatar cewa mai amfani da ke haɗawa da nesa yana da abubuwan da ake buƙata don samun damar bayanan, kuma an daidaita hanyar ingantaccen bayanan kan sabar bayanan, in ba haka ba, zaku sami kuskure kamar wanda aka nuna a cikin hoton da ke tafe.

Hakanan yana yiwuwa a zubar da bayanan kai tsaye daga sabar ɗaya zuwa wani, yi amfani da pg_dump da kayan amfanin psql kamar yadda aka nuna.

$ pg_dump -U tecmint -h 10.10.20.10 tecmintdb | pqsl -U tecmint -h 10.10.20.30 tecmintdb

Auto Ajiyayyen PostgreSQL Database Amfani da Cron Aiki

Kuna iya yin madadin a lokaci-lokaci ta amfani da ayyukan cron. Ayyukan Cron wata hanya ce da aka saba amfani dasu don tsara jadawalin nau'ikan ayyuka don gudana akan sabar.

Kuna iya saita aikin cron don sanya aikin ajiyar bayanan bayanan PostgreSQL kamar haka. Lura cewa kuna buƙatar gudanar da waɗannan umarni a matsayin mai kulawa da PostgreSQL:

$ mkdir -p /srv/backups/databases

Na gaba, gudanar da umarni mai zuwa don shirya crontab don ƙara sabon aikin cron.

$ crontab -e

Kwafa da liƙa layi mai zuwa a ƙarshen crontab. Kuna iya amfani da kowane samfurin juji da aka bayyana a sama.

0 0 * * *  pg_dump  -U postgres tecmintdb > /srv/backups/postgres/tecmintdb.sql

Adana fayil ɗin kuma fita.

Sabis ɗin cron zai fara gudanar da wannan sabon aikin kai tsaye ba tare da sake farawa ba. Kuma wannan aikin cron ɗin zai gudana kowace rana a tsakar dare, shine mafi ƙarancin mafita ga aikin adanawa.

Don ƙarin bayani game da yadda ake tsara ayyukan cron, duba: Yadda ake ƙirƙira da Sarrafa Ayyuka na Cron akan Linux

Wannan kenan a yanzu! Yana da kyau ka maida bayanan ajiya wani bangare ne na tsarin gudanar da bayanan ka na yau da kullun. Don isa gare mu don kowane tambayoyi ko tsokaci, yi amfani da fom ɗin da ke ƙasa. Don ƙarin bayani, duba shafi na pg_restore.