PostgreSQL-เดจเต เดเตเดฒเตเดกเตเดเดณเดฟเดฒเตเดเตเดเต เดฌเดพเดเตเดเดชเตเดชเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดฒเดณเดฟเดคเดตเตเด เดซเดฒเดชเตเดฐเดฆเดตเตเดฎเดพเดฏ เดเดชเดเดฐเดฃเดฎเดพเดฃเต. เด เดคเดฟเดจเตเดฑเต เดชเตเดฐเดงเดพเดจ เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเตเดฑเต เดเดพเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดเดคเต เดเดจเดชเตเดฐเดฟเดฏ เดเดชเดเดฐเดฃเดคเตเดคเดฟเดจเตเดฑเต เด เดตเดเดพเดถเดฟเดฏเดพเดฃเต , เดเดจเตเดจเดพเตฝ เดเตเดฏเดฟเตฝ เดฎเดพเดฑเตเดฑเดฟเดฏเตเดดเตเดคเดฟ. เดเดจเตเดจเดพเตฝ WAL-G - เดกเตเตฝเดฑเตเดฑ เดชเดเตผเดชเตเดชเตเดเดณเดฟเตฝ เดเดฐเต เดชเตเดฐเดงเดพเดจ เดชเตเดคเดฟเดฏ เดธเดตเดฟเดถเตเดทเดคเดฏเตเดฃเตเดเต. เดกเตเตฝเดฑเตเดฑ เดชเดเตผเดชเตเดชเตเดเตพ เดฎเตเดฎเตเดชเดคเตเดคเต เดฌเดพเดเตเดเดชเตเดชเต เดชเดคเดฟเดชเตเดชเดฟเดจเต เดถเตเดทเด เดฎเดพเดฑเดฟเดฏ เดซเดฏเดฒเตเดเดณเตเดเต เดธเตเดฑเตเดฑเตเตผ เดชเตเดเตเดเตพ. เดฌเดพเดเตเดเดชเตเดชเตเดเตพ เดธเดฎเดพเดจเตเดคเดฐเดฎเดพเดเตเดเตเดจเตเดจเดคเดฟเดจเต WAL-G เดงเดพเดฐเดพเดณเด เดธเดพเดเตเดเตเดคเดฟเดเดตเดฟเดฆเตเดฏเดเตพ เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเตเดจเตเดจเต. WAL-G เดเดจเตเดจเดคเต WAL-E-เดจเตเดเตเดเดพเตพ เดตเดณเดฐเต เดตเตเดเดคเดฏเตเดณเตเดณเดคเดพเดฃเต.
เดตเดพเตฝ-เดเดฟ เดเดเตเดเดจเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเต เดเดจเตเดจเดคเดฟเดจเตเดฑเต เดตเดฟเดถเดฆเดพเดเดถเดเตเดเตพ เดฒเตเดเดจเดคเตเดคเดฟเตฝ เดเดพเดฃเดพเด:
เดกเดพเดฑเตเดฑ เดธเดเดญเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต 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.confMinio-เดฏเตโเดเตเดเต เดฎเตเดฎเตเดชเต เดจเดฟเดเตเดเตพ nginx เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒเตเดเตเดเดฟเตฝ, เดจเดฟเดเตเดเตพ เดฎเดพเดฑเตเดฑเตเดฃเตเดเดคเตเดฃเตเดเต
--address 127.0.0.1:9000--address 0.0.0.0:9000เดฎเดฟเดจเดฟเดฏเต เดฒเตเดเตเดเต เดเตเดฏเตเดฏเตเดจเตเดจเต
systemctl start minioเดฎเดฟเดจเดฟเดฏเต เดตเตเดฌเต เดเดจเตเดฑเตผเดซเตเดธเดฟเดฒเตเดเตเดเต เดชเตเดเตเด เดเตเดเดพเดคเต เดเดฐเต เดฌเดเตเดเดฑเตเดฑเต เดธเตเดทเตเดเดฟเดเตเดเตเด (เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, pg-backups).
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-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-เดจเตเด PostgreSQL เดชเดคเดฟเดชเตเดชเต 10-เดเด เด เดคเดฟเดฒเตเด เดชเดดเดฏเดคเดฟเดจเตเดฎเตเดณเตเดณ เดชเดเตผเดชเตเดชเตเด เดเตผเดเตเดเตเดตเตเดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เดจเดฟเดเตเดเตพ wal_level เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเตผ เดชเตเดจเดเดเตเดฐเดฎเตเดเดฐเดฟเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต.
wal_level = archivePostgreSQL เดเดชเดฏเตเดเดฟเดเตเดเต เดเดฐเต 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-เตฝ เดเดฐเต เดกเดพเดฑเตเดฑเดพเดฌเตเดธเต เดเดฃเตเดเดพเดเตเดเตเด
เดกเดพเดฑเตเดฑเดพเดฌเตเดธเต เดเตเดธเตเดฑเตเดฑเดฟเตฝ เดเดฐเต เดชเดเตเดเดฟเด เดเดฃเตเดเดพเดเตเดเตเด.
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 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 ะะ ะทะฐะฝะธะผะฐะตั ะฟะพะปะฝัะน ะฑะตะบะฐะฟ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
