wal-g เจเจฟเจตเฉเจ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉ เจเจธ เจฌเจพเจฐเฉ เจตเฉเจฐเจตเฉ เจฒเฉเจ เจตเจฟเฉฑเจ เจฒเฉฑเจญเฉ เจเจพ เจธเจเจฆเฉ เจนเจจ:
S3 เจธเจเฉเจฐเฉเจ เจชเฉเจฐเฉเจเฉเจเฉเจฒ เจกเจพเจเจพ เจธเจเฉเจฐ เจเจฐเจจ เจฒเจ เจชเฉเจฐเจธเจฟเฉฑเจง เจนเฉ เจเจฟเจ เจนเฉเฅค S3 เจฆเฉ เจซเจพเจเจฆเจฟเจเจ เจตเจฟเฉฑเจเฉเจ เจเฉฑเจ API เจฆเฉเจเจฐเจพ เจเจเจธเฉเจธ เจเจฐเจจ เจฆเฉ เจธเจฎเจฐเฉฑเจฅเจพ เจนเฉ, เจเฉ เจคเฉเจนเจพเจจเฉเฉฐ เจธเจเฉเจฐเฉเจ เจฆเฉ เจจเจพเจฒ เจฒเจเจเจฆเจพเจฐ เจเฉฐเจเจฐเฉเจเจธเจผเจจ เจจเฉเฉฐ เจธเฉฐเจเจ เจฟเจค เจเจฐเจจ เจฆเฉ เจเจเจพเจเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉ, เจเจฟเจธ เจตเจฟเฉฑเจ เจชเจฌเจฒเจฟเจ เจฐเฉเจก เจเจเจธเฉเจธ เจธเจผเจพเจฎเจฒ เจนเฉ, เจเจฆเฉเจ เจเจฟ เจธเจเฉเจฐเฉเจ เจตเจฟเฉฑเจ เจเจพเจฃเจเจพเจฐเฉ เจจเฉเฉฐ เจ เฉฑเจชเจกเฉเจ เจเจฐเจจเจพ เจธเจฟเจฐเจซเจผ เจ เจงเจฟเจเจพเจฐเจค เจตเจฟเจ เจเจคเฉเจเจ เจฆเฉเจเจฐเจพ เจนเฉ เจนเฉเฉฐเจฆเจพ เจนเฉเฅค
S3 เจชเฉเจฐเฉเจเฉเจเฉเจฒ 'เจคเฉ เจเฉฐเจฎ เจเจฐเจจ เจตเจพเจฒเฉ เจธเจเฉเจฐเจพเจ เจฆเฉ เจเจ เจเจจเจคเจ เจ เจคเฉ เจจเจฟเฉฑเจเฉ เจฆเฉเจตเฉเจ เจคเจฐเฉเจนเจพเจ เจฆเฉ เจ เจฎเจฒ เจนเจจเฅค เจ เฉฑเจ เจ เจธเฉเจ เจเฉเจเฉ เจธเจเฉเจฐเฉเจ เจจเฉเฉฐ เจธเฉฐเจเจ เจฟเจค เจเจฐเจจ เจฒเจ เจเฉฑเจ เจชเฉเจฐเจธเจฟเฉฑเจง เจนเฉฑเจฒ เจฆเฉเจเจพเจเจเฉ - เจฎเจฟเจจเฉเจ.
เจเฉฑเจ เจธเจฟเฉฐเจเจฒ PostgreSQL เจธเจฐเจตเจฐ wal-g เจฆเฉ เจเจพเจเจ เจฒเจ เจ เฉเจ เจนเฉ, เจ เจคเฉ Minio เจจเฉเฉฐ S3 เจฆเฉ เจฌเจฆเจฒ เจตเจเฉเจ เจตเจฐเจคเจฟเจ เจเจพเจเจฆเจพ เจนเฉเฅค
เจฎเจฟเจจเฉเจ เจธเจฐเจตเจฐ
Minio เจเฉฐเจธเจเจพเจฒเฉเจธเจผเจจ
yum -y install yum-plugin-copr
yum copr enable -y lkiesow/minio
yum install -y minio
/etc/minio/minio.conf เจตเจฟเฉฑเจ AccessKey เจ เจคเฉ SecretKey เจจเฉเฉฐ เจธเฉฐเจชเจพเจฆเจฟเจค เจเจฐเฉ
vi /etc/minio/minio.conf
เจเฉเจเจฐ เจคเฉเจธเฉเจ Minio เจคเฉเจ เจชเจนเจฟเจฒเจพเจ nginx เจฆเฉ เจตเจฐเจคเฉเจ เจจเจนเฉเจ เจเจฐ เจฐเจนเฉ เจนเฉ, เจคเจพเจ เจคเฉเจนเจพเจจเฉเฉฐ เจฌเจฆเจฒเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ
--address 127.0.0.1:9000
--address 0.0.0.0:9000
Minio เจฒเจพเจเจ เจเฉเจคเจพ เจเจพ เจฐเจฟเจนเจพ เจนเฉ
systemctl start minio
Minio เจตเฉเฉฑเจฌ เจเฉฐเจเจฐเจซเฉเจธ 'เจคเฉ เจเจพเจ
DB เจธเจฐเจตเจฐ
rpm เจตเจฟเฉฑเจ WAL-G เจจเฉเฉฐ เจฎเฉเจฐเฉ (Anton Patsev) เจฆเฉเจเจฐเจพ เจ
เจธเฉเจเจฌเจฒ เจเฉเจคเจพ เจเจฟเจ เจนเฉเฅค
เจเจฟเจธ เจเฉเจฒ 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-g
wal-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_timeout เจฎเฉเฉฑเจฒ เจนเฉเจตเฉเจเจพเฅค
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
psql
psql เจตเจฟเฉฑเจ เจเฉฑเจ เจกเจพเจเจพเจฌเฉเจธ เจฌเจฃเจพเจ
เจกเฉเจเจพเจฌเฉเจธ เจเฉเจธเจ 1 เจตเจฟเฉฑเจ เจเฉฑเจ เจธเจพเจฐเจฃเฉ เจฌเจฃเจพเจ.
create database test1;
เจกเจพเจเจพเจฌเฉเจธ เจเฉเจธเจ 'เจคเฉ เจเจพเจเฅค
postgres=# c test1;
เจ เจธเฉเจ เจเฉเจฌเจฒ เจเฉฐเจกเฉเจเจธเจฟเฉฐเจ_เจเฉเจฌเจฒ เจฌเจฃเจพเจเจเจฆเฉ เจนเจพเจเฅค
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 เจซเฉเจฒเจกเจฐ เจคเฉเจ เจธเจญ เจเฉเจ เจฎเจฟเจเจพเจเฅค
/usr/local/bin/backup-fetch.sh เจธเจเฉเจฐเจฟเจชเจ เจจเฉเฉฐ postgres เจเจชเจญเฉเจเจคเจพ เจตเจเฉเจ เจเจฒเจพเจเฅค
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 เจเจฐเจเจพเจเจตเจก WALs เจคเฉเจ เจฐเจฟเจเจตเจฐเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจธเจผเฉเจฐเฉ เจเจฐเฉเจเจพ, เจ เจคเฉ เจเฉเจตเจฒ เจคเจฆ เจนเฉ เจกเฉเจเจพเจฌเฉเจธ เจเฉเฉฑเจฒเฉเจนเฉเจเจพเฅค
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'
เจฐเจฟเจเจตเจฐเฉ เจคเฉเจ เจฌเจพเจ เจฆ, เจเฉเจฌเจฒ เจเฉฐเจกเฉเจเจธเจฟเฉฐเจ_เจเฉเจฌเจฒ เจฆเฉเจเฉ
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 เจเจฐเจเจพเจเจตเจก WALs เจคเฉเจ เจฐเจฟเจเจตเจฐเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจธเจผเฉเจฐเฉ เจเจฐเฉเจเจพ, เจ เจคเฉ เจเฉเจตเจฒ เจคเจฆ เจนเฉ เจกเฉเจเจพเจฌเฉเจธ เจเฉเฉฑเจฒเฉเจนเฉเจเจพเฅค
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 MB
s4cmd เจเจฎเจพเจเจผเจพเจจ S3 เจธเจเฉเจฐเฉเจ เจตเจฟเฉฑเจ เจฐเจนเจฟเฉฐเจฆเฉ เจกเฉเจเจพ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจฎเฉเจซเจค เจเจฎเจพเจเจก เจฒเจพเจเจจ เจเฉเจฒ เจนเฉเฅค เจเจชเจฏเฉเจเจคเจพ เจชเจพเจเจฅเจจ เจชเฉเจฐเฉเจเจฐเจพเจฎเจฟเฉฐเจ เจญเจพเจธเจผเจพ เจตเจฟเฉฑเจ เจฒเจฟเจเฉ เจเจ เจนเฉ, เจ เจคเฉ เจเจธเจฆเฉ เจเจพเจฐเจจ เจเจธเจจเฉเฉฐ เจตเจฟเฉฐเจกเฉเจเจผ เจ เจคเฉ เจฒเฉเจจเจเจธ เจเจชเจฐเฉเจเจฟเฉฐเจ เจธเจฟเจธเจเจฎ เจฆเฉเจตเจพเจ เจตเจฟเฉฑเจ เจตเจฐเจคเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค
s4cmd เจเฉฐเจธเจเจพเจฒ เจเจฐเจจเจพ
pip install s4cmd
LZ4
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 ะะ ะทะฐะฝะธะผะฐะตั ะฟะพะปะฝัะน ะฑะตะบะฐะฟ
LZMA
ะะพัะปะต ะณะตะฝะตัะฐัะธะธ 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