เดตเดพเตฝ-เดเดฟ เดเดเตเดเดจเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเต เดเดจเตเดจเดคเดฟเดจเตเดฑเต เดตเดฟเดถเดฆเดพเดเดถเดเตเดเตพ เดฒเตเดเดจเดคเตเดคเดฟเตฝ เดเดพเดฃเดพเด:
เดกเดพเดฑเตเดฑ เดธเดเดญเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต S3 เดธเตเดฑเตเดฑเตเดฑเตเดเต เดชเตเดฐเตเดเตเดเตเดเตเดเตเตพ เดเดจเดชเตเดฐเดฟเดฏเดฎเดพเดฏเดฟ. API เดตเดดเดฟ เดเดเตโเดธเดธเต เดเตเดฏเตเดฏเดพเดจเตเดณเตเดณ เดเดดเดฟเดตเดพเดฃเต S3-เดจเตเดฑเต เดเดฐเต เดเตเดฃเด, เดเดคเต เดชเตเดคเต เดตเดพเดฏเดจเดพ เดเดเตโเดธเดธเต เดเตพเดชเตเดชเตเดเต เดธเตเดฑเตเดฑเตเดฑเตเดเตเดฎเดพเดฏเดฟ เดตเดดเดเตเดเดฎเตเดณเตเดณ เดเดถเดฏเดตเดฟเดจเดฟเดฎเดฏเด เดธเดเดเดเดฟเดชเตเดชเดฟเดเตเดเดพเตป เดจเดฟเดเตเดเดณเต เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต, เด เดคเตเดธเดฎเดฏเด เดธเตเดฑเตเดฑเตเดฑเตเดเดฟเดฒเต เดตเดฟเดตเดฐเดเตเดเตพ เด เดชเตโเดกเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเต เด เดเดเตเดเตเดค เดตเตเดฏเดเตเดคเดฟเดเตพเดเตเดเต เดฎเดพเดคเตเดฐเดฎเต เดธเดเดญเดตเดฟเดเตเดเต.
เดเดธเต 3 เดชเตเดฐเตเดเตเดเตเดเตเดเตเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจ เดจเดฟเดฐเดตเดงเดฟ เดชเตเดคเต, เดธเตเดตเดเดพเดฐเตเดฏ เดธเดเดญเดฐเดฃ โโโโเดจเดฟเตผเดตเตเดตเดนเดฃเดเตเดเตพ เดเดฃเตเดเต. เดเตเดฑเดฟเดฏ เดธเดเดญเดฐเดฃเด เดธเดเดเดเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดฐเต เดเดจเดชเตเดฐเดฟเดฏ เดชเดฐเดฟเดนเดพเดฐเด เดเดจเตเดจเต เดจเดฎเตเดฎเตพ เดจเตเดเตเดเตเด - เดฎเดฟเดจเดฟเดฏเต.
wal-g เดชเดฐเตเดเตเดทเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดเดฐเตเดฑเตเดฑ PostgreSQL เดธเตเตผเดตเตผ เดจเดฒเตเดฒเดคเดพเดฃเต, เดเตเดเดพเดคเต 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
เดฎเดฟเดจเดฟเดฏเต เดฒเตเดเตเดเต เดเตเดฏเตเดฏเตเดจเตเดจเต
systemctl start minio
เดฎเดฟเดจเดฟเดฏเต เดตเตเดฌเต เดเดจเตเดฑเตผเดซเตเดธเดฟเดฒเตเดเตเดเต เดชเตเดเตเด
DB เดธเตเตผเดตเตผ
เดเตผโเดชเดฟโเดเดฎเตเดฎเดฟเดฒเต WAL-G เดเดพเตป (เดเดจเตเดฑเตบ เดชเดพเดฑเตเดฑเตโเดธเตเดตเต) เด
เดธเดเดฌเดฟเตพ เดเตเดฏเตโเดคเดคเดพเดฃเต.
เดเตผโเดชเดฟโเดเด เด
เดงเดฟเดทเตโเด เดฟเดค เดธเดเดตเดฟเดงเดพเดจเด เดเดฒเตเดฒเดพเดคเตเดคเดตเตผ, เดเดซเตเดทเตเดฏเตฝ เดเดชเดฏเตเดเดฟเดเตเดเตเด
wal-g เดฌเตเดจเดฑเดฟเดเตเดเตเดชเตเดชเด, /etc/wal-gd/server-s3.conf เดซเดฏเดฒเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฐเดฟเดฏเดฌเดฟเดณเตเดเตพ เดเดฑเดเตเดเตเดฎเดคเดฟ เดเตเดฏเตเดฏเตเดจเตเดจ เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเตเดเตพ rpm-เตฝ เด เดเดเตเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต.
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-เดจเตเด PostgreSQL เดชเดคเดฟเดชเตเดชเต 10-เดเด เด เดคเดฟเดฒเตเด เดชเดดเดฏเดคเดฟเดจเตเดฎเตเดณเตเดณ เดชเดเตผเดชเตเดชเตเด เดเตผเดเตเดเตเดตเตเดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เดจเดฟเดเตเดเตพ wal_level เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเตผ เดชเตเดจเดเดเตเดฐเดฎเตเดเดฐเดฟเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต.
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
psql
psql-เตฝ เดเดฐเต เดกเดพเดฑเตเดฑเดพเดฌเตเดธเต เดเดฃเตเดเดพเดเตเดเตเด
เดกเดพเดฑเตเดฑเดพเดฌเตเดธเต เดเตเดธเตเดฑเตเดฑเดฟเตฝ เดเดฐเต เดชเดเตเดเดฟเด เดเดฃเตเดเดพเดเตเดเตเด.
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
เดกเดพเดฑเตเดฑเดพเดฌเตเดธเต เดเตเดธเตเดฑเตเดฑเดฟเดฒเต เดชเดเตเดเดฟเดเดฏเดฟเดฒเต เดฑเตเดเตเดเตเตผเดกเตเดเตพ เดเดเตเดเตพ เดจเตเดเตเดเตเดจเตเดจเต
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 เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเด.
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_target_time เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเตผ recovery.conf-เดฒเตเดเตเดเต เดเตเตผเดเตเดเตเดจเตเดจเต - เดกเดพเดฑเตเดฑเดพเดฌเตเดธเต เดเดคเต เดธเดฎเดฏเดคเตเดคเดพเดฃเต เดชเตเดจเดเดธเตเดฅเดพเดชเดฟเดเตเดเตเดฃเตเดเดคเตเดจเตเดจเต เดเดเตเดเตพ เดธเตเดเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต.
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 เดเตผเดเตเดเตเดตเตเดเตเดฏเตโเดค 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 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 เดเดฎเตเดฎเตเดฏเตเดฃเดฟเดฑเตเดฑเดฟเดฏเตเดเต เดเดพเดฑเตเดฑเต:
เดจเดฟเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเดเดฏเดพเดฃเตเดเตเดเดฟเตฝ Github-เดจเต เดเดฐเต เดจเดเตเดทเดคเตเดฐเด เดจเตฝเดเตเด
เด เดตเดฒเดเดฌเด: www.habr.com