PostgreSQL13.7的安裝與主從搭建以及備份方法
1.安裝/下載軟體和初始化 205 groupadd postgres 206 useradd postgres -g postgres 207 yum install gcc 214 yum install -y readline-devel 216 yum install zlib-devel 200 mkdir /apps/data/pgsql137/ 200 mkdir /apps/data/pgsql137/data/ 200 mkdir /apps/data/pgsql137/log/ 200 cd /apps/svr/postgresql-13.7/ 217 ./configure --prefix=/apps/data/pgsql137/ 221 make && make install 223 chown -R postgres:postgres /apps/data/pgsql137 224 su postgres 18 export PGHOME=/apps/data/pgsql137 19 export PGDATA=/apps/data/pgsql137/data 200 /apps/data/pgsql137/bin/pg_ctl -D /apps/data/pgsql137/data/ -l logfile start 20 /apps/data/pgsql137/bin/pg_ctl start -l /apps/data/pgsql137/log/pg_server.log 22 /apps/data/pgsql137/bin/psql -U postgres -d postgres postgres=# \dg List of roles Role name | Attributes | Member of -----------+------------------------------------------------------------+----------- postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {} 2.許可權 一般會有一個postgres的使用者初始化,無密碼,超級使用者,可直接登陸先,進去之後這個時候怎麼加密碼以及加其他使用者呢? Create user或者Create role 設定PASSWORD,完成後更改 pg_hba.conf 設定訪問許可權。 3.搭建主從配置 wal_level = hot_standby # 這個是設定主為wal的主機 max_wal_senders = 32 # 這個設定了可以最多有幾個流複製連線,差不多有幾個從,就設定幾個 wal_keep_segments = 256 # 設定流複製保留的最多的xlog數目 max_keep_size 13.7是這個引數 wal_sender_timeout = 60s # 設定流複製主機傳送資料的超時時間 max_connections = 100 # 這個設定要注意下,從庫的max_connections必須要大於主庫的 4.從庫設定 安裝軟體即可 5.基礎備份,注意-R -R, --write-recovery-conf write configuration for replication pg_basebackup -F p --progress -D /apps/data/pgsql137/data -hxx -p 5432 -U repl --password -R 6.完成後注意檔案 [postgres@ip-xx data]$ more standby.signal [postgres@ip-xx data]$ more postgresql.auto.conf # Do not edit this file manually! # It will be overwritten by the ALTER SYSTEM command. primary_conninfo = 'user=repl password=xx channel_binding=disable host=''master_host'' port=5432 sslmode=disable sslcompression=0 ssl_min_protocol_version=TLSv 1.2 gssencmode=disable krbsrvname=postgres target_session_attrs=any' 7.從庫程式檢查 [postgres@ip-xx data]$ ps -ef|grep postgres root 4632 3385 0 06:33 pts/0 00:00:00 su - postgres postgres 4633 4632 0 06:33 pts/0 00:00:00 -bash root 6727 6686 0 07:09 pts/1 00:00:00 su postgres postgres 6728 6727 0 07:09 pts/1 00:00:00 bash root 10142 10120 0 08:11 pts/3 00:00:00 su - postgres postgres 10143 10142 0 08:11 pts/3 00:00:00 -bash root 13100 12118 0 09:01 pts/4 00:00:00 su - postgres postgres 13102 13100 0 09:01 pts/4 00:00:00 -bash postgres 13443 1 0 09:07 ? 00:00:00 /apps/data/pgsql137/bin/postgres postgres 13444 13443 0 09:07 ? 00:00:00 postgres: startup recovering 00000001000000000000000F postgres 13445 13443 0 09:07 ? 00:00:00 postgres: checkpointer postgres 13446 13443 0 09:07 ? 00:00:00 postgres: background writer postgres 13447 13443 0 09:07 ? 00:00:00 postgres: stats collector postgres 13448 13443 0 09:07 ? 00:00:00 postgres: walreceiver streaming 0/F000060 postgres 13479 13102 0 09:07 pts/4 00:00:00 ps -ef postgres 13480 13102 0 09:07 pts/4 00:00:00 grep --color=auto postgres 8.主庫程式以及狀態檢查 [postgres@ip-xx ~]$ ps -ef|grep postgres postgres 3799 1 0 Sep09 ? 00:00:33 /apps/data/pgsql137/bin/postgres postgres 3801 3799 0 Sep09 ? 00:00:01 postgres: checkpointer postgres 3802 3799 0 Sep09 ? 00:00:33 postgres: background writer postgres 3803 3799 0 Sep09 ? 00:00:32 postgres: walwriter postgres 3804 3799 0 Sep09 ? 00:00:37 postgres: autovacuum launcher postgres 3805 3799 0 Sep09 ? 00:00:04 postgres: archiver last was 00000001000000000000000E.00000028.backup postgres 3806 3799 0 Sep09 ? 00:00:57 postgres: stats collector postgres 3807 3799 0 Sep09 ? 00:00:01 postgres: logical replication launcher root 28882 28863 0 07:09 pts/3 00:00:00 su postgres postgres 28883 28882 0 07:09 pts/3 00:00:00 bash root 29432 29415 0 08:10 pts/6 00:00:00 su postgres postgres 29433 29432 0 08:10 pts/6 00:00:00 bash root 29621 29601 0 08:21 pts/0 00:00:00 su postgres postgres 29622 29621 0 08:21 pts/0 00:00:00 bash postgres 29720 29622 0 08:30 pts/0 00:00:00 /apps/data/pgsql137/bin/psql -U postgres -d postgres -h localhost -W postgres 29721 3799 0 08:30 ? 00:00:00 postgres: postgres postgres 127.0.0.1(51594) idle root 29893 29876 0 08:46 pts/7 00:00:00 su postgres postgres 29894 29893 0 08:46 pts/7 00:00:00 bash root 29997 29980 0 08:47 pts/8 00:00:00 su postgres postgres 29998 29997 0 08:47 pts/8 00:00:00 bash postgres 30105 29998 0 08:59 pts/8 00:00:00 /apps/data/pgsql137/bin/psql -U postgres -d postgres -h127.0.0.1 -W postgres 30106 3799 0 08:59 ? 00:00:00 postgres: postgres postgres 127.0.0.1(34106) idle postgres 30270 3799 0 09:07 ? 00:00:00 postgres: walsender repl 172.31.34.1(37046) streaming 0/F000060 root 30336 30319 0 09:08 pts/2 00:00:00 su - postgres postgres 30337 30336 1 09:08 pts/2 00:00:00 -bash postgres 30360 30337 0 09:08 pts/2 00:00:00 ps -ef postgres 30361 30337 0 09:08 pts/2 00:00:00 grep --color=auto postgres [postgres@ip-xx root]$ psql -h localhost -xc "select * from pg_stat_replication" could not change directory to "/root": Permission denied Password for user postgres: -[ RECORD 1 ]----+------------------------------ pid | 30270 usesysid | 16394 usename | repl application_name | walreceiver client_addr | 172.31.34.1 client_hostname | client_port | 37046 backend_start | 2022-10-12 09:07:14.54261+00 backend_xmin | state | streaming sent_lsn | 0/F000060 write_lsn | 0/F000060 flush_lsn | 0/F000060 replay_lsn | 0/F000060 write_lag | flush_lag | replay_lag | sync_priority | 0 sync_state | async reply_time | 2022-10-12 09:10:14.878291+00 9.模擬主從切換 主庫:pg_ctl stop -m fast 從庫:pg_ctl promote touch standby.signal vim postgresql.auto.conf 寫入新主庫資訊
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30018455/viewspace-2917940/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 怎樣在SQL Server搭建主從備份SQLServer
- MYSQL5.6.40原始碼安裝 主從搭建 主主搭建MySql原始碼
- mongodb主從備份MongoDB
- MySQL主從備份MySql
- redis主從備份Redis
- oop主節點(NameNode)備份策略以及恢復方法OOP
- rpm 安裝5.6 MySql主從搭建MySql
- Centos Mysql 主從備份CentOSMySql
- hadoop主節點(NameNode)備份策略以及恢復方法Hadoop
- MySQL備份與主備配置MySql
- IBM TSM備份軟體的安裝方法IBM
- POSTGRESQL10.8原始碼安裝主從搭建SQL原始碼
- MYSQL5.7.22 原始碼安裝 主從搭建MySql原始碼
- POSTGRESQL10.3原始碼安裝主從搭建SQL原始碼
- MySQL主從配置及mysqldump備份MySql
- 【MYSQL實時備份】主從模式MySql模式
- 【Mysql】利用xtraceback備份搭建從庫MySql
- 在docker中安裝mysql並搭建主從複製DockerMySql
- requirements.txt 快速備份與安裝專案所需安裝包UIREM
- MySQL 5.7的安裝及主從複製(主從同步)MySql主從同步
- helm 安裝redis的主從、哨兵Redis
- Nginx+Keepalived 主備高可用 安裝與配置Nginx
- 學一點 mysql 雙機異地熱備份----快速理解mysql主從,主主備份原理及實踐MySql
- docker 安裝 Redis 主從容器DockerRedis
- Mysql8.0.13安裝&主從MySql
- 主從安裝mysql 5.6.15MySql
- Redis安裝及主從配置Redis
- windows安裝mysql以及安裝Navicat Premium並破解的方法WindowsMySqlREM
- NoSQL 資料庫的主主備份SQL資料庫
- MYSQL5.7.22 原始碼安裝 主從搭建 + KEEPALIVED高可用MySql原始碼
- 【秒備份】安裝程式下載
- RAC模式下的備份策略以及RMAN備份指令碼模式指令碼
- Mysql 8.4.0 結合 Docker 搭建GTID主從複製,以及傳統主從複製MySqlDocker
- xtrabackup和innobackuppex的安裝和備份(含增量備份)已經恢復
- mysql容器的定時備份指令碼,有二種方法,備份好後打包傳送到遠端備份主機MySql指令碼
- mysql 5.6 半同步主從安裝MySql
- mysql的冷備份與熱備份MySql
- Redis主從搭建Redis