一、在默认配置条件下,本机访问PostgreSQL
切换到Linux用户postgres,然后执行psql:
$ su - postgres
`[root@rocketmq-nameserver1 ~]# su - postgres
上一次登录:三 9月 7 16:17:02 CST 2022pts/1 上
-bash-4.2$ psql
psql (9.6.19)
输入 "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=# \qpostgres-# \q
-bash-4.2$ exit
登出postgres用户到root用户
[root@rocketmq-nameserver1 ~]#
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/9.6/data/postgresql.conf
添加/修改:在所有IP地址上监听,从而允许远程连接到数据库服务器:
listening_address: '*'
文件:pg_hba.conf
位置:/var/lib/pgsql/9.6/data/pg_hba.conf
添加/修改:允许任意用户从任意机器上以密码方式访问数据库,把下行添加为第一条规则:
host all all 0.0.0.0/0 md5
2、重启数据库服务:
$ sudo systemctl restart postgresql-9.6
3、此后即可从其它机器上登录,例如用Navicat for PostgreSQL:
主机名或IP: 172...*
端口: 5432
初始数据库: xxf
用户: xxf
密码: ****** (数据库用户xxf的密码,不是Linux用户xxf的密码)
原文链接:https://blog.csdn.net/weixin_39886205/article/details/111898570
评论(0)