1. 程式人生 > >portgres數據庫的安裝和配置

portgres數據庫的安裝和配置

postgres數據庫的安裝

CentOS Yum 工具安裝,簡單方便,查看了一下官方源版本,顯示目前最新版本是9.2.15,需要更新源,文檔中有專門的rpm包列表,RPM LIST。
1.添加RPM
yum install https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm
2.安裝PostgreSQL 9.5
yum install postgresql95-server postgresql95-contrib
3.初始化數據庫
/usr/pgsql-9.5/bin/postgresql95-setup initdb
4.設置開機自啟動
systemctl enable postgresql-9.5.service
5.啟動服務
systemctl start postgresql-9.5.service
自此,PostgreSQL 9.5 安裝完成,此過程中註意安裝權限,我在安裝過程中一直使用的是root用戶進行的安裝。
接下來,進行一下簡單的配置。
PostgreSQL 安裝完成後,會建立一下‘postgres’用戶,用於執行PostgreSQL,數據庫中也會建立一個‘postgres‘用戶,默認密碼為自動生成,需要在系統中改一下。
6.修改用戶密碼
su - postgres 切換用戶,執行後提示符會變為 ‘-bash-4.2$‘
psql -U postgres 登錄數據庫,執行後提示符變為 ‘postgres=#‘
ALTER USER postgres WITH PASSWORD ‘abc123‘ 設置postgres用戶密碼
\q 退出數據庫
系統管理用的帳號和密碼變更完成,現在配置一下遠程連接。
7.開啟遠程訪問
vi /var/lib/pgsql/9.5/data/postgresql.conf
修改#listen_addresses = ‘localhost‘ 為 listen_addresses=‘
當然,此處‘
’也可以改為任何你想開放的服務器IP
8.信任遠程連接
vi /var/lib/pgsql/9.5/data/pg_hba.conf
修改如下內容,信任指定服務器連接

IPv4 local connections:

host    all            all      127.0.0.1/32      trust
host    all            all      10.211.55.6/32(需要連接的服務器IP)  trust

遠程連接配置完成,由於系統原因,還需要在防火墻中打開相應的端口。
9.打開防火墻
CentOS 防火墻中內置了PostgreSQL服務,配置文件位置在/usr/lib/firewalld/services/postgresql.xml,我們只需以服務方式將PostgreSQL服務開放即可。
firewall-cmd --add-service=postgresql --permanent 開放postgresql服務
firewall-cmd --reload 重載防火墻
最後一步,不能忘記的,是重啟數據庫服務,使配置生效。

  1. 重啟PostgreSQL數據服務
    systemctl restart postgresql-9.5.service

二、創建新用戶來訪問PostgreSQL

1、如上所述,先切換到Linux用戶postgres,並執行psql:
$ su - postgres
-bash-4.2$ psql
postgres=#
現在位於數據庫提示符下。
2、創建數據庫新用戶,如 devuser:
postgres=# CREATE USER devuser WITH PASSWORD ‘ devuser ‘;
註意:
語句要以分號結尾。
密碼要用單引號括起來。
3、創建用戶數據庫,如postgres:
postgres=# CREATE DATABASE postgres OWNER devuser;
4、將RulePlatform數據庫的所有權限都賦予devuser:
postgres=# GRANT ALL PRIVILEGES ON DATABASE RulePlatform TO devuser;
5、使用命令 \q 退出psql:
postgres=# \q

三、賦予只讀權限

1.創建一個用戶名為devuser密碼為ropass的用戶
CREATE USER devuser WITH ENCRYPTED PASSWORD ‘devuser‘;

2.用戶只讀事務
alter user devuser set default_transaction_read_only=on;

3.把所有庫的語言的USAGE權限給到devuser
GRANT USAGE ON SCHEMA public to devuser;

4.授予select權限(這句要進入具體數據庫操作在哪個db環境執行就授予那個db的權)
grant select on all tables in schema public to devuser;

portgres數據庫的安裝和配置