postgresql – 配置postgres以在开发模式下接受任何用户/密码组
做自由职业者,我继续开始新的项目.
我发现postgresql配置只在开发模式下使用时非常复杂(我完全理解生产要求有很大不同). 我想要实现的是配置我的postgres,以便使用任何用户名/密码/端口/连接模式,它具有数据库的所有权限(因为安全性无论如何).使用Rails,所有配置都在config / database.yml中,我不想更改文件本身的任何内容. 我实现了对每个连接(本地和TCP)的任何password_less身份验证,但这样做: # /etc/postgresql/9.3/main/pg_hba.conf # TYPE DATABASE USER ADDRESS METHOD local all all trust host all all 0.0.0.0/0 trust 和: # /etc/postgresql/9.3/main/postgresql.conf listen_addresses = '*' 从这Post开始. 但是如果用户(例如appname_dev)不存在,我得到: FATAL: role "appname_dev" does not exist 这个Post允许我在一行中创建用户,这是公平的(sudo -u postgres createuser -d -R -P appname_dev),但我真的希望这是即插即用. >我怎样才能实现这一目标? 我理解端口的东西可能很棘手,但恕我直言,其余的不应该! 谢谢您的帮助! 解决方法
您可以通过使用pgbouncer(连接池)和以下设置来实现此目的:
* = host=127.0.0.1 user=postgres auth_type = any 因此,当您使用任何用户和任何密码连接到pgbouncer时,它将作为具有所有权限的postgres用户连接到postgres. 您可能还想将pgbouncer端口更改为5432(默认情况下,它适用于6432端口)并将postgres端口更改为不同的端口,以便您的应用程序将连接到pgbouncer而无需在配置中进行任何修改. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |