当前位置: 首页 > news >正文

总结PostgreSQL创建数据库失败的解决办法

作者:朱金灿
来源:clever101的专栏

  系统环境是Windows 11 专业版,PostgreSQL版本是17。在运行sql语句创建数据库时出现错误:

閿欒:  template database \"template1\" has a collation version mismatch
DETAIL:  The template database was created using collation version 1540.3,1540.3, but the operating system provides version 1541

  经过搜索,发现根源在于:在 Windows 11 上遇到PostgreSQL的 template1 数据库 collation 版本不匹配问题时,通常是由于系统更新导致操作系统 collation 版本升级,而 PostgreSQL 的模板数据库未同步更新。
  要解决这个问题,需要更新 template1的collation。具体做法如下:

1.备份数据

#停止PostgreSQL服务,这个的<version>为PostgreSQL的主版本号,比如我的是17
net stop postgresql-x64-<version>

# 备份数据目录(如 C:\Program Files\PostgreSQL\<version>\data)
xcopy "D:\Program Files\PostgreSQL\17\data" "D:\TestData\postgres_data" /E /H /C /I

2.重新初始化数据库集群

# 使用 initdb 重新初始化(确保路径与安装配置一致)
"D:\Program Files\PostgreSQL\17\bin\initdb.exe" -D "D:\Program Files\PostgreSQL\17\data" -U postgres -A password -W --encoding=UTF8 --lc-collate=C --lc-ctype=C

3.重启 PostgreSQL 服务

#启动PostgreSQL服务,这个的<version>为PostgreSQL的主版本号,比如我的是17
net start postgresql-x64-<version>
http://www.dtcms.com/a/98244.html

相关文章:

  • SQL语句及其应用(中)(DQL语句之单表查询)
  • 机器学习的一百个概念(1)单位归一化
  • java项目之基于ssm的乡镇自来水收费系统(源码+文档)
  • 签名计算:对所有传入参数按照字段名的 ASCII 码从小到大排序(字典序)【java版本、JS(Vue)、iOS版本的实现】
  • LocalDateTime序列化总结
  • 接龙数列(最长上升 动规)
  • 第十六章 常用算法
  • 自动化与智能化的认知差异
  • 【即插即用涨点模块-卷积】SPDConv空间深度卷积,助力小目标与低分辨有效涨点【附源码+注释】
  • 28_跨域
  • Android设计模式之模板方法模式
  • 如何在 AI 搜索引擎(GEO)霸屏曝光,快速提升知名度?
  • RabbitMQ高级特性--重试特性
  • 【C++初阶】第12课—list
  • 人工智能入门(1)
  • 字符和字符串的输入方式
  • 安当SLAc操作系统安全登录解决方案:破解设备供应商Windows权限失控困局
  • 全自动数字网络机器人:重塑未来的无形引擎 ——从金融量化到万物互联,为何必须“ALL IN”?
  • MySQL 中的表连接(JOIN)详解
  • 六十天前端强化训练之第三十五天之Jest单元测试大师课:从入门到实战
  • 【C++20】format格式化输出
  • 每日一题 == 674. 最长连续递增序列
  • 26_ajax
  • qgis点从面图层上拾取属性
  • NLP高频面试题(二十四)——RAG相关内容简介
  • 【Java】public class Person{}和public Person{} 和 public Person person究竟都有哪些区别呢。
  • Java---类与对象
  • NLP高频面试题(二十三)对抗训练的发展脉络,原理,演化路径
  • 关于跨域与.NET的处理方案
  • 软考-高级-系统架构设计师【考试备考资料下载】