目錄: 一、在默認配置條件下,本機訪問PostgreSQL 二、創建新用戶來訪問PostgreSQL 三、最簡單的做法 四、開啟遠程訪問 一、在默認配置條件下,本機訪問PostgreSQL 切換到Linux用戶postgres,然后執行psql: $ su - postgres Last login: Wed Mar 1 13:16:48 CST 2017 on pts/1 -bash-4.2$ psql psql (9.2.18) Type "help" for help. postgres=# 此時就在數據庫postgres中了。 使用 psql -d [databasename] 可登錄其他數據庫。 注意:執行psql命令時,必須確認已配置postgresql的環境變量。 二、創建新用戶來訪問PostgreSQL 1、如上所述,先切換到Linux用戶postgres,並執行psql: $ su - postgres -bash-4.2$ psql postgres=# 現在位於數據庫提示符下。 2、創建數據庫新用戶,如 dbuser: postgres=# CREATE USER dbuser WITH PASSWORD '*****'; 注意: 語句要以分號結尾。 密碼要用單引號括起來。 3、創建用戶數據庫,如exampledb: postgres=# CREATE DATABASE exampledb OWNER dbuser; 4、將exampledb數據庫的所有權限都賦予dbuser: postgres=# GRANT ALL PRIVILEGES ON DATABASE exampledb TO dbuser; 5、使用命令 \q 退出psql: postgres=# \q 6、創建Linux普通用戶,與剛才新建的數據庫用戶同名,如 dbuser: $ sudo adduser dbuser $ sudo passwd dbuser 7、以dbuser的身份連接數據庫exampledb: $ su - dbuser Password: Last login: Wed Mar 1 11:52:07 CST 2017 on pts/ [dbuser@master ~]$ psql -d exampledb 三、最簡單的做法 以你的普通Linux用戶名,在數據庫中創建同名的用戶和數據庫,如xxf,然后就可以本機直接連接到數據庫xxf了。 ~> su - xxf Password: Last login: Wed Mar 1 13:19:02 CST 2017 on pts/1 -bash-4.2$ psql psql (9.2.18) Type "help" for help. postgres=# create user xxf with password '******'; CREATE ROLE postgres=# create database xxf owner xxf; CREATE DATABASE postgres=# grant all privileges on database xxf to xxf; GRANT postgres=# \q -bash-4.2$ exit logout ~> psql psql (9.2.18) Type "help" for help. xxf=> 至此,就在數據庫xxf中了。 四、開啟遠程訪問 1、編輯配置文件 文件:postgresql.conf 位置:/var/lib/pgsql/data/postgresql.conf 添加/修改:在所有IP地址上監聽,從而允許遠程連接到數據庫服務器: listening_address: '*' 文件:pg_hba.conf 位置:/var/lib/pgsql/data/pg_hba.conf 添加/修改:允許任意用戶從任意機器上以密碼方式訪問數據庫,把下行添加為第一條規則: host all all 0.0.0.0/0 md5 2、重啟數據庫服務: $ sudo systemctl restart postgresql 3、此后即可從其它機器上登錄,例如用 Navicat for PostgreSQL: 主機名或IP: 172.*.*.* 端口: 5432 初始數據庫: xxf 用戶: xxf 密碼: ****** (數據庫用戶xxf的密碼,不是Linux用戶xxf的密碼)