Postgres 备忘录
来源:互联网 发布:逆袭网络剧百度云 编辑:程序博客网 时间:2024/05/16 06:14
revoke create on schema public from public;
这是因为在PG中默认任何用户都可以在名称为public的schema中创建表,而只读用户是不允许创建表的,所以先要把这个权限回收。
创建名称为readonly的只读用户:
create user readonly with password 'query';
然后把在public这个schema下现有的所有表的select权限赋给readobly,并执行下面的SQL命令:
grant select on all tables in schema public to readonly;
上面的命令只是把现有的表的权限给了readonly用户,如果此时创建了表,readonly用户还是不能读,需要使用下面的SQL把所建表的select权限也给用户readonly:
alter default privileges in schema public grant select on tables to readonly;
注意:上面的过程只是给schema下的名为public的表赋予了只读权限,如果想让这个访问其他schema下的表,需要重复执行如下语句:【需要先连接数据库 】
grant select on all tables in schema other_schema to readonly;
alter default privileges in schema other_schema grant select on tables to readonly;
Postgres ERROR: could not open file for reading: Permission denied
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO myuser;
GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO www;ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT USAGE, SELECT ON SEQUENCES TO www;
must be owner of relation
grant userB to userA;
一、命令说明
psql是PostgreSQL的交互终端,等同于Oracle中的sqlplus。执行该命令连接数据库时, 默认的用户和数据库是postgres
二、命令参数
-c 命令 :指定psql执行一条SQL命令(用双引号括起),执行后退出。
-d 数据库名 :待连接的数据库名称。
-f 文件名 :使用文件中的数据作为命令的输入源,在处理完文件后,psql结束并退出。
-h 主机名 :声明正在运行服务器的主机名
-l :列出所有可用的数据库,然后退出。
-L 文件名 :除了正常的输出源之外,把所有查询记录输出到文件。
-o 文件名 :将所有查询重定向输出到文件。
-p 端口 :指定PostgreSQL服务器的监听端口。
-q :让psql安静地执行所处理的任务。缺省时psql将输出打印欢迎和许多其他信息。
-U 用户名 :以指定用户代替缺省用户与数据库建立连接。
-V :输出版本信息, 然后退出
三、内置命令
#\c 数据库名 :切换数据库,相当于mysql的use dbname
#\q :退出 psql
#\l :列举数据库,相当于mysql的show databases
#\dt :列举表,相当于show tables
#\d 表名 :查看表结构,相当于desc tblname
#\conninfo :显示当前连接的相关信息
#\timing :切换命令计时开关 (目前是 关闭)
#\! [命令] :在 shell 里执行命令或开启一个shell
#\a :在非对齐模式和对齐模式之间切换
#\C [标题] :设定资料表标题或取消
#\f [分隔符] :显示或设定非对齐模式的栏位分隔符号
#\H :切换 HTML 输出模式 (目前是 关闭)
#\o [文件名] :将全部查询结果写入档案或 |管道"pipe"
#\db [数据库名] :列出表空间
#\du [数据库名] :列出角色
#\p :显示查询缓存区的内容,即打印上一个SQL命令
#\cd [目录] :改变目前的工作目录
#\i 文件名 :从文件中执行命令
#\echo [字串] :将字串写至标准输出
#\w [文件名] :将上一个SQL命令输出到指定的文件或管道"pipe"
#\g [文件名] :将上一个SQL命令的结果输出到指定文件或管道"pipe"
#\o [文件名] :将后面的全部查询结果输出到指定文件或管道"pipe",直到遇到下一个单独的 #\o
#\unset 变量名称 : 清空(删除)内部变量
#\encoding [编码名称] :显示或设定客户端编码
#\password [用户名称] :安全地为用户改变口令
#\prompt [变量名称] :提示用户设定内部变量
#\set [变量名称 [变量值]] :设定内部,若无参数则列出全部变量
- Postgres 备忘录
- postgres
- postgres
- postgres
- postgres
- Postgres
- 备忘录
- 备忘录
- 备忘录
- 备忘录
- 备忘录
- 备忘录
- 备忘录
- 备忘录
- 备忘录
- 备忘录
- 备忘录
- 备忘录
- 关于python中的一些符号说明
- html用ajax请求服务器后端java接口跨域问题解决
- MyEclipse开启后总是不停的在Update index解决方法
- anisible安装
- bootstrap辅助类
- Postgres 备忘录
- jquery常用内容速查
- lintcode&九章算法——No.53 翻转字符串 ? 待解决
- 中国电信上海公司正式发布“天翼云”产品
- 直击互联网采购痛点,京东腾讯联手打造新标准
- MFC菜单(1)
- 点击li标签增加样式,并删除其它li标签样式
- 大步迈向CSS
- list用法