2

我按照这些说明将 Postgres 数据目录从 C:\Users\username\Documents\dir\postgres96_data 移动到 C:\Users\username\Documents\postgres96_data。

现在 Postgres 服务将无法启动。尝试手动启动它会产生以下消息(免费翻译自 pt-br):

“本地计算机上的 postgres-x64-9.6 服务启动然后停止。如果某些服务没有被其他服务或程序使用,它们会自动停止。”

我尝试(成功)使用命令在 cmd.exe 中启动数据库

"C:\Program Files\PostgreSQL\9.6\bin\pg_ctl.exe" start -D "C:\Users\username\Documents\postgres96_data" -w

日志是:

2017-02-20 07:33:26 BRT LOG:  database system was interrupted; last known up at 2017-02-18 09:52:00 BRT
2017-02-20 07:33:27 BRT FATAL:  the database system is starting up
... 
2017-02-20 07:35:10 BRT FATAL:  the database system is starting up
2017-02-20 07:36:19 BRT LOG:  database system was not properly shut down; automatic recovery in progress 
2017-02-20 07:36:19 BRT LOG: invalid record length at 6/438EBB88: wanted 24, got 0 
2017-02-20 07:36:19 BRT LOG:  redo is not required 
2017-02-20 07:36:19 BRT LOG: MultiXact member wraparound protections are now enabled 
2017-02-20 07:36:19 BRT LOG:  sistema de banco de dados está pronto para aceitar conexões [database system is ready to accept conections, free translation] 
2017-02-20 07:36:21 BRT LOG:  autovacuum launcher started

先前的研究

关联

关联

关联

关联

4

2 回答 2

4

您需要更改服务定义。该服务仍在使用旧的数据目录。

要更改服务,请将其删除并重新创建:

pg_ctl unregister -N postgres-x64-9.6

然后使用新的数据目录重新创建它:

pg_ctl register -N postgres-x64-9.6 -D "C:\Users\username\Documents\postgres96_data"

这假设您使用的是使用内置“网络帐户”运行服务的默认安装。如果不是这种情况,您需要在注册服务时提供必要的用户名和密码以及-U-P参数。

于 2017-02-20T11:10:29.847 回答
0

向为我工作的登录用户授予对数据目录的完全权限。

Data_Directory - 属性 - 安全 - 添加用户 - 授予完全权限

于 2021-06-27T15:41:48.277 回答