加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

命令行方式登录PostgreSQL、创建用户和数据库并赋权

发布时间:2020-12-13 16:49:25 所属栏目:百科 来源:网络整理
导读:目录: 一、在默认配置条件下,本机访问PostgreSQL 二、创建新用户来访问PostgreSQL 三、最简单的做法 四、开启远程访问 一、在默认配置条件下,本机访问PostgreSQL 切换到Linux用户postgres,然后执行psql: $ su - postgres Last login: Wed Mar 1 13:16:4

目录:

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

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

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

postgres=# CREATE USER dbuser WITH PASSWORD '*****';

注意:

  1. 语句要以分号结尾。
  2. 密码要用单引号括起来。

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

CREATE DATABASE exampledb OWNER dbuser;

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读