

2台のPostgresDBサーバーでpgpool（ストリーミングレプリケーション）構築中に下記記載の現象が起こりました。  
解決方がお分かりの方は教えてほしいです。  
構築は、[こちらの公式ページ](https://www.pgpool.net/docs/latest/ja/html/example-
cluster.html)を参考にして行いました。

# 不具合内容

下記で分かるように用意した2台のサーバーの **pg_role** がいずれも **standby** になっています。  
どちらかが **primary** になっていなければならないはずです。  
これはバグでしょうか。  
何か解決策があれば教えてください。

[code]

    -bash-4.2$ psql -p 9999 -U pgpool postgres -c "show pool_nodes"
     node_id |   hostname    | port | status | pg_status | lb_weight |  role   | pg_role | select_cnt | load_balance_node | replication_delay | replication_state | replication_sync_state | last
    _status_change
    ---------+---------------+------+--------+-----------+-----------+---------+---------+------------+-------------------+-------------------+-------------------+------------------------+-----
    ----------------
     0       | 172.24.194.64 | 5432 | up     | up        | 0.500000  | standby | standby | 0          | false             | 0                 |                   |                        | 2022
    -08-02 22:36:54
     1       | 172.24.194.65 | 5432 | up     | up        | 0.500000  | standby | standby | 0          | true              | 0                 |                   |                        | 2022
    -08-02 22:36:54
    
[/code]

# 試したこと

  * `pcp_promote_node -U pgpool -n 0`でroleをprimaryには昇格させられたが、pg_roleは変わらない。

[code]

    -bash-4.2$ psql -p 9999 -U pgpool postgres -c "show pool_nodes"
     node_id |   hostname    | port | status | pg_status | lb_weight |  role   | pg_role | select_cnt | load_balance_node | replication_delay | re
    plication_state | replication_sync_state | last_status_change  
    ---------+---------------+------+--------+-----------+-----------+---------+---------+------------+-------------------+-------------------+---
    ----------------+------------------------+---------------------
     0       | 172.24.194.64 | 5432 | up     | up        | 0.500000  | primary | standby | 0          | true              | 0                 |   
                    |                        | 2022-08-02 13:43:13
     1       | 172.24.194.65 | 5432 | down   | up        | 0.500000  | standby | standby | 0          | false             | 0                 |   
                    |                        | 2022-08-02 13:43:13
    (2 行)
    
[/code]

  * サービス再起動・サーバーの再起動などを試したが失敗

# その他情報

  * pcp_dog_info

[code]

    -bash-4.2$ pcp_watchdog_info -p 9898 -U pgpool
    Password:
    2 2 YES server1:9999 Linux mbl-db-01 172.24.194.64
    
    172.24.194.64 :9999 Linux mbl-db-01 172.24.194.64 9999 9000 4 LEADER 0 MEMBER
    172.24.194.65 :9999 Linux mbl-db-02 172.24.194.65 9999 9000 7 STANDBY 0 MEMBER
    
[/code]

  * pcp_node_info

[code]

    pcp_node_info --verbose -p 9898 -U pgpool -n 0
    Password:
    Hostname               : 172.24.194.64 
    Port                   : 5432
    Status                 : 2
    Weight                 : 0.500000
    Status Name            : up
    Backend Status Name    : up
    Role                   : standby
    Backend Role           : standby
    Replication Delay      : 0
    Replication State      : none
    Replication Sync State : none
    Last Status Change     : 2022-08-02 22:36:54
    -bash-4.2$ pcp_node_info --verbose -p 9898 -U pgpool -n 1
    Password:
    Hostname               : 172.24.194.65
    Port                   : 5432
    Status                 : 2
    Weight                 : 0.500000
    Status Name            : up
    Backend Status Name    : up
    Role                   : standby
    Backend Role           : standby
    Replication Delay      : 0
    Replication State      : none
    Replication Sync State : none
    Last Status Change     : 2022-08-02 22:36:54
    
[/code]

  * ログでprimaryノードが見つけられていないのがわかる

[code]

    #  sudo less /var/log/pgpool_log/pgpool-2022-08-03_104124.log
    -略-
    2022-08-03 11:45:12.404: sr_check_worker pid 2559: DEBUG:  verify_backend_node_status: there's no primary node
    2022-08-03 11:45:12.404: sr_check_worker pid 2559: DEBUG:  node status[0]: 2
    2022-08-03 11:45:12.404: sr_check_worker pid 2559: DEBUG:  node status[1]: 2
    -略-
    
[/code]

# 環境

  * サーバーOS:CentOS Linux release 7.9.2009 (Core)
  * postgreSQL:psql (PostgreSQL) 14.4
  * pgpool:4.3.2 (tamahomeboshi)


CC BY-SA 4.0
2022-08-03T03:41:01.720
90358
2022-08-03T08:04:55.990
2022-08-03T08:04:55.990
53826
53826
question
sql postgresql database
pgpool構築でprimaryサーバーが消えて、DB操作ができません。