重置系统后,Postgresql不用重装

系统重置后原来的程序目录还在,但是有的用不了了,尤其是原来作为系统服务的程序,我原来安装过postgresql,数据data也都在,但是从系统服务里面看不到了,直接运行启动不了,然后就按照下面的办法重新注册了一下服务就好了。

执行前请注意 :此方法要求你的数据目录(data文件夹)是完整且已被初始化 的。如果data目录为空,服务会注册成功但无法启动。通常正常安装过的PostgreSQL,其data目录都是就绪状态。

  1. 管理员身份 打开命令提示符(在搜索框输入cmd,然后右键选择"以管理员身份运行"),这一步很关键,否则注册可能失败。

  2. 同样,先进入bin目录:

bash 复制代码
cd /d "C:\Program Files\PostgreSQL\版本号\bin"
  1. 执行注册命令。这是一个完整的示例,你可以根据需要调整
bash 复制代码
pg_ctl register -N PostgreSQL -D "C:\Program Files\PostgreSQL\版本号\data" -S auto -o "-p 5432"

命令参数说明:

  • -N PostgreSQL:指定服务的名称,你可以自定义,比如 -N MyPostgresDB

  • -D "你的data路径":指定数据目录的位置。

  • -S auto:设置服务为"自动"启动(开机自启)。如果希望手动启动,可以改为 -S demand

  • -o "-p 5432":指定服务启动时的端口号,默认为5432。如果你的端口不是这个,请修改。

注册成功后,系统会提示操作完成。

现在,你就可以像操作其他Windows服务一样来管理它了:

bash 复制代码
# 启动服务
net start PostgreSQL

# 停止服务
net stop PostgreSQL

你也可以在任务管理器的"服务"选项卡中找到你刚刚注册的服务名(如PostgreSQL),并进行启动、停止或设置为开机自启。

相关推荐
丿小王同学4 小时前
快速集群安装mysql
数据库·mysql
java1234_小锋4 小时前
Redis 支持哪些数据类型?请分别说明它们的使用场景
java·数据库·redis
傅科摆 _ py4 小时前
企业 / 校园 合法远程访问工具详解
服务器·网络·数据库
北风toto5 小时前
通过Entity 创建数据库中的表,目前只支持mysql,A.CTable使用mybatis/mybatis-plus自动创建表
数据库·mysql·mybatis
一拳一个娘娘腔5 小时前
【SRC漏洞挖掘系列】第03期:SQL注入——从“拖库”到“掌舵”的终极奥义
数据库·sql·安全
半夜修仙5 小时前
Redis中String数据类型的常见命令
数据库·redis·缓存
南境十里·墨染春水6 小时前
讲讲libevent底层机制
数据库
LB21126 小时前
消灭并发重复调用:基于 Agent 调用 LLM 的分布式 Single-Flight 实战
java·开发语言·redis·分布式·agent
JAVA社区6 小时前
Java进阶全套教程(七)—— Redis超详细实战详解
java·linux·开发语言·redis·面试·职场和发展