工作上用到這個這邊記錄一下.
環境是linux.
安裝指令
$ sudo yum install rh-postgresql96-postgresql-server.x86_64
初始化資料資料庫
$ /opt/rh/rh-postgresql96/root/usr/bin/postgresql-setup --initdb
* Initializing database in '/var/opt/rh/rh-postgresql96/lib/pgsql/data'
* Initialized, logs are in /var/lib/pgsql/initdb_rh-postgresql96-postgresql.log
啟用service
$ systemctl enable rh-postgresql96-postgresql
如果啟動失敗找不到lib, 可能要手動指一下參考, 讓執行環境可以連結到他.
$ ln -s /opt/rh/rh-postgresql96/root/usr/lib64/libpq.so.rh-postgresql96-5 /usr/lib64/libpq.so.rh-postgresql96-5
Service start
$ sudo systemctl status rh-postgresql96-postgresql.service
測試看看
$ sudo su - postgres
Last login: Thu Mar 12 01:34:48 MDT 2020 on pts/1
-bash-4.2$ /opt/rh/rh-postgresql96/root/bin/psql
psql (9.6.10)
Type "help" for help.
postgres=# SELECT current_user;
current_user
--------------
postgres
(1 row)
若有需要開放遠端存取, config這邊要設定一下.
/var/opt/rh/rh-postgresql96/lib/pgsql/data/postgresql.conf
也可能是這個路徑. 看你裝哪個版本的postgresql, 基本上是一樣的.
/var/lib/pgsql/data/postgresql.conf
listen_addresses = '*' # what IP address(es) to listen on;
或者你可以這樣限定存取的IP
listen_addresses = '192.168.1.100,192.168.1.101,192.168.1.110' # what IP address(es) to listen on;
設定完要重啟service.
PS. postgresql 預設Port是 5432
Connection string format
postgresql://[user[:password]@][netloc][:port][/dbname][?param1=value1&...]
OK. 收工