PostgreSQL的登录、创建用户、数据库并赋权

Table of Contents

一、在默认配置条件下,本机访问PostgreSQL

二、创建新用户来访问PostgreSQL

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

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

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

4、将testdb数据库的所有权限都赋予test:

5、使用命令 \q 退出psql:

6、创建Linux普通用户,与刚才新建的数据库用户同名,如 test:

7、以test的身份连接数据库testdb:

 三、最简单的做法

四、开启远程访问

1、编辑配置文件

2、重启数据库服务:

3、此后即可从其它机器上登录,例如用Navicat for PostgreSQL:


一、在默认配置条件下,本机访问PostgreSQL

切换到Linux用户postgres,然后执行psql:

$ sudo su - postgres 
[sudo] password for rongtao:      
postgres@rongtao:~$ psql
psql (10.6 (Ubuntu 10.6-0ubuntu0.18.04.1))
Type "help" for help.

postgres=# 

此时就在数据库postgres中了。使用 psql -d [databasename] 可登录其他数据库。注意:执行psql命令时,必须确认已配置postgresql的环境变量。

二、创建新用户来访问PostgreSQL

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

$ sudo su - postgres 
[sudo] password for rongtao:      
postgres@rongtao:~$ psql
psql (10.6 (Ubuntu 10.6-0ubuntu0.18.04.1))
Type "help" for help.

postgres=# 

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

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

postgres=# create user test with password 'rong ';
CREATE ROLE

注意:语句要以分号结尾。密码要用单引号括起来。

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

postgres=# CREATE DATABASE testdb OWNER test;


4、将testdb数据库的所有权限都赋予test:

postgres=# GRANT ALL PRIVILEGES ON DATABASE testdb TO test;

5、使用命令 \q 退出psql:

postgres=# \q

6、创建Linux普通用户,与刚才新建的数据库用户同名,如 test:

$ sudo adduser test

$ sudo passwd test

7、以test的身份连接数据库testdb:

$ su - test

Password: 

[test@master ~]$ psql -d testdb

 三、最简单的做法

以你的普通Linux用户名,在数据库中创建同名的用户和数据库,如xxf,然后就可以本机直接连接到数据库xxf了。

$ psql -d testdb
psql (10.6 (Ubuntu 10.6-0ubuntu0.18.04.1))
Type "help" for help.

testdb=> select * from goods;
 name | price 
------+-------
(0 rows)

testdb=> grant all privileges on database testdb to test;
GRANT
testdb=> \q
rongtao@rongtao:~$ exit
logout
$ psql

四、开启远程访问

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

 

  • 12
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值