您可以编辑该文件 /etc/postgresql/9.5/main/pg_hba.conf 并把这个内容:
/etc/postgresql/9.5/main/pg_hba.conf
# Database administrative login by Unix domain socket local all postgres peer # TYPE DATABASE USER ADDRESS METHOD # IPv4 local connections: host all YOUR_USER [USER_IP]/32 md5
它将允许通过此特定LAN / WAN IP为此特定用户提供密码连接。
只有这个用户和 postgres 将被允许。
postgres
随着时间的推移,这个数据库将成为另一个postgresql实例的流媒体目的地。
当此数据库成为复制主数据库时,您可以将以下内容添加到同一文件中:
# Allow replication connections from localhost, by a user with the # replication privilege. host replication REPL_USER [REPL_HOST]/32 md5
有关如何在此处设置复制的详细信息: https://www.gab.lc/articles/replication_postgresql
更改后,您需要重新加载PostgreSQL:
service postgresql reload
您可以删除不希望允许的角色。
的 更新: 强>
如果您希望通过查询撤消权限,则可以运行:
-- Grant privileges to whitelisted user: GRANT ALL PRIVILEGES ON [database name] TO [good_user]; -- Revoke privileges for other users: REVOKE ALL PRIVILEGES ON [database name] FROM [bad_user];