PgAdmin报错‘unrecognized configuration parameter "lc_collate"’如何解决?
解决PostgreSQL 16 + pgAdmin4创建数据库报错问题
1. 检查PostgreSQL服务运行权限
- 打开服务管理器(Windows:
services.msc,Linux:systemctl status postgresql-16),确认PostgreSQL服务的运行账户拥有数据目录的读写权限 - 数据目录默认路径:
- Windows:
C:\Program Files\PostgreSQL\16\data - Linux:
/var/lib/postgresql/16/main
- Windows:
- 权限修复操作:
- Windows:右键数据目录→属性→安全,给服务运行账户添加「完全控制」权限
- Linux:执行命令
chown -R postgres:postgres /var/lib/postgresql/16/main
2. 排查pgAdmin4连接配置
- 打开pgAdmin4,右键对应服务器连接→「属性」
- 确认「主机名/地址」为
localhost或正确IP,「端口」匹配PostgreSQL默认的5432(若修改过需对应) - 切换到「SSL」选项卡,将SSL模式改为「允许」或「禁用」,保存后重新尝试创建数据库
3. 查看PostgreSQL日志定位具体错误
- 日志文件路径:
- Windows:
C:\Program Files\PostgreSQL\16\data\pg_log - Linux:
/var/log/postgresql/postgresql-16-main.log
- Windows:
- 找到创建数据库时的报错条目,针对常见问题处理:
- 若为模板库(template1/template0)损坏,执行SQL重建:
UPDATE pg_database SET datallowconn = TRUE WHERE datname = 'template0'; \c template0 DROP DATABASE template1; CREATE DATABASE template1 WITH TEMPLATE = template0 ENCODING = 'UTF8'; UPDATE pg_database SET datallowconn = FALSE WHERE datname = 'template0';
- 若为模板库(template1/template0)损坏,执行SQL重建:
4. 跳过pgAdmin4验证核心功能
- 使用
psql命令行直接创建数据库:# Windows(打开PostgreSQL专属命令提示符) createdb test_db # Linux sudo -u postgres createdb test_db - 若命令行创建成功但pgAdmin报错,说明问题出在pgAdmin4:
- 清除缓存:Windows删除
%APPDATA%\pgAdmin目录,Linux删除~/.pgadmin目录,重启pgAdmin4 - 删除旧服务器连接,重新添加新连接配置
- 清除缓存:Windows删除
5. 检查磁盘空间
- 确认PostgreSQL数据目录所在磁盘有足够剩余空间,磁盘满会导致创建时报错但数据库仍能生成的异常情况
内容的提问来源于stack exchange,提问作者Divya Rathod
相关产品推荐
相关产品推荐

