Я настраиваю потоковую репликацию в 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 которые работают только при запуске сервера, но не для репликационных подключений.