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原始碼
- redis主從備份Redis
- Centos Mysql 主從備份CentOSMySql
- MySQL備份與主備配置MySql
- POSTGRESQL10.3原始碼安裝主從搭建SQL原始碼
- POSTGRESQL10.8原始碼安裝主從搭建SQL原始碼
- MYSQL5.7.22 原始碼安裝 主從搭建MySql原始碼
- MySQL主從配置及mysqldump備份MySql
- requirements.txt 快速備份與安裝專案所需安裝包UIREM
- MYSQL5.7.22 原始碼安裝 主從搭建 + KEEPALIVED高可用MySql原始碼
- MySQL 5.7的安裝及主從複製(主從同步)MySql主從同步
- helm 安裝redis的主從、哨兵Redis
- windows安裝mysql以及安裝Navicat Premium並破解的方法WindowsMySqlREM
- 【秒備份】安裝程式下載
- Mysql8.0.13安裝&主從MySql
- docker 安裝 Redis 主從容器DockerRedis
- Percona xtrabackup2.4版本遠端備份和搭建從庫的方法介紹
- mysql容器的定時備份指令碼,有二種方法,備份好後打包傳送到遠端備份主機MySql指令碼
- Mysql 8.4.0 結合 Docker 搭建GTID主從複製,以及傳統主從複製MySqlDocker
- mysql的冷備份與熱備份MySql
- MySQLDump的備份方法MySql
- SqlServer 備份集和備份片以及mirror的backup_set_idSQLServer
- Linux 下 Go 環境搭建以及 Gin 安裝LinuxGo
- mysql主從和主備的區別MySql
- 主備都是全新的恢復,主主搭建步驟
- mysql主從搭建MySql
- Redis主從搭建Redis
- MySQL叢集搭建(1)-主備搭建MySql
- MySQL 主從複製安裝部署配置MySql
- 天翼云云主機快照、雲硬碟備份、雲主機備份之間的區別硬碟
- NodeJS安裝與環境搭建NodeJS
- gitlab備份方法Gitlab
- Flutter環境搭建以及開發軟體安裝Flutter
- MySQ 資料庫主從同步安裝與配置詳解(Master/Slave)資料庫主從同步AST
- NBU 8.0客戶端安裝和備份配置客戶端
- mysql 備份與遷移 資料同步方法MySql
- 本地windows搭建spark環境,安裝與詳細配置(jdk安裝與配置,scala安裝與配置,hadoop安裝與配置,spark安裝與配置)WindowsSparkJDKHadoop