Questions tagged «database-permissions»

5
PostgreSQL:使用多个数据库,每个数据库有一个模式,还是一个数据库有多个模式,更好?
在对我的问题之一发表评论之后,我在考虑使用具有X模式的数据库是否更好,反之亦然。 我的情况:我正在开发一个Web应用程序,当人们注册时,我会创建(实际上)一个数据库(不,它不是社交网络:每个人都必须有权访问自己的数据,而从不查看其他用户的数据) 。 这就是我以前的应用程序版本(仍在MySQL上运行)所使用的方式:通过Plesk API,对于每次注册,我都这样做: 创建具有有限权限的数据库用户; 创建一个只能由先前创建的用户和超级用户访问的数据库(用于维护) 填充数据库 现在,我需要对PostgreSQL做同样的事情(该项目正在日趋成熟,而MySQL ...不能满足所有需求)。 我需要使所有数据库/方案备份独立:pg_dump可以在两种方式下完美运行,并且对于可以配置为仅访问一个模式或一个数据库的用户而言,pg_dump可以完美地工作。 因此,假设您比我更有经验的PostgreSQL用户,那么您认为什么是对我而言最好的解决方案,为什么? 使用$ x数据库而不是$ x模式会有性能差异吗?哪种解决方案将来会更好维护(可靠性)? 我所有的数据库/方案都将始终具有相同的结构! 对于备份问题(使用pg_dump),最好使用一个数据库和多个模式,一次转储所有模式:恢复将非常简单,将主转储加载到开发计算机中,然后仅转储和还原所需的模式:是另外一个步骤,但是转储所有模式似乎比逐个转储它们要快。 2012年更新 好吧,在过去的两年中,应用程序的结构和设计发生了很大的变化。我仍在使用该one db with many schemas方法,但是仍然为我的应用程序的每个版本提供一个数据库: Db myapp_01 \_ my_customer_foo_schema \_ my_customer_bar_schema Db myapp_02 \_ my_customer_foo_schema \_ my_customer_bar_schema 对于备份,我会定期转储每个数据库,然后将备份移至开发服务器上。 我也在使用PITR / WAL备份,但是,正如我之前说过的那样,我不太可能必须立即还原所有数据库 ...因此它可能会在今年被淘汰(在我看来,这不是最好的方法) )。 从现在开始,即使应用程序结构已完全更改,“单db-多次模式”方法对我来说也非常有效: 我几乎忘记了:我所有的数据库/方案都将始终具有相同的结构! ...现在,每个模式都有其自己的结构,该结构可动态响应用户数据流。

3
SCHEMA上有什么免费使用的功能?
我正在尝试首次创建Postgres数据库,因此这可能是一个愚蠢的问题。我为db角色分配了基本的只读权限,该角色必须从我的php脚本访问数据库,并且我有一个好奇心:如果执行 GRANT some_or_all_privileges ON ALL TABLES IN SCHEMA schema TO role; 有没有必要执行 GRANT USAGE ON SCHEMA schema TO role; ? 从文档: 用法:对于模式,允许访问指定模式中包含的对象(假设还满足对象自己的特权要求)。本质上,这允许被授予者在架构内“查找”对象。 我认为,如果我可以选择或操作架构中包含的任何数据,则可以访问架构本身的任何对象。我错了吗?如果没有,它的作用是什么GRANT USAGE ON SCHEMA?该文档对“假设还满足对象自己的特权要求”到底意味着什么?

13
主机没有pg_hba.conf条目
尝试使用DBI进行连接时出现以下错误 DBI connect('数据库= chaosLRdb;主机= 192.168.0.1;端口= 5433','postgres',...) 失败:致命:主机“ 192.168.0.1”,用户“ postgres”,数据库“ chaosLRdb”,SSL关闭的主机没有pg_hba.conf条目 这是我的pg_hba.conf文件: # "local" is for Unix domain socket connections only local all all md5 # IPv4 local connections: host all all 127.0.0.1/32 md5 # IPv6 local connections: host all all ::1/128 md5 host all postgres 127.0.0.1/32 trust host all postgres …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.