Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 授予连接到所有数据库的权限_Sql_Postgresql - Fatal编程技术网

Sql 授予连接到所有数据库的权限

Sql 授予连接到所有数据库的权限,sql,postgresql,Sql,Postgresql,我已经看到有一种方法可以将select授予数据库中的所有表,但是我似乎找不到一种方法可以将connect授予所有数据库 我无法手动执行以下操作: GRANT CONNECT ON DATABASE X TO readonly; GRANT CONNECT ON DATABASE Y TO readonly; GRANT CONNECT ON DATABASE Z TO readonly; 诸如此类,因为我有很多数据库 是否存在类似于以下内容的等价物: 将数据库*上的连接授予只读 我的总体希望

我已经看到有一种方法可以将select授予数据库中的所有表,但是我似乎找不到一种方法可以将connect授予所有数据库

我无法手动执行以下操作:

GRANT CONNECT ON DATABASE X TO readonly;
GRANT CONNECT ON DATABASE Y TO readonly;
GRANT CONNECT ON DATABASE Z TO readonly; 
诸如此类,因为我有很多数据库

是否存在类似于以下内容的等价物:
将数据库*上的连接授予只读

我的总体希望是将此数据库的只读用户的连接和只读(选择访问)授予我组织的某些成员

致以最良好的祝愿,
Neil D.

使用
psql
,您可以使用
\gexec

SELECT format('GRANT CONNECT ON DATABASE %I TO readonly;', datname) FROM pg_database \gexec

使用
psql
,您可以使用
\gexec

SELECT format('GRANT CONNECT ON DATABASE %I TO readonly;', datname) FROM pg_database \gexec