是否可以通过指定数据库而不是表来限制用户对postgresql数据库的访问?
我理解这句话:
GRANT ALL ON tableName TO joeuser使此用户能够访问此表并执行任何他们想要的操作。但是,我希望允许用户访问包含tableName的数据库databaseName (以及databaseName中的所有表),但不允许访问我的postgresql服务器上的所有数据库。
发布于 2011-12-06 08:14:00
不是,不是。授予数据库权限:
GRANT ALL ON DATABASE databaseName TO joeuser;不会自动授予数据库中对象的权限;授予数据库中当前每个对象的权限也不会自动授予将来可能创建的任何对象的权限。
发布于 2011-12-06 11:04:02
还不清楚你到底想要什么。您可能正在尝试查找一条SQL语句,该语句现在和将来处理您的所有特权。SQL特权通常不会以这种方式工作。
根据版本的不同,您可以通过两种方式控制与数据库的连接。
通过编辑pg_hba.conf来
您可以对表、视图、序列和函数执行change the default privileges。(版本9.0+)
ALTER DEFAULT PRIVILEGES是对SQL的PostgreSQL扩展。
https://stackoverflow.com/questions/8393571
复制相似问题