本文主要通過實際案例介紹如何在CentOS6環境中在線安裝PostgreSQL10,安裝環境需具備能夠使用yum在線安裝功能。具體安裝步驟如下,
1 下載對應版本的PGDG文件
從https://yum.postgresql.org/repopackages.php頁面找到對應的版本,這里使用https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-6-x86_64/pgdg-centos10-10-2.noarch.rpm
2 安裝上述PGDG文件
yum install -y https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-6-x86_64/pgdg-centos10-10-2.noarch.rpm
3 yum list列出可用的postgresql資源
yum list postgresql*
4 安裝postgresql-server,其他工具可按需安裝
yum install -y postgresql10-server.x86_64
5 數據庫初始化
service postgresql-10 initdb
6 啟動數據庫服務
service postgresql-10 start chkconfig postgresql-10 on
7 連接psql客戶端
[root@cent-1 ~]# su - postgres
-bash-4.1$ psql
psql (10.1)
Type "help" for help.
postgres=# \l
List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+-------------+-------------+----------------------- postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres (3 rows)
至此,PostgreSQL 10的安裝已經完成,后面可以嘗試不同的命令了,下面列出幾個常用的命令,僅供參考:
//創建數據庫 -bash-4.1$ createdb test_db //刪除數據庫 -bash-4.1$ dropdb test_db //創建用戶 -bash-4.1$ createuser test_user //刪除用戶 -bash-4.1$ dropuser test_user
CREATE USER admin WITH PASSWORD 'admin123';
CREATE DATABASE test_db;
GRANT ALL PRIVILEGES ON DATABASE test_db to admin;
運行此命令vi /var/lib/pgsql/10/data/postgresql.conf ,找到端口進行修改,
在修改pg的端口號port改成2381后重啟完數據庫
service postgresql-10 stop
service postgresql-10 start
這個時候psql進庫,還是進不去,報以下的錯誤
[postgres@node2 data]$ psql
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432
這時,進數據庫有兩種方式
1、psql 后面加上端口號
[postgres@node2 data]$ psql -p 2381
psql (9.6.1)
Type "help" for help.
postgres=#
2、在環境變量/home/postgres/.bash_profile中加上一句
export PGPORT=5435
然后
[postgres@node2 ~]$ source ~/.bash_profile
[postgres@node2 ~]$ psql
psql (9.6.1)
Type "help" for help.
postgres=#
這樣就可以直接進庫了.
如果遠程訪問的話,還要做一步允許遠程ip訪問的配置
vi /var/lib/pgsql/10/data/pg_hba.conf
加上這么一個配置
host all all 58.101.195.1/24 md5
這樣還是登錄不了,那么
vi /var/lib/pgsql/10/data/postgresql.conf
放開以下這個注釋,用允許以md5加密密碼的方式的方式登錄
password_encryption = md5 # md5 or scram-sha-256
再次重啟下數據庫,最終測試連接成功。