如何修复 Quay psycopg2.ProgrammingError: invalid dsn: invalid connection option 'keepalivescount'

问题

启动 quay 容器仓库时,你看到以下错误消息:

error_trace.txt
Traceback (most recent call last):
  File "/app/lib/python3.9/site-packages/peewee.py", line 2993, in connect
    self._state.set_connection(self._connect())
  File "/app/lib/python3.9/site-packages/peewee.py", line 3688, in _connect
    conn = psycopg2.connect(database=self.database, **self.connect_params)
  File "/app/lib/python3.9/site-packages/psycopg2/__init__.py", line 121, in connect
    dsn = _ext.make_dsn(dsn, **kwargs)
  File "/app/lib/python3.9/site-packages/psycopg2/extensions.py", line 167, in make_dsn
    parse_dsn(dsn)
psycopg2.ProgrammingError: invalid dsn: invalid connection option "keepalivescount"

解决方案

在你的配置文件(config.yaml)中,你会找到由配置生成器自动生成的部分。

quay_db_connection_args_bad.yaml
DB_CONNECTION_ARGS:
    keepalives: 0
    keepalivescount: 0
    keepalivesidle: 0
    keepalivesinterval: 0
    sslcompression: 0
    tcpusertimeout: 0

此部分导致错误的原因我尚不清楚。

由于通常这些设置不是必需的,将其替换为

quay_db_connection_args_fixed.yaml
DB_CONNECTION_ARGS: {}

并重启 quay


Check out similar posts by category: Docker