我在这个主题上找到了几个主题,但是它们中的信息似乎不再与当前版本相关(他们建议在PostgreSQL数据库时使用-D
参数传递数据文件开始了,这似乎不再是这种情况)
这是我到目前为止所遵循的步骤
检查任务管理器中的PostgreSQL进程(“PostgreSQL服务器”的几个实例)
关闭Postgres(开始菜单,PostgreSQL,停止PostgreSQL 9.5)
检查任务管理器是否有Postgres进程(“PostgreSQL服务器”的所有实例都已停止)
将似乎包含所有数据文件的目录复制到我的D:驱动器(即复制到c:\ PostgresSQL \ data \ pg95到d:\ PostgresSQL \ data \ pg95)
完全访问“NETWORK SERVICES”
编辑c:\ PostgreSQL \ data \ pg95 \ postgresql.conf以在“文件位置”部分中包含以下新行
data_directory = 'D:\PostgreSQL\data\pg95'
hba_file = 'C:\PostgreSQL\data\pg95\pg_hba.conf'
ident_file = ‘C:\PostgreSQL\data\pg95\pg_ident.conf'
重启Postgres(开始菜单,PostgreSQL,启动PostgreSQL 9.5)
所有这一切的结果是在检查任务管理器之后没有任何Postgres进程的迹象。当我尝试启动该过程时,没有任何错误迹象。
将PostgreSQL迁移到更大的磁盘的正确步骤是什么?
答案 0 :(得分:0)
好的,我想我已经设法回答了我自己的问题。
首先,我的数据目录'不是
D:\PostgreSQL\data
它的
D:\PostgreSQL\data\pg95.
其次,尽管是Windows安装,但似乎PostgreSQL希望在路径中看到正斜杠,因此postgresql.conf中的条目需要有正斜杠,而不是反斜杠
使用以下命令启动PostgreSQL服务(默认设置)(开始菜单 - > PostgreSQL->启动PostgreSQL 9.5)
C:\WINDOWS\system32\sc.exe start "PostgreSQL 9.5 Server"
因此,为了使用不同的数据文件位置,我将其更改为...
C:\WINDOWS\system32\sc.exe start "PostgreSQL 9.5 Server" -D "D:/PostgreSQL/data/pg95"
然后我能够重启postgreSQL并访问数据库。
向我自己证明我确实在访问数据文件的新副本(D:驱动器),而不是我重命名的原始(C:驱动器)版本
c:\PostgresSQL\data\pg95\base to c:\PostgresSQL\data\pg95\baseXXX
到目前为止似乎有效!