在 Windows 上更改默认 PGDATA 目录

来自 PostgreSQL Wiki
跳转到导航跳转到搜索

PostgreSQL for Windows 默认将 PGDATA 目录安装到 "C:\Program Files\PostgreSQL\some version\data"。这个简短的 HOWTO 说明了如何将默认 PGDATA 目录更改到其他位置。

步骤 1:停止 PostgreSQL 服务

关闭所有当前连接到数据库的应用程序,然后转到 Windows 服务管理并停止 PostgreSQL 服务。

stop service

开始->设置->控制面板->管理工具->服务

您应该检查任务管理器以查看是否有任何 postgresql.exe 实例仍在运行。如果有,请不要终止它们,而是关闭所有仍然连接到数据库的应用程序。有时像 Web 服务器这样的服务会保持持久连接。在这种情况下,您也应该停止这些服务。

步骤 2:更改注册表值

启动 Windows 注册表编辑器 (regedit.exe) 并导航到:"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\pgsql-some version"。

双击 "ImagePath" 并将 "–D" 选项后的目录更改为您的新位置。如果您的新位置路径包含空格,则应将其用引号括起来。

change the PGDATA path

注册表编辑器

步骤 3:将数据文件夹移动到新位置

将当前 PGDATA 目录移动到您在步骤 2 中指定的目录。请注意,您应该在服务器机器上以管理员身份执行此操作。您还应该检查新目录中的用户权限,以确保您的 PostgreSQL 实例运行的用户名有权在该目录中执行此操作,否则 PostgreSQL 无法启动。

步骤 4:重启 PostgreSQL 服务

在您启动数据库之前,您必须关闭并重新打开 Windows 服务管理窗口。这将刷新您刚刚在注册表中更改的路径,而无需重新启动系统。

关闭并重新打开服务管理窗口后,您应该检查 PostgreSQL 数据库服务的 "可执行文件路径" 信息。 "–D" 选项后的路径现在应该指向您的新目录。

check the new path

服务属性

现在 PGDATA 目录已经重新定位,并且注册表中的服务启动参数已经修改,您可以启动服务。[[分类::管理]]