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
如何对postgresql中的数据库进行多用户限制_Postgresql - Fatal编程技术网

如何对postgresql中的数据库进行多用户限制

如何对postgresql中的数据库进行多用户限制,postgresql,Postgresql,我在一个公开可见的服务器上创建了一个PostgreSQL数据库 有几个用户,但我希望他们中只有2-3人可以访问系统中的数据库。所有人都应该能够读写数据 那么我如何限制其他用户呢?是否可能?默认情况下,连接数据库的权限授予public角色 所以你需要做的第一件事就是撤销它。要做到这一点,请以超级用户身份登录该数据库(通常是postgres),例如 然后在SQL提示符下运行: revoke connect on database new_database from public; 然后,您需要将权

我在一个公开可见的服务器上创建了一个PostgreSQL数据库

有几个用户,但我希望他们中只有2-3人可以访问系统中的数据库。所有人都应该能够读写数据

那么我如何限制其他用户呢?是否可能?

默认情况下,连接数据库的权限授予
public
角色

所以你需要做的第一件事就是撤销它。要做到这一点,请以超级用户身份登录该数据库(通常是
postgres
),例如

然后在SQL提示符下运行:

revoke connect on database new_database from public;
然后,您需要将权限授予每个用户:

grant connect on database new_database to user_1;
grant connect on database new_database to user_2;
用您创建的数据库的名称替换
new_database

您还可以通过
pg_hba.conf
控制对服务器的访问,但这有点复杂。有关详细信息,请参阅手册:

grant connect on database new_database to user_1;
grant connect on database new_database to user_2;