千家信息网

postgresql数据库基础

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,创建只读账号1.1以初始化账号登入[root@localhost ~]# psql -U postgres1.2创建用户postgres=# create role develop with logi
千家信息网最后更新 2025年11月08日postgresql数据库基础

创建只读账号

1.1以初始化账号登入

[root@localhost ~]# psql -U postgres

1.2创建用户

postgres=# create role develop with login password '123456';

CREATE ROLE

postgres=# select usename from pg_user;

usename

----------

postgres

test

develop

(3 rows)


1.3切换数据库

\c current_product

1.4赋予只读权限

current_product=# grant select on all tables in schema public to develop;

GRANT

1.5切换到develop用户

current_product=# \c - develop

You are now connected to database "current_product" as user "develop".

1.6检测是否拥有只读权限

current_product=> select * from test;

id

----

(0 rows)


2创建读写账号

2.1初始账号登录

psql -U postgres

2.2查看用户

postgres=# select usename from pg_user;

usename

----------

postgres

test

test1

u2

(4 rows)


2.3创建读写用户

postgres=# create role test2 with login password '123456';

CREATE ROLE

postgres=# grant ALL on all tables in schema public to test2; #这种授权方式是不对的,test2用户对current_product数据库没有权限

GRANT


2.4检测用户是否有读写权限

postgres=# \c - test2

You are now connected to database "postgres" as user "test2".

切换数据库

postgres=> \c current_product

You are now connected to database "current_product" as user "test2".

current_product=> \dt

List of relations

Schema | Name | Type | Owner

--------+------+-------+----------

public | aaa | table | postgres

public | test | table | postgres

(2 rows)


current_product=> select * from aaa; #显示没有权限

ERROR: permission denied for relation aaa


2.5 正确的授权方式是 :切换到目标数据库,执行授权语句

postgres=# \c current_product #切换到目标数据库

You are now connected to database "current_product" as user "postgres".

current_product=# grant ALL on all tables in schema public to test2; #执行授权语句

GRANT


2.6 切换到读写用户,检测是否有权限

current_product=# \c - test2 ###切换至读写用户

You are now connected to database "current_product" as user "test2".

current_product=> \dt ###查看几个表

List of relations

Schema | Name | Type | Owner

--------+------+-------+----------

public | aaa | table | postgres

public | test | table | postgres

(2 rows)


current_product=> select * from aaa; #查权限正常

id

----

(0 rows)


current_product=> insert into aaa values(1); #增权限正常

INSERT 0 1

current_product=> select * from aaa;

id

----

1

(1 row)


current_product=> delete from aaa; #删除权限正常

DELETE 1


2.7 切换至超级用户

current_product=> \c - postgres

You are now connected to database "current_product" as user "postgres".

current_product=# create table bbb(id int); ###新增一张表

CREATE TABLE


2.8 切换至读写用户

current_product=# \c - test2

You are now connected to database "current_product" as user "test2".

current_product=> \dt

List of relations

Schema | Name | Type | Owner

--------+------+-------+----------

public | aaa | table | postgres

public | bbb | table | postgres

public | test | table | postgres

(3 rows)


current_product=> select * from bbb; #显示无权限

ERROR: permission denied for relation bbb


2.9 解决办法:

每次新增表都执行一次授权语句,否则无权限(其它方法正在探索中……)

current_product=> \c - postgres

You are now connected to database "current_product" as user "postgres".

current_product=# grant ALL on all tables in schema public to test2;

GRANT

切换至读写用户 , 检测权限

current_product=# \c - test2

You are now connected to database "current_product" as user "test2".

current_product=> select * from bbb;

id

----

(0 rows)

current_product=> insert into bbb values(2222);

INSERT 0 1

current_product=> select * from bbb;

id

------

2222

(1 row)


current_product=> delete from bbb;

DELETE 1

current_product=> select * from bbb;

id

----

(0 rows)


权限 用户 切换 数据 数据库 账号 检测 语句 方式 目标 不对 办法 方法 正在 登录 基础 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 笔记本电脑访问服务器步骤 服务器搭建与安全维护 韶关电商系统软件开发 下列不是网络安全相关法律法规 关系数据库有哪三种基本类型 融媒体网络安全监测制度 岳阳软件开发公司 苏州有农网络技术在哪里 同一个数据库怎么连接 北京个性化软件开发预算 数据库派符号是什么意思 和平精英充值服务器显示错误 网络安全手抄报简单漂亮初中 软件开发瀑布模型流程 手机怎么修改数据库2014 网站网络安全宣传标语 数据库技术采用的模式 忍者必须死3服务器在哪里看 杨浦区机械软件开发厂家直销 太空狼人杀显示服务器已满 网络安全意识形态相关法律 岳阳软件开发公司 江苏赛普网络技术有限公司周敏 梦幻西游华为应用商城下的服务器 人力资源数据库模板下载 基于云计算的网络技术研究 实验三数据库 网络安全为人民的手抄报图片 南京区块链软件开发公司 泰安市网络安全和信息化办
0