我在 windows7 上的 postgresql 9.2 上更改数据目录时遇到问题:
我正在尝试更改我的数据目录:
如何使用 pgAdmin 更改 postgreSQL 上的数据目录?
这在 pgAdmin 中是不可能的(或任何其他 SQL 客户端,因为您需要停止 Postgres 服务器才能移动数据目录)
要移动目录,请使用以下步骤:
停止Postgres(可以使用控制面板找到正确的服务名称)
net stop <name_of_the_service>
使用
删除 Windows 服务pg_ctl unregister -N <name_of_the_service>
使用重新创建服务(这会指定
postgres
作为服务名称)
pg_ctl register -N postgres -D c:\new\path\to\datadir
启动服务
net start postgres
运行 psql 以验证 Postgres 是否已启动并正在运行
psql -U postgres
验证正在运行的服务器正在使用新的数据目录
show data_directory;
详细使用方法
pg_ctl
可以在说明书中找到:通过打开服务窗口并找到 postgresql-x64-xx(xx 表示版本号 postgresql-x64-11、postgresql-x64-15 等)或使用命令行来停止服务
sc stop postgresql-x64-11
运行以下命令就足够了(无需注销)将“C:\postgre\data”替换为您的新数据位置
sc config postgresql-x64-11 binPath= "\"C:\Program Files\PostgreSQL\11\bin\pg_ctl.exe\" runservice -N \"postgresql-x64-11\" -D \"C:\postgre\data\" -w"
从服务窗口或命令行启动服务
sc start postgresql-x64-11
打开组件服务,停止该服务,右键单击它,然后单击属性。
复制“可执行文件的路径”中的值并编辑“-D”选项后面的路径。
sc config
+ 复制和编辑的字符串
用“\”转义双引号(或告诉 ChatGPT 更正命令)
在管理员模式下打开CMD,输入命令并执行。
启动服务
完成