Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.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
使用Postgresql授予对所有数据库及其表的访问权限_Postgresql_Privileges - Fatal编程技术网

使用Postgresql授予对所有数据库及其表的访问权限

使用Postgresql授予对所有数据库及其表的访问权限,postgresql,privileges,Postgresql,Privileges,所以我做了 GRANT USAGE ON SCHEMA public TO myuser; GRANT SELECT ON ALL TABLES IN SCHEMA public TO myuser; 甚至 GRANT ALL PRIVILEGES ON DATABASE mydb1 TO myuser; GRANT ALL PRIVILEGES ON DATABASE mydb2 TO myuser; 但我仍然会收到错误:权限被拒绝错误: => select * from lang

所以我做了

GRANT USAGE ON SCHEMA public TO myuser; 
GRANT SELECT ON ALL TABLES IN SCHEMA public TO myuser;
甚至

GRANT ALL PRIVILEGES ON DATABASE mydb1 TO myuser;
GRANT ALL PRIVILEGES ON DATABASE mydb2 TO myuser;
但我仍然会收到
错误:权限被拒绝
错误:

=> select * from language;
ERROR:  permission denied for table language
我错过了什么


对于
GRANT SELECT ON SCHEMA public TO myuser
,我当前的三个Postgresql数据库都有名为
public
的模式,SQL到底授予了什么

您需要在运行之前创建表:

GRANT SELECT ON ALL TABLES IN SCHEMA public TO myuser;
或在创建表之前运行:

alter default privileges in schema public grant select on tables to myuser;

您需要在运行之前创建表:

GRANT SELECT ON ALL TABLES IN SCHEMA public TO myuser;
或在创建表之前运行:

alter default privileges in schema public grant select on tables to myuser;

你能提供更多的信息吗?我创建了一个数据库和一个表,我创建了一个用户,对你的问题运行了相同的命令,并为我工作。我的顺序有点不同,我使用
postgres
创建了所有数据库。然后在带有
postgres
pgsql
中,我创建了
myuser
,并如上所述授予了权限。你肯定做了更多的事。你能提供更多的信息吗?我创建了一个数据库和一个表,我创建了一个用户,对你的问题运行了相同的命令,并为我工作。我的顺序有点不同,我使用
postgres
创建了所有数据库。然后在带有
postgres
pgsql
中,我创建了
myuser
,并如上所述授予了权限。你一定做了比这更重要的事。