创建Postgres副本的只读用户

时间:2019-06-19 20:57:36

标签: postgresql database-replication

我最近实现了流复制,并且需要为副本创建一个“报告用户”。该用户将用于通过ODBC访问数据库以生成报告。

在从属服务器(副本数据库)上,似乎无法创建新用户。我还需要更改从属服务器上“ postgres”用户的密码。这是我尝试过的以及出现的错误:

display_all_results
def display_all_results(url):
    #results is already a dictionary, just return it
    results = get_results(url)
    if results:
        return results

如何为副本创建一个新的只读用户? 如何更改副本上用户“ postgres”的密码?

注意:我确实意识到,对于副本,您可以(或应该)仅具有只读访问权限。

谢谢。

1 个答案:

答案 0 :(得分:0)

您已经发现,副本无论如何都是只读的。所以您有几种选择。

  1. 只需使用主帐户中的任何帐户即可。他们将对副本具有相同的权限(但不能更改数据)。
  2. 创建一个特殊用户,该用户仅在主数据库上具有“选择”权限,并且该用户会直达副本。

关于在主数据库和副本数据库上使用不同的密码,您不能这样做。如果这对您来说是硬性要求,则必须考虑“逻辑复制”。