เชชเซเชธเซเชเชเซเชฐเซเชเชธเชเซเชฏเซเชเชฒเชจเซ เชเซเชฒเชพเชเชกเซเชธเชฎเชพเช เชฌเซเชเช เชช เชฒเซเชตเชพ เชฎเชพเชเซเชจเซเช เชเช เชธเชฐเชณ เช เชจเซ เช เชธเชฐเชเชพเชฐเช เชธเชพเชงเชจ เชเซ. เชคเซเชจเซ เชฎเซเชเซเชฏ เชเชพเชฐเซเชฏเชเซเชทเชฎเชคเชพเชจเชพ เชธเชเชฆเชฐเซเชญเชฎเชพเช, เชคเซ เชฒเซเชเชชเซเชฐเชฟเชฏ เชธเชพเชงเชจเชจเซ เชตเชพเชฐเชธเชฆเชพเชฐ เชเซ , เชชเชฐเชเชคเซ Go เชฎเชพเช เชซเชฐเซเชฅเซ เชฒเชเชพเชฏเซเชฒ. เชชเชฐเชเชคเซ WAL-G เชฎเชพเช เชเช เชฎเชนเชคเซเชตเชชเซเชฐเซเชฃ เชจเชตเซ เชธเซเชตเชฟเชงเชพ เชเซ - เชกเซเชฒเซเชเชพ เชเซเชชเซเช. เชกเซเชฒเซเชเชพ เชจเชเชฒเซ เชชเชพเชเชฒเชพ เชฌเซเชเช เชช เชธเชเชธเซเชเชฐเชฃเชฅเซ เชฌเชฆเชฒเชพเชฏเซเชฒ เชซเชพเชเชฒเซเชจเชพ เชชเซเชทเซเช เซเชจเซ เชธเชเชเซเชฐเชนเชฟเชค เชเชฐเซ. WAL-G เชฌเซเชเช เชชเชจเซ เชธเชฎเชพเชเชคเชฐ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เชเชฃเซ เชฌเชงเซ เชคเชเชจเซเชเซเชจเซ เช เชฎเชฒ เชเชฐเซ เชเซ. WAL-G WAL-E เชเชฐเชคเชพเช เชตเชงเซ เชเชกเชชเซ เชเซ.
wal-g เชเซเชตเซ เชฐเซเชคเซ เชเชพเชฐเซเชฏ เชเชฐเซ เชเซ เชคเซเชจเซ เชตเชฟเชเชคเซ เชฒเซเชเชฎเชพเช เชฎเชณเซ เชถเชเซ เชเซ:
เชกเซเชเชพ เชธเซเชเซเชฐ เชเชฐเชตเชพ เชฎเชพเชเซ S3 เชธเซเชเซเชฐเซเช เชชเซเชฐเซเชเซเชเซเชฒ เชฒเซเชเชชเซเชฐเชฟเชฏ เชฌเชจเซเชฏเซเช เชเซ. S3 เชจเซ เชเช เชซเชพเชฏเชฆเซ เชเชชเซเชเช เชฆเซเชตเชพเชฐเชพ เชเชเซเชธเซเชธ เชเชฐเชตเชพเชจเซ เชเซเชทเชฎเชคเชพ เชเซ, เชเซ เชคเชฎเชจเซ เชธเชพเชฐเซเชตเชเชจเชฟเช เชตเชพเชเชเชจ เชเชเซเชธเซเชธ เชธเชนเชฟเชค เชธเซเชเซเชฐเซเช เชธเชพเชฅเซ เชฒเชตเชเซเช เชเซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเชเซเชฐเชฟเชฏเชพ เชเซเช เชตเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ, เชเซเชฏเชพเชฐเซ เชธเซเชเซเชฐเซเชเชฎเชพเช เชฎเชพเชนเชฟเชคเซ เช เชชเชกเซเช เชเชฐเชตเชพเชจเซเช เชซเชเซเชค เช เชงเชฟเชเซเชค เชตเซเชฏเชเซเชคเชฟเช เชฆเซเชตเชพเชฐเชพ เช เชฅเชพเชฏ เชเซ.
เชคเซเชฏเชพเช เชเชฃเชพ เชเชพเชนเซเชฐ เช เชจเซ เชเชพเชจเชเซ เชธเซเชเซเชฐเซเช เช เชฎเชฒเซเชเชฐเชฃเซ เชเซ เชเซ S3 เชชเซเชฐเซเชเซเชเซเชฒเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ. เชเชเซ เชเชชเชฃเซ เชจเชพเชจเชพ เชธเซเชเซเชฐเซเชเชจเซ เชเซเช เชตเชตเชพ เชฎเชพเชเซ เชเช เชฒเซเชเชชเซเชฐเชฟเชฏ เชเชเซเชฒ เชเซเชเชถเซเช - เชฎเชฟเชจเซเชฏเซ.
เชเช เช PostgreSQL เชธเชฐเซเชตเชฐ wal-g เชจเชพ เชชเชฐเซเชเซเชทเชฃ เชฎเชพเชเซ เชธเชพเชฐเซเช เชเซ, เช เชจเซ Minio เชจเซ เชเชชเชฏเซเช S3 เชฎเชพเชเซ เชฐเชฟเชชเซเชฒเซเชธเชฎเซเชจเซเช เชคเชฐเซเชเซ เชฅเชพเชฏ เชเซ.
Minio เชธเชฐเซเชตเชฐ
Minio เชธเซเชฅเชพเชชเชจ
yum -y install yum-plugin-copr
yum copr enable -y lkiesow/minio
yum install -y minioAccessKey เช เชจเซ SecretKey เชจเซ /etc/minio/minio.conf เชฎเชพเช เชธเชเชชเชพเชฆเชฟเชค เชเชฐเซ
vi /etc/minio/minio.confเชเซ เชคเชฎเซ Minio เชชเชนเซเชฒเชพเช nginx เชจเซ เชเชชเชฏเซเช เชเชฐเชถเซ เชจเชนเซเช, เชคเซ เชคเชฎเชพเชฐเซ เชฌเชฆเชฒเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ
--address 127.0.0.1:9000--address 0.0.0.0:9000Minio เชฒเซเชจเซเช เชเชฐเซ เชฐเชนเซเชฏเซเช เชเซ
systemctl start minioMinio เชตเซเชฌ เชเชจเซเชเชฐเชซเซเชธ เชชเชฐ เชเชพเช เช เชจเซ เชฌเชเซเช เชฌเชจเชพเชตเซ (เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, pg-backups).
เชกเซเชฌเซ เชธเชฐเซเชตเชฐ
rpm เชฎเชพเช WAL-G เชฎเชพเชฐเชพ (เชเชจเซเชเซเชจ เชชเซเชเชธเซเชต) เชฆเซเชตเชพเชฐเชพ เชเชธเซเชฎเซเชฌเชฒ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. , .
เชเซเชจเซ เชชเชพเชธเซ RPM-เชเชงเชพเชฐเชฟเชค เชธเชฟเชธเซเชเชฎ เชจเชฅเซ, เชคเซ เช เชงเชฟเชเชพเชฐเซเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชธเซเชฅเชพเชชเชจ เชฆเซเชตเชพเชฐเชพ.
wal-g เชฆเซเชตเชฟเชธเชเชเซ เชธเชพเชฅเซ, rpm เช เชธเซเชเซเชฐเชฟเชชเซเชเซ เชงเชฐเชพเชตเซ เชเซ เชเซ /etc/wal-gd/server-s3.conf เชซเชพเชเชฒเชฎเชพเชเชฅเซ เชเชฒเซเชจเซ เชเชฏเชพเชค เชเชฐเซ เชเซ.
backup-fetch.sh
backup-list.sh
backup-push.sh
wal-fetch.sh
wal-g-run.sh
wal-push.shเชตเซเชฒเซเช เชเชจเซเชธเซเชเซเชฒ เชเชฐเซ.
yum -y install yum-plugin-copr
yum copr enable -y antonpatsev/wal-g
yum install -y wal-gwal-g เชธเชเชธเซเชเชฐเชฃ เชคเชชเชพเชธเซ เชฐเชนเซเชฏเซเช เชเซ.
wal-g --version
wal-g version v0.2.14เชคเชฎเชพเชฐเซ เชเชฐเซเชฐเชฟเชฏเชพเชคเซ เช เชจเซเชธเชพเชฐ /etc/wal-gd/server-s3.conf เชฎเชพเช เชซเซเชฐเชซเชพเชฐ เชเชฐเซ.
เชกเซเชเชพเชฌเซเช เชเซเชฒเชธเซเชเชฐ เชฆเซเชตเชพเชฐเชพ เชเชชเชฏเซเชเชฎเชพเช เชฒเซเชตเชพเชคเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒเซ เช
เชจเซ เชกเซเชเชพ เชซเชพเชเชฒเซ เชชเชฐเชเชชเชฐเชพเชเชค เชฐเซเชคเซ เชเซเชฒเชธเซเชเชฐ เชกเซเชเชพ เชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเช เชเชเชธเชพเชฅเซ เชธเชเชเซเชฐเชนเชฟเชค เชฅเชพเชฏ เชเซ, เชเซเชจเซ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ PGDATA
#!/bin/bash
export PG_VER="9.6"
export WALE_S3_PREFIX="s3://pg-backups" # ะฑะฐะบะตั, ะบะพัะพััะน ะผั ัะพะทะดะฐะปะธ ะฒ S3
export AWS_ACCESS_KEY_ID="xxxx" # AccessKey ะธะท /etc/minio/minio.conf
export AWS_ENDPOINT="http://ip-ะฐะดัะตั-ัะตัะฒะตัะฐ-minio:9000"
export AWS_S3_FORCE_PATH_STYLE="true"
export AWS_SECRET_ACCESS_KEY="yyyy" # SecretKey ะธะท /etc/minio/minio.conf
export PGDATA=/var/lib/pgsql/$PG_VER/data/
export PGHOST=/var/run/postgresql/.s.PGSQL.5432 # ะกะพะบะตั ะดะปั ะฟะพะดะบะปััะตะฝะธั ะบ PostgreSQL
export WALG_UPLOAD_CONCURRENCY=2 # ะะพะป-ะฒะพ ะฟะพัะพะบะพะฒ ะดะปั ะทะฐะบะฐัะบะธ
export WALG_DOWNLOAD_CONCURRENCY=2 # ะะพะป-ะฒะพ ะฟะพัะพะบะพะฒ ะดะปั ัะบะฐัะธะฒะฐะฝะธั
export WALG_UPLOAD_DISK_CONCURRENCY=2 # ะะพะป-ะฒะพ ะฟะพัะพะบะพะฒ ะฝะฐ ะดะธัะบะต ะดะปั ะทะฐะบะฐัะบะธ
export WALG_DELTA_MAX_STEPS=7
export WALG_COMPRESSION_METHOD=brotli # ะะฐะบะพะน ะผะตัะพะด ัะถะฐัะธั ะธัะฟะพะปัะทะพะฒะฐัั.
WAL-G เชจเซ เชเซเช เชตเชฃเซ เชเชฐเชคเซ เชตเชเชคเซ, เชคเชฎเซ WALG_DELTA_MAX_STEPS เชจเซ เชเชฒเซเชฒเซเช เชเชฐเซ - เชฌเซเช เชฌเซเชเช เชชเชฎเชพเชเชฅเซ เชกเซเชฒเซเชเชพ เชฌเซเชเช เชช เชฎเชนเชคเซเชคเชฎ เชนเซเชฏ เชคเซเชตเชพ เชธเซเชเซเชชเซเชธเชจเซ เชธเชเชเซเชฏเชพ, เช เชจเซ เชกเซเชฒเซเชเชพ เชเซเชชเซ เชชเซเชฒเชฟเชธเซเชจเซ เชเชฒเซเชฒเซเช เชเชฐเซ. เชเชพเช เชคเซ เชคเชฎเซ เชเซเชฒเซเชฒเชพ เช เชธเซเชคเชฟเชคเซเชตเชฎเชพเชเชจเชพ เชกเซเชฒเซเชเชพเชฎเชพเชเชฅเซ เชเช เชจเชเชฒ เชฌเชจเชพเชตเซ เชเซ, เช เชฅเชตเชพ เชคเชฎเซ เชฎเซเชณ เชธเชเชชเซเชฐเซเชฃ เชฌเซเชเช เชชเชฎเชพเชเชฅเซ เชกเซเชฒเซเชเชพ เชฌเชจเชพเชตเซ เชเซ. เชเซเชฏเชพเชฐเซ เชคเชฎเชพเชฐเชพ เชกเซเชเชพเชฌเซเชเชฎเชพเช เชกเซเชเชพเชฌเซเชเชจเซ เชธเชฎเชพเชจ เชเชเช เชนเชเชฎเซเชถเชพ เชฌเชฆเชฒเชพเชคเซ เชนเซเชฏ, เชคเซเชฏเชพเชฐเซ เชคเซ เช เชกเซเชเชพ เชธเชคเชค เชฌเชฆเชฒเชพเชคเซ เชนเซเชฏ เชคเซเชฏเชพเชฐเซ เช เชเชฐเซเชฐเซ เชเซ.
เชกเซเชเชพเชฌเซเช เชเชจเซเชธเซเชเซเชฒ เชเชฐเซ เชฐเชนเซเชฏเซเช เชเซ.
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.
noarch.rpm
yum install -y postgresql96 postgresql96-server mcเช เชฎเซ เชกเซเชเชพเชฌเซเช เชถเชฐเซ เชเชฐเซเช เชเซเช.
/usr/pgsql-9.6/bin/postgresql96-setup initdb
Initializing database ... OKเชเซ เชคเชฎเซ 1 เชธเชฐเซเชตเชฐ เชชเชฐ เชชเชฐเซเชเซเชทเชฃ เชเชฐเซ เชฐเชนเซเชฏเชพเช เชเซ, เชคเซ เชคเชฎเชพเชฐเซ เชเชตเซเชคเซเชคเชฟ 10 เชเชฐเชคเชพเช เชเชเชพ PostgreSQL เชฎเชพเชเซ เชเชฐเซเชเชพเชเชต เชเชฐเชตเชพ เชฎเชพเชเซ wal_level เชชเชฐเชฟเชฎเชพเชฃเชจเซ เชชเซเชจเชเชฐเซเชชเชฐเซเชเชพเชเชเชฟเชค เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ, เช เชจเซ PostgreSQL เชธเชเชธเซเชเชฐเชฃ 10 เช เชจเซ เชคเซเชฅเซ เชตเชงเซ เชเซเชจเซ เชฎเชพเชเซ เชชเซเชฐเชคเชฟเชเซเชคเชฟ.
wal_level = archiveเชเชพเชฒเซ PostgreSQL เชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชฆเชฐ 60 เชธเซเชเชจเซเชกเซ WAL เชเชฐเซเชเชพเชเชตเซเชธเชจเซ เชฌเซเชเช เชช เชฒเชเช. เชเชคเซเชชเชพเชฆเชจ เชชเชฐ, เชคเชฎเชพเชฐเซ เชชเชพเชธเซ เช เชฒเช เชเชฐเซเชเชพเชเชต_เชเชพเชเชฎเชเชเช เชฎเซเชฒเซเชฏ เชนเชถเซ.
archive_mode = on
archive_command = '/usr/local/bin/wal-push.sh %p'
archive_timeout = 60 # ะะฐะถะดัะต 60 ัะตะบัะฝะด ะฑัะดะตั ะฒัะฟะพะปะฝัััั ะบะพะผะฐะฝะดะฐ archive_command.PostgreSQL เชถเชฐเซ เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช
systemctl start postgresql-9.6เชเช เช เชฒเช เชเชจเซเชธเซเชฒเชฎเชพเช, เช เชฎเซ เชญเซเชฒเซ เชฎเชพเชเซ PostgreSQL เชฒเซเชเซเชธ เชเซเชเช เชเซเช: (postgresql-Wed.log เชจเซ เชตเชฐเซเชคเชฎเชพเชจเชฎเชพเช เชฌเชฆเชฒเซ).
tail -fn100 /var/lib/pgsql/9.6/data/pg_log/postgresql-Wed.logเชเชพเชฒเซ psql เชชเชฐ เชเชเช.
su - postgres
psqlpsql เชฎเชพเช เชกเซเชเชพเชฌเซเช เชฌเชจเชพเชตเซ
เชกเซเชเชพเชฌเซเช เชเซเชธเซเช1เชฎเชพเช เชเซเชฌเชฒ เชฌเชจเชพเชตเซ.
create database test1;เชกเซเชเชพเชฌเซเช เชเซเชธเซเช เชชเชฐ เชธเซเชตเชฟเช เชเชฐเซ.
postgres=# c test1;เช เชฎเซ เชเซเชฌเชฒ indexing_table เชฌเชจเชพเชตเซเช เชเซเช.
test1=# CREATE TABLE indexing_table(created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW());เชกเซเชเชพ เชเชฎเซเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช.
เช เชฎเซ เชกเซเชเชพ เชฆเชพเชเชฒ เชเชฐเชตเชพเชจเซเช เชถเชฐเซ เชเชฐเซเช เชเซเช. เช เชฎเซ 10-20 เชฎเชฟเชจเชฟเช เชฐเชพเชน เชเซเช เชฐเชนเซเชฏเชพ เชเซเช.
#!/bin/bash
# postgres
while true; do
psql -U postgres -d test1 -c "INSERT INTO indexing_table(created_at) VALUES (CURRENT_TIMESTAMP);"
sleep 60;
doneเชธเชเชชเซเชฐเซเชฃ เชฌเซเชเช เชช เชฒเซเชตเชพเชจเซ เชเชพเชคเชฐเซ เชเชฐเซ.
su - postgres
/usr/local/bin/backup-push.shเช เชฎเซ เชกเซเชเชพเชฌเซเช เชเซเชธเซเช1 เชฎเชพเช เชเซเชทเซเชเชเชฎเชพเชเชจเชพ เชฐเซเชเซเชฐเซเชกเซเชธ เชเซเชเช เชเซเช
select * from indexing_table;
2020-01-29 09:41:25.226198+
2020-01-29 09:42:25.336989+
2020-01-29 09:43:25.356069+
2020-01-29 09:44:25.37381+
2020-01-29 09:45:25.392944+
2020-01-29 09:46:25.412327+
2020-01-29 09:47:25.432564+
2020-01-29 09:48:25.451985+
2020-01-29 09:49:25.472653+
2020-01-29 09:50:25.491974+
2020-01-29 09:51:25.510178+เชถเชฌเซเชฆเชฎเชพเชณเชพ เชตเชฐเซเชคเชฎเชพเชจ เชธเชฎเชฏ เชเซ.
เชธเชเชชเซเชฐเซเชฃ เชฌเซเชเช เชชเซเชธเชจเซ เชธเซเชเชฟ เชเซเช
/usr/local/bin/backup-list.shเชชเซเชจเชเชชเซเชฐเชพเชชเซเชคเชฟ เชชเชฐเซเชเซเชทเชฃ
เชคเชฎเชพเชฎ เชเชชเชฒเชฌเซเชง WAL เชฐเซเชฒเชฟเชเช เชธเชพเชฅเซ เชธเชเชชเซเชฐเซเชฃ เชชเซเชจเชเชชเซเชฐเชพเชชเซเชคเชฟ.
Postgresql เชฐเซเชเซ.
/var/lib/pgsql/9.6/data เชซเซเชฒเซเชกเชฐเชฎเชพเชเชฅเซ เชฌเชงเซเช เชเชพเชขเซ เชจเชพเชเซ.
postgres เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชคเชฐเซเชเซ /usr/local/bin/backup-fetch.sh เชธเซเชเซเชฐเชฟเชชเซเช เชเชฒเชพเชตเซ.
su - postgres
/usr/local/bin/backup-fetch.shเชฌเซเชเช เชช เชจเชฟเชทเซเชเชฐเซเชทเชฃ เชชเซเชฐเซเชฃ.
เชจเซเชเซเชจเซ เชธเชพเชฎเชเซเชฐเซ เชธเชพเชฅเซ /var/lib/pgsql/9.6/data เชซเซเชฒเซเชกเชฐเชฎเชพเช recovery.conf เชเชฎเซเชฐเซ.
restore_command = '/usr/local/bin/wal-fetch.sh "%f" "%p"'เช เชฎเซ PostgreSQL เชถเชฐเซ เชเชฐเซเช เชเซเช. PostgreSQL เชเชฐเซเชเชพเชเชต เชเชฐเซเชฒ WAL เชฎเชพเชเชฅเซ เชชเซเชจเชเชชเซเชฐเชพเชชเซเชคเชฟ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชถเชฐเซ เชเชฐเชถเซ, เช เชจเซ เชคเซ เชชเชเซ เช เชกเซเชเชพเชฌเซเช เชเซเชฒเชถเซ.
systemctl start postgresql-9.6
tail -fn100 /var/lib/pgsql/9.6/data/pg_log/postgresql-Wed.logเชเซเชเซเชเชธ เชธเชฎเชฏ เชฎเชพเชเซ เชชเซเชจเชเชชเซเชฐเชพเชชเซเชคเชฟ.
เชเซ เชเชชเชฃเซ เชเซเชเซเชเชธ เชฎเชฟเชจเชฟเช เชธเซเชงเซ เชกเซเชเชพเชฌเซเช เชชเซเชจเชเชธเซเชฅเชพเชชเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเชเซเช เชเซเช, เชคเซ เช เชฎเซ recovery.conf เชฎเชพเช recovery_target_time เชชเชฐเชฟเชฎเชพเชฃ เชเชฎเซเชฐเซเช เชเซเช - เช เชฎเซ เชกเซเชเชพเชฌเซเชเชจเซ เชเชฏเชพ เชธเชฎเชฏเซ เชชเซเชจเชเชธเซเชฅเชพเชชเชฟเชค เชเชฐเชตเซ เชคเซ เชธเซเชเชตเซเช เชเซเช.
restore_command = '/usr/local/bin/wal-fetch.sh "%f" "%p"'
recovery_target_time = '2020-01-29 09:46:25'เชชเซเชจเชเชชเซเชฐเชพเชชเซเชคเชฟ เชชเชเซ, เชเซเชฌเชฒ indexing_table เชเซเช
2020-01-29 09:41:25.226198+00
2020-01-29 09:42:25.336989+00
2020-01-29 09:43:25.356069+00
2020-01-29 09:44:25.37381+00
2020-01-29 09:45:25.392944+00เช เชฎเซ PostgreSQL เชถเชฐเซ เชเชฐเซเช เชเซเช. PostgreSQL เชเชฐเซเชเชพเชเชต เชเชฐเซเชฒ WAL เชฎเชพเชเชฅเซ เชชเซเชจเชเชชเซเชฐเชพเชชเซเชคเชฟ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชถเชฐเซ เชเชฐเชถเซ, เช เชจเซ เชคเซ เชชเชเซ เช เชกเซเชเชพเชฌเซเช เชเซเชฒเชถเซ.
systemctl start postgresql-9.6
tail -fn100 /var/lib/pgsql/9.6/data/pg_log/postgresql-Wed.logเชชเชฐเซเชเซเชทเชฃ
เช เชนเซเช เชตเชฐเซเชฃเชตเซเชฏเชพ เชฎเซเชเชฌ 1GB เชกเซเชเชพเชฌเซเช เชเชจเชฐเซเช เชเชฐเซ เชฐเชนเซเชฏเซเช เชเซ
1GB เชกเซเชเชพ เชเชจเชฐเซเช เชเชฐเซเชฏเชพ เชชเชเซ เชฌเชเซเชเชจเชพ เชเชฆเชจเซ เชตเชฟเชจเชเชคเซ เชเชฐเชตเซ.
postgres=# SELECT pg_size_pretty(pg_database_size('test1'));
pg_size_pretty
----------------
1003 MBs4cmd โ ะฑะตัะฟะปะฐัะฝัะน ะธะฝััััะผะตะฝั ะบะพะผะฐะฝะดะฝะพะน ัััะพะบะธ ะดะปั ัะฐะฑะพัั ั ะดะฐะฝะฝัะผะธ, ัะฐัะฟะพะปะพะถะตะฝะฝัะผะธ ะฒ ั ัะฐะฝะธะปะธัะต Amazon S3. ะฃัะธะปะธัะฐ ะฝะฐะฟะธัะฐะฝะฐ ะฝะฐ ัะทัะบะต ะฟัะพะณัะฐะผะผะธัะพะฒะฐะฝะธั python, ะธ ะฑะปะฐะณะพะดะฐัั ััะพะผั ะผะพะถะตั ะธัะฟะพะปัะทะพะฒะฐัััั ะฒ ะพะฟะตัะฐัะธะพะฝะฝัั ัะธััะตะผะฐั ะธ Windowsเช เชจเซ Linux.
s4cmd เชเชจเซเชธเซเชเซเชฒ เชเชฐเซ เชฐเชนเซเชฏเซเช เชเซ
pip install s4cmdLZ4
s4cmd --endpoint-url=http://ip-ะฐะดัะตั-ัะตัะฒะตัะฐ-minio:9000 --access-key=xxxx --secret-key=yyyy du -r s3://pg-backups
840540822 s3://pg-backups/wal_005/
840 ะะ ะฒ ัะพัะผะฐัะต lz4 ัะพะปัะบะพ WAL ะปะพะณะพะฒ
ะะพะปะฝัะน ะฑะตะบะฐะฟ ั lz4 - 1GB ะดะฐะฝะฝัั
time backup_push.sh
real 0m18.582s
ะ ะฐะทะผะตั S3 ะฑะฐะบะตัะฐ ะฟะพัะปะต ะฟะพะปะฝะพะณะพ ะฑะตะบะฐะฟะฐ
581480085 s3://pg-backups/basebackups_005/
842374424 s3://pg-backups/wal_005
581 ะะ ะทะฐะฝะธะผะฐะตั ะฟะพะปะฝัะน ะฑะตะบะฐะฟเชเชฒเชเซเชเชฎเช
ะะพัะปะต ะณะตะฝะตัะฐัะธะธ 1ะะ ะดะฐะฝะฝัั
338413694 s3://pg-backups/wal_005/
338 ะผะฑ ะปะพะณะพะฒ ะฒ ัะพัะผะฐัะต lzma
ะัะตะผั ะณะตะฝะตัะฐัะธะธ ะฟะพะปะฝะพะณะพ ะฑะตะบะฐะฟะฐ
time backup_push.sh
real 5m25.054s
ะ ะฐะทะผะตั ะฑะฐะบะตัะฐ ะฒ S3
270310495 s3://pg-backups/basebackups_005/
433485092 s3://pg-backups/wal_005/
270 ะผะฑ ะทะฐะฝะธะผะฐะตั ะฟะพะปะฝัะน ะฑะตะบะฐะฟ ะฒ ัะพัะผะฐัะต lzmaเชฌเซเชฐเซเชเชฒเซ
ะะพัะปะต ะณะตะฝะตัะฐัะธะธ 1ะะ ะดะฐะฝะฝัั
459229886 s3://pg-backups/wal_005/
459 ะผะฑ ะปะพะณะพะฒ ะฒ ัะพัะผะฐัะต brotli
ะัะตะผั ะณะตะฝะตัะฐัะธะธ ะฟะพะปะฝะพะณะพ ะฑะตะบะฐะฟะฐ
real 0m23.408s
ะ ะฐะทะผะตั ะฑะฐะบะตัะฐ ะฒ S3
312960942 s3://pg-backups/basebackups_005/
459309262 s3://pg-backups/wal_005/
312 ะผะฑ ะทะฐะฝะธะผะฐะตั ะฟะพะปะฝัะน ะฑะตะบะฐะฟ ะฒ ัะพัะผะฐัะต brotli
เชเชพเชฐเซเช เชชเชฐเชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซเชจเซ เชธเชฐเชเชพเชฎเชฃเซ.

เชเซเชฎ เชคเชฎเซ เชเซเช เชถเชเซ เชเซ, เชฌเซเชฐเซเชเชฒเซ เชเชฆเชฎเชพเช LZMA เชธเชพเชฅเซ เชคเซเชฒเชจเชพเชคเซเชฎเช เชเซ, เชชเชฐเชเชคเซ เชฌเซเชเช เชช LZ4 เชธเชฎเชฏเชฎเชพเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ.
เชฐเชถเชฟเชฏเชจ เชฌเซเชฒเชคเชพ PostgreSQL เชธเชฎเซเชฆเชพเชฏเชจเซ เชเซเช:
เชเซ เชคเชฎเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ เชคเซ เชเซเชชเชพ เชเชฐเซเชจเซ เชเซเชฅเชฌเชจเซ เชธเซเชเชพเชฐ เชเชชเซ
เชธเซเชฐเซเชธ: www.habr.com
