如何在PostgreSQL中建只读账号】的更多相关文章

转: 如何在PostgreSQL中建只读账号 Posted on 2014-01-21 22:00:15 by osdba 在PostgreSQL中并没有CREATE TABLE权限名称,这是与其它数据库不同的一个地方,PostgreSQL是通过控制是否在模式schema中上有CREATE控制用户的能否创建表的权限的,默认安装下,任何用户都有在模式public中CREATE的权限,所以要创建只读账号的第一步,我们要先去除在模式public中的CREATE权限: REVOKE CREATE ON…
postgresql 设置只读用户 ` CREATE USER readonly WITH ENCRYPTED PASSWORD 'ropass'; alter user readonly set default_transaction_read_only=on; GRANT USAGE ON SCHEMA public to readonly; ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO readonl…
整个配置的命令如下(主要使用了:Linux bash受限的shell(RESTRICTED SHELL)) 步骤#1.创建只读shell(这步可以省略) ln -s /bin/bash /bin/rbash #2.创建用户并指定用户启动执行的shell useradd -s /bin/bash readonly 这步不要指定rbash,否侧cd等內建命令无法使用 #3.修改用户密码 passwd readonly #4.创建用户shell执行命令目录 mkdir /home/readonly/.…
GRANT Select ON *.* TO reader@192.168.1.123  IDENTIFIED BY "123456" GRANT  可以立刻生效 在mysql 5.6下似乎要重启mysql才生效 创建了一个账户名为“reader" , 密码”123456“ 只可以从192.168.1.123发起访问   读取数据库的账号 reader@"%"    则表示所有的ip都可以访问 参考: http://linux.chinaitlab.com…
目前PostgreSQL并不能像MySQL一样直接对某个数据库赋予只读权限,现实中有研发需要新建一个用户然后赋予对某个数据库只读权限. 举例说明如何创建 用edbstore用户连接edbstore数据库,并创建一个测试schema $ psql -U edbstore edbstore psql () Type "help" for help. edbstore=> create schema ota_data; CREATE SCHEMA edbstore=> \dn o…
1.创建用户,指定哪个表空间create user test2 identified by "123" default tablespace BDCDJ_XC temporary tablespace BDCDJ_XC_temp; 2.创建角色 CREATE ROLE SELECT_ROLE 3.给角色分配权限 grant connect to SELECT_ROLE; grant create synonym to SELECT_ROLE; 4.分配某些表的select权限如:gra…
创建用户及指定密码: CREATE USER readonly WITH ENCRYPTED PASSWORD 'ropass'; 设置用户默认事务只读: alter user readonly set default_transaction_read_only=on; 赋予用户权限,查看public模式下所有表: GRANT USAGE ON SCHEMA public to readonly; ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT S…
创建只读用户:grant connect to user; grant create session to user; 1.创建角色 CREATE ROLE SELECT_ROLE 2.给角色分配权限 grant SELECT ANY DICTIONARY to SELECT_ROLE; grant SELECT ANY TABLE to SELECT_ROLE; grant SELECT ANY TRANSACTION to SELECT_ROLE; grant SELECT ANY SEQU…
1.创建只读角色 CREATE ROLE readaccess; 2.授予对现有表的访问权限 GRANT USAGE ON SCHEMA public TO readaccess; GRANT SELECT ON ALL TABLES IN SCHEMA public TO readaccess; 3.授予后面新增表的访问权限 ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO readaccess; 4.创建用…
还好,网上弄到的,,没有dual的数据库,可以试图用select函数不带from数据表的方式来实现返回值. 一段测试代码: try: conn = psycopg2.connect(database=db.service_name, user=db.username, password=password, host=db.ip, port=db.port) cursor = conn.cursor() except Exception, e: context_dict = {'msg': e,…