我在 Windows Server 2022 Standard 上运行 Postgres 14。在执行数据库操作(例如插入)时,我的服务器重新启动,现在 Postgres 无法启动。我查看了配置文件,其中最后几行如下:
2023-04-23 01:43:36.913 PDT [123528] LOG: could not receive data from client: An existing connection was forcibly closed by the remote host.
2023-04-23 01:52:04.222 PDT [105764] LOG: could not receive data from client: An existing connection was forcibly closed by the remote host.
2023-04-23 01:52:04.223 PDT [118464] LOG: could not receive data from client: An existing connection was forcibly closed by the remote host.
2023-04-23 01:54:38.568 PDT [121492] LOG: could not receive data from client: An existing connection was forcibly closed by the remote host.
2023-04-23 01:54:38.569 PDT [123696] LOG: could not receive data from client: An existing connection was forcibly closed by the remote host.
2023-04-23 01:59:51.982 PDT [124252] LOG: could not receive data from client: An existing connection was forcibly closed by the remote host.
2023-04-23 01:59:51.983 PDT [122440] LOG: could not receive data from client: An existing connection was forcibly closed by the remote host.
2023-04-23 01:59:51.983 PDT [116252] LOG: could not receive data from client: An existing connection was forcibly closed by the remote host.
2023-04-23 02:00:52.468 PDT [4988] LOG: received fast shutdown request
2023-04-23 02:00:52.572 PDT [4988] LOG: aborting any active transactions
2023-04-23 02:00:52.611 PDT [6172] FATAL: terminating connection due to administrator command
2023-04-23 02:00:52.683 PDT [5984] ERROR: canceling statement due to user request
2023-04-23 02:00:52.716 PDT [4988] LOG: background worker "logical replication launcher" (PID 5984) exited with exit code 1
2023-04-23 02:00:52.903 PDT [5916] LOG: shutting down
2023-04-23 02:00:55.161 PDT [4988] LOG: database system is shut down
此外,根据其他人的建议,我检查了事件查看器并看到:
2023-04-23 03:33:39.610 PDT [5804] FATAL: configuration file "C:/Program Files/PostgreSQL/14/data/postgresql.conf" contains errors
由于我使用 psycopg 来处理数据库,因此出现以下错误:
File "C:\Python310\lib\site-packages\psycopg2\__init__.py", line 122, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused (0x0000274D/10061)
Is the server running on that host and accepting TCP/IP connections?
connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused (0x0000274D/10061)
Is the server running on that host and accepting TCP/IP connections?
由于大小限制,我删除了所有评论:
listen_addresses = '*' # what IP address(es) to listen on;
port = 5432 # (change requires restart)
max_connections = 100 # (change requires restart)
shared_buffers = 4096MB # min 128kB
work_mem = 2000MB # min 64kB
maintenance_work_mem = 3000MB # min 1MB
dynamic_shared_memory_type = windows # the default is the first option
max_wal_size = 1GB
min_wal_size = 80MB
effective_cache_size = 4GB
log_destination = 'stderr'
logging_collector = on # Enable capturing of stderr and csvlog
log_timezone = 'America/Los_Angeles'
datestyle = 'iso, mdy'
timezone = 'America/Los_Angeles'
lc_messages = 'English_United States.1252' # locale for system error message
# strings
lc_monetary = 'English_United States.1252' # locale for monetary formatting
lc_numeric = 'English_United States.1252' # locale for number formatting
lc_time = 'English_United States.1252' # locale for time formatting
default_text_search_config = 'pg_catalog.english'
我没有最近的数据库备份。我该如何解决这个问题?
答案1
感谢@Nikita Kipriyanov,通过从另一个安装中替换新的配置文件解决了该问题。