{"id":55884,"date":"2020-01-31T00:00:00","date_gmt":"2020-01-30T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/znakomstvo-s-wal-g-sistemoj-bekapirovaniya-postgresql"},"modified":"2020-02-18T14:04:03","modified_gmt":"2020-02-18T11:04:03","slug":"znakomstvo-s-wal-g-sistemoj-bekapirovaniya-postgresql","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/znakomstvo-s-wal-g-sistemoj-bekapirovaniya-postgresql","title":{"rendered":"Tutvumine wal-g PostgreSQL varunduss\u00fcsteemiga","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/wal-g\/wal-g\">WAL-G<\/a><\/noindex> \u2014 lihtne ja t\u00f5hus t\u00f6\u00f6riist PostgreSQL-i varundamiseks pilves. Oma p\u00f5hifunktsionaalsuses on see tuntud t\u00f6\u00f6riista j\u00e4reltulija <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/wal-e\/wal-e\">WAL-E<\/a><\/noindex>, kuid \u00fcmber kirjutatud Go keeles. Kuid WAL-G-l on \u00fcks oluline uus omadus \u2014 delta-varundused. Delta-varundused <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/wal-g\/wal-g\">WAL-G<\/a><\/noindex> salvestavad faililehed, mis on muutunud varasema varunduse versiooniga v\u00f5rreldes. WAL-G-s on rakendatud \u00fcsna palju tehnoloogiaid varunduste paralleelseks t\u00f6\u00f6tlemiseks. WAL-G t\u00f6\u00f6tab palju kiiremini kui WAL-E.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>WAL-G t\u00f6\u00f6p\u00f5him\u00f5tteid saab lugeda artiklist: <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/yandex\/blog\/415817\/\">Varunduse kiirus. Yandexi loeng<\/a><\/noindex> <\/p>\n<p><\/p>\n<p>S3 salvestusprotokoll on saanud populaarsuseks andmete salvestamiseks. \u00dcks S3 eeliseid on API kaudu ligip\u00e4\u00e4su v\u00f5imalus, mis v\u00f5imaldab paindlikku suhtlemist salvestusse, sealhulgas avalikku lugemis\u00f5igust, samas kui andmete uuendamine salvestuses toimub ainult volitatud isikute poolt.<\/p>\n<p><\/p>\n<p>On olemas mitmeid nii avatud kui ka erasektori S3 protokolli p\u00f5hiseid salvestuslahendusi. T\u00e4na vaatame populaarset lahendust v\u00e4ikeste salvestuste loomiseks \u2014 Minio.<\/p>\n<p><\/p>\n<p>WAL-G testimiseks sobib \u00fcks PostgreSQL server ja S3 asenduseks kasutatakse Miniot.<\/p>\n<p><\/p>\n<h2 id=\"server-minio\">Minio server<\/h2>\n<p><\/p>\n<p>Minio installimine<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">yum -y install yum-plugin-copr\nyum copr enable -y lkiesow\/minio\nyum install -y minio<\/code><\/pre>\n<p><\/p>\n<p>Muudame AccessKey ja SecretKey failis \/etc\/minio\/minio.conf<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">vi \/etc\/minio\/minio.conf<\/code><\/pre>\n<p><\/p>\n<p>Kui te ei kasuta Nginx-i Minio ees, siis tuleb muuta<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">--address 127.0.0.1:9000<\/code><\/pre>\n<p><\/p>\n<pre><code class=\"plaintext\">--address 0.0.0.0:9000<\/code><\/pre>\n<p><\/p>\n<p>K\u00e4ivitame Minio<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">systemctl start minio<\/code><\/pre>\n<p><\/p>\n<p>Siseneme Minio veebiliidesesse <noindex><a rel=\"nofollow\" href=\"http:\/\/ip-%D0%B0%D0%B4%D1%80%D0%B5%D1%81-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0-minio:9000\">http:\/\/serveri-minio-ip-aadress:9000<\/a><\/noindex> ja loome baketi (n\u00e4iteks pg-backups).<\/p>\n<p><\/p>\n<h2 id=\"server-bd\">Andmebaasi server<\/h2>\n<p><\/p>\n<p>WAL-G rpm paketi koostajaks olen mina (Anton Patsev). <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/patsevanton\/wal-g-rpm\">Github<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/copr.fedorainfracloud.org\/coprs\/antonpatsev\/wal-g\/\">Fedora COPR<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Kellel ei ole RPM-p\u00f5hist s\u00fcsteemi, kasutage ametlikku <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/wal-g\/wal-g#installation\">juhend<\/a><\/noindex> paigaldusjuhendit.<\/p>\n<p><\/p>\n<p>Koos WAL-G binaarfailiga rpm-s on olemas skriptid, mis impordivad muutujaid failist \/etc\/wal-g.d\/server-s3.conf.<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">backup-fetch.sh\nbackup-list.sh\nbackup-push.sh\nwal-fetch.sh\nwal-g-run.sh\nwal-push.sh<\/code><\/pre>\n<p><\/p>\n<p>Installime WAL-G.<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">yum -y install yum-plugin-copr\nyum copr enable -y antonpatsev\/wal-g\nyum install -y wal-g<\/code><\/pre>\n<p><\/p>\n<p>Kontrollime WAL-G versiooni.<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">wal-g --version\nwal-g versioon v0.2.14<\/code><\/pre>\n<p><\/p>\n<p>Redigeerime \/etc\/wal-g.d\/server-s3.conf vastavalt oma vajadustele.<\/p>\n<p><\/p>\n<p>Konfiguratsioonifailid ja andmebaasi klastrit kasutavad andmefailid on traditsiooniliselt salvestatud klastris andmekataloogis, mida tavaliselt nimetatakse <code>PGDATA<\/code><\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">#!\/bin\/bash\n\nexport PG_VER=&quot;9.6&quot;\n\nexport WALE_S3_PREFIX=&quot;s3:\/\/pg-backups&quot; # \u0431\u0430\u043a\u0435\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u0432 S3\nexport AWS_ACCESS_KEY_ID=&quot;xxxx&quot; # AccessKey \u0438\u0437 \/etc\/minio\/minio.conf \nexport AWS_ENDPOINT=&quot;http:\/\/ip-\u0430\u0434\u0440\u0435\u0441-\u0441\u0435\u0440\u0432\u0435\u0440\u0430-minio:9000&quot;\nexport AWS_S3_FORCE_PATH_STYLE=&quot;true&quot;\nexport AWS_SECRET_ACCESS_KEY=&quot;yyyy&quot; # SecretKey \u0438\u0437 \/etc\/minio\/minio.conf\n\nexport PGDATA=\/var\/lib\/pgsql\/$PG_VER\/data\/\nexport PGHOST=\/var\/run\/postgresql\/.s.PGSQL.5432 # \u0421\u043e\u043a\u0435\u0442 \u0434\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a PostgreSQL\n\nexport WALG_UPLOAD_CONCURRENCY=2 # \u041a\u043e\u043b-\u0432\u043e \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u0434\u043b\u044f \u0437\u0430\u043a\u0430\u0447\u043a\u0438 \nexport WALG_DOWNLOAD_CONCURRENCY=2 # \u041a\u043e\u043b-\u0432\u043e \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u0434\u043b\u044f \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f\nexport WALG_UPLOAD_DISK_CONCURRENCY=2 # \u041a\u043e\u043b-\u0432\u043e \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u043d\u0430 \u0434\u0438\u0441\u043a\u0435 \u0434\u043b\u044f \u0437\u0430\u043a\u0430\u0447\u043a\u0438\nexport WALG_DELTA_MAX_STEPS=7\nexport WALG_COMPRESSION_METHOD=brotli # \u041a\u0430\u043a\u043e\u0439 \u043c\u0435\u0442\u043e\u0434 \u0441\u0436\u0430\u0442\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c.\n<\/code><\/pre>\n<p><\/p>\n<p>WAL-G seadistamisel m\u00e4\u00e4rate WALG_DELTA_MAX_STEPS \u2014 maksimaalne sammude arv, mille v\u00f5rra delta-varundus v\u00f5ib base-varundusest erineda, ja m\u00e4\u00e4rate delta-koopia poliitika. Kas teete koopia viimastest olemasolevatest delta-varundustest v\u00f5i teete delta algsest t\u00e4isvarundusest. See on vajalik juhul, kui teie andmebaasis muutub pidevalt sama andmebaasi element, sama andmed pidevalt muudetakse.<\/p>\n<p><\/p>\n<p>Paigaldame andmebaasi.<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">yum install -y https:\/\/download.postgresql.org\/pub\/repos\/yum\/reporpms\/EL-7-x86_64\/pgdg-redhat-repo-latest.noarch.rpm\nyum install -y postgresql96 postgresql96-server mc<\/code><\/pre>\n<p><\/p>\n<p>Initsialiseerime andmebaasi.<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">\/usr\/pgsql-9.6\/bin\/postgresql96-setup initdb\nInitializing database ... OK<\/code><\/pre>\n<p><\/p>\n<p>Kui testite \u00fche serveri peal, tuleb seadistada parameeter wal_level v\u00e4\u00e4rtusele archive PostgreSQL versioonides, mis on vanemad kui 10, ja replica PostgreSQL 10 ja uuemates versioonides.<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">wal_level = archive<\/code><\/pre>\n<p><\/p>\n<p>Teeme WAL arhiivide varundamise iga 60 sekundi tagant PostgreSQL-i abil. Teie tootmisversioonis on archive_timeout v\u00e4\u00e4rtus erinev.<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">archive_mode = on\narchive_command = '\/usr\/local\/bin\/wal-push.sh %p'\narchive_timeout = 60 # Iga 60 sekundi tagant k\u00e4ivitatakse k\u00e4sk archive_command.<\/code><\/pre>\n<p><\/p>\n<p>K\u00e4ivitame PostgreSQL-i<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">systemctl start postgresql-9.6<\/code><\/pre>\n<p><\/p>\n<p>Vaadake PostgreSQL logisid eraldi konsoolis vigade osas: (postgresql-Wed.log asendage praegusega).<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">tail -fn100 \/var\/lib\/pgsql\/9.6\/data\/pg_log\/postgresql-Wed.log<\/code><\/pre>\n<p><\/p>\n<p>Logime psql-i sisse.<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">su - postgres\npsql<\/code><\/pre>\n<p><\/p>\n<p>Loome psql-is andmebaasi.<\/p>\n<p><\/p>\n<p>Loome tabeli andmebaasis test1.<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">create database test1;<\/code><\/pre>\n<p><\/p>\n<p>Vahetame andmebaasi test.<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">postgres=# c test1;<\/code><\/pre>\n<p><\/p>\n<p>Loome tabeli indexing_table.<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">test1=# CREATE TABLE indexing_table(created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW());<\/code><\/pre>\n<p><\/p>\n<p>Andmete lisamine.<\/p>\n<p><\/p>\n<p>K\u00e4ivitame andmete sisestamise. Ootame 10\u201320 minutit.<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">#!\/bin\/bash\n# postgres\nwhile true; do\npsql -U postgres -d test1 -c &quot;INSERT INTO indexing_table(created_at) VALUES (CURRENT_TIMESTAMP);&quot;\nsleep 60;\ndone<\/code><\/pre>\n<p><\/p>\n<p>Kindlasti teeme t\u00e4isvarunduse.<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">su - postgres\n\/usr\/local\/bin\/backup-push.sh<\/code><\/pre>\n<p><\/p>\n<p>Vaadake kirjeid tabelis andmebaasis test1<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">select * from indexing_table;\n2020-01-29 09:41:25.226198+\n2020-01-29 09:42:25.336989+\n2020-01-29 09:43:25.356069+\n2020-01-29 09:44:25.37381+\n2020-01-29 09:45:25.392944+\n2020-01-29 09:46:25.412327+\n2020-01-29 09:47:25.432564+\n2020-01-29 09:48:25.451985+\n2020-01-29 09:49:25.472653+\n2020-01-29 09:50:25.491974+\n2020-01-29 09:51:25.510178+<\/code><\/pre>\n<p><\/p>\n<p>Rida on praegune aeg.<\/p>\n<p><\/p>\n<h3 id=\"smotrim-spisok-polnyh-bekapov\">Vaadake t\u00e4isvarunduste loendit<\/h3>\n<p><\/p>\n<pre><code class=\"plaintext\">\/usr\/local\/bin\/backup-list.sh<\/code><\/pre>\n<p><\/p>\n<h3 id=\"testirovanie-vosstanovleniya\">Taastamise testimine<\/h3>\n<p><\/p>\n<h4 id=\"polnoe-vosstanovlenie-s-nakatyvaem-vseh-dostupnyh-wal\">T\u00e4ielik taastamine koos k\u00f5igi saadaolevate WAL-ide rakendamisega.<\/h4>\n<p><\/p>\n<p>Peatame PostgreSQL-i.<\/p>\n<p><\/p>\n<p>Kustutame k\u00f5ik failid kaustast \/var\/lib\/pgsql\/9.6\/data.<\/p>\n<p><\/p>\n<p>K\u00e4ivitame skripti \/usr\/local\/bin\/backup-fetch.sh kasutajalt postgres.<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">su - postgres\n\/usr\/local\/bin\/backup-fetch.sh<\/code><\/pre>\n<p><\/p>\n<p>Varundamise v\u00e4ljav\u00f5tmine on l\u00f5pule viidud.<\/p>\n<p><\/p>\n<p>Lisame recovery.conf kausta \/var\/lib\/pgsql\/9.6\/data j\u00e4rgmise sisuga.<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">restore_command = '\/usr\/local\/bin\/wal-fetch.sh &quot;%f&quot; &quot;%p&quot;'<\/code><\/pre>\n<p><\/p>\n<p>K\u00e4ivitame PostgreSQL-i. PostgreSQL k\u00e4ivitab taastamisprotsessi arhiivitud WAL-i kaudu ja alles siis avaneb andmebaas. <\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">systemctl start postgresql-9.6\ntail -fn100 \/var\/lib\/pgsql\/9.6\/data\/pg_log\/postgresql-Wed.log<\/code><\/pre>\n<p><\/p>\n<h4 id=\"vosstanovlenie-na-opredelennoe-vremya\">Taastamine kindlaksm\u00e4\u00e4ratud ajani.<\/h4>\n<p><\/p>\n<p>Kui soovime taastada andmebaasi kindla minuti jooksul, lisame recovery.conf faili parameetri recovery_target_time \u2014 n\u00e4itame, millise aja jaoks andmebaasi taastada.<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">restore_command = '\/usr\/local\/bin\/wal-fetch.sh &quot;%f&quot; &quot;%p&quot;'\nrecovery_target_time = '2020-01-29 09:46:25'<\/code><\/pre>\n<p><\/p>\n<p>P\u00e4rast taastamist vaatame \u00fcles andmeindekseerimise tabeli.<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\"> 2020-01-29 09:41:25.226198+00\n 2020-01-29 09:42:25.336989+00\n 2020-01-29 09:43:25.356069+00\n 2020-01-29 09:44:25.37381+00\n 2020-01-29 09:45:25.392944+00<\/code><\/pre>\n<p><\/p>\n<p>K\u00e4ivitame PostgreSQL-i. PostgreSQL k\u00e4ivitab taastamisprotsessi arhiivitud WAL-i kaudu ja alles siis avaneb andmebaas. <\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">systemctl start postgresql-9.6\ntail -fn100 \/var\/lib\/pgsql\/9.6\/data\/pg_log\/postgresql-Wed.log<\/code><\/pre>\n<p><\/p>\n<h3 id=\"testirovanie\">Testimine<\/h3>\n<p><\/p>\n<p>Genereerime 1GB andmebaasi nagu siin on kirjeldatud. <noindex><a rel=\"nofollow\" href=\"https:\/\/gist.github.com\/ololobus\/5b25c432f208d7eb31051a5f238dffff\">https:\/\/gist.github.com\/ololobus\/5b25c432f208d7eb31051a5f238dffff<\/a><\/noindex><\/p>\n<p><\/p>\n<p>K\u00fcsi konteineri suurust p\u00e4rast 1GB andmete genereerimist.<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">postgres=# SELECT pg_size_pretty(pg_database_size('test1'));\npg_size_pretty\n----------------\n1003 MB<\/code><\/pre>\n<p><\/p>\n<p>s4cmd \u2014 tasuta k\u00e4surea t\u00f6\u00f6riist Amazon S3-s asuvate andmete haldamiseks. T\u00f6\u00f6riist on kirjutatud python programmeerimiskeeles ja seet\u00f5ttu saab seda kasutada nii Windowsi kui ka Linuxi operatsioonis\u00fcsteemides.<\/p>\n<p><\/p>\n<p>Installeerime s4cmd.<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">pip install s4cmd<\/code><\/pre>\n<p><\/p>\n<h4 id=\"lz4\">LZ4<\/h4>\n<p><\/p>\n<pre><code class=\"plaintext\">s4cmd --endpoint-url=http:\\\/\\\/ip-aadress-serveri-minio:9000 --access-key=xxxx --secret-key=yyyy du -r s3:\\\/\\\/pg-backups\n840540822       s3:\\\/\\\/pg-backups\\\/wal_005\\\/\n840 MB lz4 formaadis ainult WAL logidest\n\nT\u00e4ielik varukoopia lz4 - 1GB andmeid\ntime backup_push.sh\nreal 0m18.582s\n\nS3 konteineri suurus p\u00e4rast t\u00e4isvarukoopiat\n\n581480085       s3:\\\/\\\/pg-backups\\\/basebackups_005\\\/\n842374424   s3:\\\/\\\/pg-backups\\\/wal_005\n581 MB v\u00f5tab t\u00e4ielik varukoopia.<\/code><\/pre>\n<p><\/p>\n<h4 id=\"lzma\">LZMA<\/h4>\n<p><\/p>\n<pre><code class=\"plaintext\">P\u00e4rast 1GB andmete genereerimist\n338413694       s3:\\\/\\\/pg-backups\\\/wal_005\\\/\n338 MB logisid lzma formaadis\n\nT\u00e4ieliku varukoopia genereerimise aeg\ntime backup_push.sh\nreal    5m25.054s\n\nKonteineri suurus S3-s\n270310495       s3:\\\/\\\/pg-backups\\\/basebackups_005\\\/\n433485092   s3:\\\/\\\/pg-backups\\\/wal_005\\\/\n\n270 MB v\u00f5tab t\u00e4ielik varukoopia lzma formaadis.<\/code><\/pre>\n<p><\/p>\n<h4 id=\"brotli\">Brotli<\/h4>\n<p><\/p>\n<pre><code class=\"plaintext\">P\u00e4rast 1GB andmete genereerimist\n459229886       s3:\\\/\\\/pg-backups\\\/wal_005\\\/\n459 MB logisid brotli formaadis\n\nT\u00e4ieliku varukoopia genereerimise aeg\nreal    0m23.408s\n\nKonteineri suurus S3-s\n312960942       s3:\\\/\\\/pg-backups\\\/basebackups_005\\\/\n459309262   s3:\\\/\\\/pg-backups\\\/wal_005\\\/\n\n312 MB v\u00f5tab t\u00e4ielik varukoopia brotli formaadis.\n<\/code><\/pre>\n<p><\/p>\n<p>V\u00f5rdlus tulemuste graafikul.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Tutvumine wal-g PostgreSQL varunduss\u00fcsteemiga\" src=\"\/wp-content\/uploads\/2020\/01\/eeb4f6ae485f086cba126de323f900db.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Nagu n\u00e4eme, et Brotli suurus on v\u00f5rreldav LZMA-ga, kuid varukoopia tegemine kestab sama kaua kui LZ4.<\/p>\n<p><\/p>\n<p>PostgreSQL-i venekeelse kogukonna vestlus: <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/pgsql\">https:\/\/t.me\/pgsql<\/a><\/noindex><\/p>\n<p><\/p>\n<p>Palun pange t\u00e4ht Githubis, kui kasutate. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/wal-g\/wal-g\">wal-g<\/a><\/noindex><\/p>\n<p>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/486188\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>WAL-G \u2014 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f PostgreSQL \u0432 \u043e\u0431\u043b\u0430\u043a\u0430. \u041f\u043e \u0441\u0432\u043e\u0435\u0439 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043e\u043d \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0430\u0441\u043b\u0435\u0434\u043d\u0438\u043a\u043e\u043c \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 WAL-E, \u043d\u043e \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u043c \u043d\u0430 Go. \u041d\u043e \u0432 WAL-G \u0435\u0441\u0442\u044c \u043e\u0434\u043d\u0430 \u0432\u0430\u0436\u043d\u0430\u044f \u043d\u043e\u0432\u0430\u044f \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u2014 \u0434\u0435\u043b\u044c\u0442\u0430-\u043a\u043e\u043f\u0438\u0438. \u0414\u0435\u043b\u044c\u0442\u0430-\u043a\u043e\u043f\u0438\u0438 WAL-G \u0445\u0440\u0430\u043d\u044f\u0442 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0444\u0430\u0439\u043b\u043e\u0432, \u0438\u0437\u043c\u0435\u043d\u0438\u0432\u0448\u0438\u0435\u0441\u044f \u0441 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0439 \u043a\u043e\u043f\u0438\u0438. \u0412 WAL-G \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u043f\u043e \u0440\u0430\u0441\u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0432\u0430\u043d\u0438\u044e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":55885,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-55884","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"WAL-G \u2014 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f PostgreSQL \u0432 \u043e\u0431\u043b\u0430\u043a\u0430.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/znakomstvo-s-wal-g-sistemoj-bekapirovaniya-postgresql\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0417\u043d\u0430\u043a\u043e\u043c\u0441\u0442\u0432\u043e \u0441 wal-g \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u0431\u0435\u043a\u0430\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f PostgreSQL | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"WAL-G \u2014 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f PostgreSQL \u0432 \u043e\u0431\u043b\u0430\u043a\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/znakomstvo-s-wal-g-sistemoj-bekapirovaniya-postgresql\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-01-30T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:04:03+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Kohtumine wal-g PostgreSQL varundamise s\u00fcsteemiga | ProHoster","description":"WAL-G \u2014 lihtne ja efektiivne t\u00f6\u00f6riist PostgreSQL-i varukoopiate tegemiseks pilvedes.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/znakomstvo-s-wal-g-sistemoj-bekapirovaniya-postgresql","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0417\u043d\u0430\u043a\u043e\u043c\u0441\u0442\u0432\u043e \u0441 wal-g \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u0431\u0435\u043a\u0430\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f PostgreSQL | ProHoster","og:description":"WAL-G \u2014 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f PostgreSQL \u0432 \u043e\u0431\u043b\u0430\u043a\u0430.","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/znakomstvo-s-wal-g-sistemoj-bekapirovaniya-postgresql","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-01-30T21:00:00+00:00","article:modified_time":"2020-02-18T11:04:03+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"55884","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:35:40","updated":"2022-09-28 13:58:06","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/55884","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=55884"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/55884\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/55885"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=55884"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=55884"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=55884"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}