$ yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm -y $ yum install postgresql10 -y $ yum install postgresql10-server -y
經常使用命令sql
重啓:systemctl restart postgresql-10 查看狀態:systemctl status postgresql-10 啓動:systemctl start postgresql-10 中止:systemctl stop postgresql-10
一、建立數據目錄、歸檔目錄數據庫
$ mkdir -p /home/postgresql/data/ $ chown -R postgres:postgres /home/postgresql/data/ #修改data目錄的用戶及組爲postgres $ chmod 700 -R /home/postgresql/data #修改data目錄的權限爲700 (讀:4,寫:2,執行:1,-表示0,-R表示級聯)
二、修改數據存儲路徑vim
$ vim /usr/lib/systemd/system/postgresql-10.service Environment=PGDATA=/home/postgresql/data/ #找到Environment=PGDATA, 修改
三、初始化數據庫centos
$ /usr/pgsql-10/bin/postgresql-10-setup initdb
四、配置數據庫服務器
$ vim /home/postgresql/data/postgresql.conf data_directory = '/home/postgresql/data' listen_addresses = '*' port = 9999 #端口號(請修改) max_connections = 100 unix_socket_directories = '/var/run/postgresql, /tmp, /home/postgresql/data' wal_level = replica archive_mode = on archive_command = 'cp %p /home/postgresql/data/pg_archive/%f' max_wal_senders = 16 wal_keep_segments = 256 wal_sender_timeout = 60s $ mkdir -p /home/postgresql/data/pg_archive/ $ chown -R postgres:postgres /home/postgresql/data/ #修改data目錄的用戶及組爲postgres $ vim /home/postgresql/data/pg_hba.conf # 在末尾添加從服務器信息 host all all 0.0.0.0/0 md5 host replication 主從複製角色 從服務器IP/24 md5
五、配置全局配置socket
$ vim /etc/profile export PGDATA=/home/postgresql/data # 數據庫的數據目錄 export PGPORT=9999 # 數據庫端口 $ source /etc/profile
六、開機自啓post
$ systemctl enable postgresql-10 $ systemctl start postgresql-10
七、建立主從同步replica用戶測試
$ su - postgres $ psql postgres=# CREATE ROLE 主從複製角色 login replication encrypted password '主從複製密碼'; $ \q #退出 $ psql -U postgres #設置local all all md5 #trust 能夠直接登陸 alter user postgres with password 'postgres用戶的遠程密碼';
八、如有任何修改,最好重啓數據庫centos7
systemctl restart postgresql-10
一、建立數據目錄、歸檔目錄 (先安裝PostgreSQL)unix
$ mkdir -p /home/postgresql/data/ $ chown -R postgres:postgres /home/postgresql/data/ #修改data目錄的用戶及組爲postgres $ chmod 700 -R /home/postgresql/data #修改data目錄的權限爲700 (讀:4,寫:2,執行:1,-表示0,-R表示級聯)
二、修改數據存儲路徑
$ vim /usr/lib/systemd/system/postgresql-10.service Environment=PGDATA=/home/postgresql/data/ #找到Environment=PGDATA, 修改
三、 初始化數據庫
$ /usr/pgsql-10/bin/postgresql-10-setup initdb $ cd /home/postgresql/data/ #先進入/home/postgresql/data/在刪除data下的全部文件 $ rm -rf * $ su - postgres $ pg_basebackup -h 主服務器IP -U 主從複製角色 -D /home/postgresql/data -X stream -P -p 主服務器端口 Password: replica (等待同步) $ cp /usr/pgsql-10/share/recovery.conf.sample /home/postgresql/data/recovery.conf $ exit
四、修改相關配置文件(recovery.conf和postgresql.conf)
$ vim /home/postgresql/data/recovery.conf standby_mode = on primary_conninfo = 'user=主服務器用戶名 password=主服務器密碼 host=主服務器IP port=主服務器端口' #trigger_file = '/var/lib/pgsql/9.6/data/trigger.kenyon' #主從切換時後的觸發文件 (沒有配置,使用默認, 暫時未啓用) recovery_target_timeline = 'latest' $ vim /home/postgresql/data/postgresql.conf max_connections = 300 (master的最大鏈接數要小於slaver,必定要改大) hot_standby_feedback = on #若是有錯誤的數據複製,是否向主進行範例 port = 999 #端口號(通常不須要改) hot_standby = on #說明這臺機器不單單用於數據歸檔,也用於查詢 (默認值通常不須要改) max_standby_streaming_delay = 30s (默認值通常不須要改) wal_receiver_status_interval = 10s #多久向主報告一次從的狀態 (默認值通常不須要改)
五、配置全局配置
$ vim /etc/profile export PGDATA=/home/postgresql/data # 數據庫的數據目錄 export PGPORT=9999 # 數據庫端口 $ source /etc/profile
六、開機自啓
$ systemctl enable postgresql-10 $ systemctl start postgresql-10
測試主從是否可用(主服務器建立一個庫看從服務器是否有)
$ su - postgres $ psql $ select client_addr,sync_state from pg_stat_replication; #在主服務器查看同步記錄是否存在
修改遠程登陸密碼(建立用戶就不在這寫了,使用postgres登陸測試下)
$ su - postgres $ psql -U postgres alter user postgres with password '密碼';