postgresql的yum安裝及配置方法

lusklusklusk發表於2019-10-28

centos7+pgsql11的安裝方法

總結
1、確定好PGDATA環境變數後再initdb初始化資料庫
2、systemctl啟動後程式ps-ef|grep pg顯示為/usr/pgsql-11/bin/postmaster -D /pgdata/data/
   但是使用/usr/pgsql-11/bin/pg_ctl status看到的還是/usr/pgsql-11/bin/postgres "-D" "/pgdata/data"
   /usr/pgsql-11/bin/pg_ctl start啟動後程式ps-ef|grep pg顯示為/usr/pgsql-11/bin/postgres -D /pgdata/data   
3、pg_ctl stop可以殺掉由systemctl啟動的服務
   systemctl stop無法殺掉pg_ctl start啟動的服務

4、yum方式和手工下載rpm包再執行rpm命令的方式沒什麼區別,後面的所有配置都一樣,yum方式或手工rpm方式後,都會自動建立postgres使用者,且/usr/pgsql-11/bin/postgresql-11-setup會自動生成一個軟連線 /usr/bin/ postgresql-11-setup




步驟
1、
yum install

2、
vi /etc/sysctl.conf
vi /etc/security/limits.conf

3、
yum list|grep postgresql11

4、
yum -y install postgresql11
yum -y install postgresql11-server
yum -y install postgresql11-contrib.x86_64 --這個步驟主要是安裝pg_recvlogical

5、
mkdir -p /pgdata/data/
chown -R postgres.postgres /pgdata

6、systemctl enable postgresql-11
vi /usr/lib/systemd/system/postgresql-11.service  
--Environment=PGDATA=/var/lib/pgsql/11/data/修改為Environment=PGDATA=/pgdata/data/
systemctl reload postgresql-11
檢視環境變數PGDATA是否正常了
systemctl show -p Environment "postgresql-11.service" |sed 's/^Environment=//' | tr ' ' '\n' |sed -n 's/^PGDATA=//p' |tail -n 1

7、

whereis postgresql-11-setup

發現結果 是/usr/bin/postgresql-11-setup,來自 /usr/pgsql-11/bin/postgresql-11-setup的軟連線

/usr/pgsql-11/bin/postgresql-11-setup initdb

8、systemctl start postgresql-11

9、ps -ef|grep pg
postgres  6175     1  0 00:07 ?        00:00:00 /usr/pgsql-11/bin/postmaster -D /pgdata/data/


10、su - postgres
/usr/pgsql-11/bin/pg_ctl status
pg_ctl: directory "/var/lib/pgsql/11/data" is not a database cluster directory

11、vi .bash_profile
--修改PGDATA=/pgdata/data

12、source .bash_profile
/usr/pgsql-11/bin/pg_ctl status
pg_ctl: server is running (PID: 6175)
/usr/pgsql-11/bin/postgres "-D" "/pgdata/data/"




systemctl stop無法殺掉pg_ctl start啟動的服務

[root@FRSPGSQLDEV2 ~]# su - postgres
-bash-4.2$ /usr/pgsql-11/bin/pg_ctl start -D /pgdata/data/
-bash-4.2$ /usr/pgsql-11/bin/pg_ctl status
pg_ctl: server is running (PID: 6659)
/usr/pgsql-11/bin/postgres "-D" "/pgdata/data"
-bash-4.2$ exit
logout
[root@FRSPGSQLDEV2 ~]# ps -ef|grep pg
postgres  6659     1  0 00:29 pts/1    00:00:00 /usr/pgsql-11/bin/postgres -D /pgdata/data
root      6670  6483  0 00:30 pts/1    00:00:00 grep --color=auto pg
[root@FRSPGSQLDEV2 ~]# systemctl stop postgresql-11
[root@FRSPGSQLDEV2 ~]# ps -ef|grep pg
postgres  6659     1  0 00:29 pts/1    00:00:00 /usr/pgsql-11/bin/postgres -D /pgdata/data
root      6678  6483  0 00:30 pts/1    00:00:00 grep --color=auto pg



pg_ctl stop可以殺掉由systemctl啟動的服務

[root@FRSPGSQLDEV2 ~]# systemctl start postgresql-11
[root@FRSPGSQLDEV2 ~]# ps -ef|grep pg
postgres  6587     1  1 00:28 ?        00:00:00 /usr/pgsql-11/bin/postmaster -D   /pgdata/data/
[root@FRSPGSQLDEV2 ~]# su - postgres
Last login: Fri Oct 18 00:26:32 PDT 2019 on pts/1
-bash-4.2$ /usr/pgsql-11/bin/pg_ctl status
pg_ctl: server is running (PID: 6587)
/usr/pgsql-11/bin/postgres "-D" "/pgdata/data/"
-bash-4.2$ /usr/pgsql-11/bin/pg_ctl stop
waiting for server to shut down.... done
-bash-4.2$ exit
logout
[root@FRSPGSQLDEV2 ~]# ps -ef|grep pg








[root@FRSPGSQLDEV2 init.d]# /usr/pgsql-11/bin/postgresql-11-setup initdb
Initializing database ... OK

[root@FRSPGSQLDEV2 init.d]# systemctl enable postgresql-11
Created symlink from /etc/systemd/system/multi-user.target.wants/postgresql-11.service to /usr/lib/systemd/system/postgresql-11.service.




修改PGDATA後需要systemctl daemon-reload

[root@FRSPGSQLDEV2 init.d]#mkdir -p /pgdata/data/
[root@FRSPGSQLDEV2 init.d]#chown -R postgres.postgres /pgdata

[root@FRSPGSQLDEV2 init.d]# vi /usr/lib/systemd/system/postgresql-11.service
Environment=PGDA他的值把/var/lib/pgsql/11/data/修改為/pgdata/data

[root@FRSPGSQLDEV2 init.d]# systemctl start postgresql-11
Warning: postgresql-11.service changed on disk. Run 'systemctl daemon-reload' to reload units

[root@FRSPGSQLDEV2 init.d]# systemctl daemon-reload
[root@FRSPGSQLDEV2 init.d]# systemctl start postgresql-11

[root@FRSPGSQLDEV2 init.d]# ps -ef|grep pg
postgres 16192     1  0 19:00 ?        00:00:00 /usr/pgsql-11/bin/postmaster -D /pgdata/data/

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30126024/viewspace-2661671/,如需轉載,請註明出處,否則將追究法律責任。

相關文章