Назад | Перейти на главную страницу

Резервный сервер репликации Postgres с аутентификацией сертификата и секретным ключом, зашифрованным парольной фразой

Я настраиваю потоковую репликацию в Postgres 11.5, где SSL-сертификаты, зашифрованные с помощью парольной фразы, используются для аутентификации в режиме ожидания (auth type = cert). Вот моя основная конфигурация сервера:

hostssl replication replication 11.111.11.111/32 cert

Вот мой резервный файл recovery.conf:

standby_mode = 'on'
    primary_conninfo = 'user=replication host=22.222.22.222 port=5432 sslmode=require sslcompression=0 sslcert=''/postgre_server_ssl/client.crt'' sslkey=''/postgre_server_ssl/client.key'' sslrootcert=''/postgre_server_ssl/root.crt'' '

и резервный postgres.conf:

hot_standby = on
    hot_standby_feedback = on
    ssl_passphrase_command = 'echo mypassword'

Резервный закрытый ключ, который используется для подключения к первичному (/postgre_server_ssl/client.key), зашифрован парольной фразой.

Резервный сервер запускается нормально, но не могу подключиться к основному, репликация не работает, и, наконец, я получаю сообщение, что я не могу расшифровать данный закрытый ключ, вот мой журнал:

Enter PEM pass phrase:< 2019-10-10 10:11:28.706 UTC   >LOG:  received fast shutdown request
    < 2019-10-10 10:11:28.709 UTC   >LOG:  aborting any active transactions
    < 2019-10-10 10:11:28.709 UTC   >FATAL:  could not connect to the primary server: could not load private key file "/postgre_server_ssl/client.key": problems getting password

Есть ли способ указать парольную фразу закрытого ключа SSL для резервного подключения к основному? Может быть, обратный вызов как ssl_passphrase_command которые работают только при запуске сервера, но не для репликационных подключений.