目录:

一、在默认配置条件下,本机访问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中了。

二、创建新用户来访问PostgreSQL

1、如上所述,先切换到Linux用户postgres,并执行psql:

$ su - postgres

-bash-4.2$ psql

postgres=#

现在位于数据库提示符下。

2、创建数据库新用户,如 dbuser:

postgres=#CREATEUSERdbuserWITHPASSWORD'*****';

注意:

语句要以分号结尾。

密码要用单引号括起来。

3、创建用户数据库,如exampledb:

postgres=#CREATEDATABASEexampledb OWNER dbuser;

4、将exampledb数据库的所有权限都赋予dbuser:

postgres=#GRANTALLPRIVILEGESONDATABASEexampledbTOdbuser;

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 - postgres

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的密码)

参考:

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐