เจฌเฉฑเจฆเจฒเจพเจ เจตเจฟเฉฑเจ PostgreSQL เจฆเจพ เจฌเฉเจเจ เฉฑเจช เจฒเฉเจฃ เจฒเจ เจเฉฑเจ เจธเจงเจพเจฐเจจ เจ เจคเฉ เจชเฉเจฐเจญเจพเจตเจธเจผเจพเจฒเฉ เจธเจพเจงเจจ เจนเฉเฅค เจเจธเจฆเฉ เจฎเฉเฉฑเจ เจเจพเจฐเจเจเฉเจธเจผเจฒเจคเจพ เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ, เจเจน เจชเฉเจฐเจธเจฟเฉฑเจง เจธเจพเจงเจจ เจฆเจพ เจตเจพเจฐเจธ เจนเฉ , เจชเจฐ Go เจตเจฟเฉฑเจ เจฆเฉเจฌเจพเจฐเจพ เจฒเจฟเจเจฟเจ เจเจฟเจเฅค เจชเจฐ WAL-G เจตเจฟเฉฑเจ เจเฉฑเจ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจจเจตเฉเจ เจตเจฟเจธเจผเฉเจธเจผเจคเจพ เจนเฉ - delta copies. เจกเฉเจฒเจเจพ เจเจพเจชเฉเจเจ เจซเจพเจเจฒเจพเจ เจฆเฉ เจธเจเฉเจฐ เจชเฉฐเจจเฉ เจเฉ เจชเจฟเจเจฒเฉ เจฌเฉเจเจ เฉฑเจช เจธเฉฐเจธเจเจฐเจฃ เจคเฉเจ เจฌเจฆเจฒ เจเจ เจนเจจเฅค WAL-G เจธเจฎเจพเจจเจพเจเจคเจฐ เจฌเฉเจเจ เฉฑเจช เจฒเจ เจฌเจนเฉเจค เจธเจพเจฐเฉเจเจ เจคเจเจจเฉเจเจพเจ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจฆเจพ เจนเฉเฅค WAL-G WAL-E เจจเจพเจฒเฉเจ เจฌเจนเฉเจค เจคเฉเจเจผ เจนเฉเฅค
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:9000Minio เจฒเจพเจเจ เจเฉเจคเจพ เจเจพ เจฐเจฟเจนเจพ เจนเฉ
systemctl start minioMinio เจตเฉเฉฑเจฌ เจเฉฐเจเจฐเจซเฉเจธ 'เจคเฉ เจเจพเจ เจ เจคเฉ เจเฉฑเจ เจฌเจพเจฒเจเฉ เจฌเจฃเจพเจ (เจเจฆเจพเจนเจฐเจจ เจฒเจ, pg-เจฌเฉเจเจ เฉฑเจช)เฅค
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-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_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
psqlpsql เจตเจฟเฉฑเจ เจเฉฑเจ เจกเจพเจเจพเจฌเฉเจธ เจฌเจฃเจพเจ
เจกเฉเจเจพเจฌเฉเจธ เจเฉเจธเจ 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 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 เจญเจพเจเจเจพเจฐเฉ เจฆเฉ เจเฉฑเจฒเจฌเจพเจค:
เจเฉเจเจฐ เจคเฉเจธเฉเจ เจตเจฐเจคเจฆเฉ เจนเฉ เจคเจพเจ เจเจฟเจฐเจชเจพ เจเจฐเจเฉ เจเจฟเจฅเจฌ เจจเฉเฉฐ เจเฉฑเจ เจคเจพเจฐเจพ เจฆเจฟเจ
เจธเจฐเฉเจค: www.habr.com
