2016-03-04 74 views
1

我正在使用Windows机器上的PostgreSQL烧瓶。我想将默认数据库位置更改为项目数据文件夹,在我的项目目录中,仅用于此项目。我更喜欢我的所有项目文件在一个目录中。在mongoDb中我写了一个批处理文件,用一行代码如何更改postgresql中的默认数据库位置。

C:\mongodb\bin\mongod.exe --dbpath C:\projects\project XXX\project-data\db --journal 

我该怎么用PostgreSQL做到这一点?

回答

0

更改您的postgresql.conf

http://www.postgresql.org/docs/current/static/runtime-config-file-locations.html

data_directory(串) 指定用于数据存储的目录。该参数只能在服务器启动时设置。

您还可以创建新的表空间

http://www.postgresql.org/docs/current/static/manage-ag-tablespaces.html

CREATE TABLESPACE fastspace LOCATION '/ssd1/postgresql/data'; 

,并创建新表有

SET default_tablespace = fastspace ; 
CREATE TABLE foo(i int); 
+1

还有[新数据库集群](http://www.postgresql.org/docs/9.5/static/creating-cluster.html)将所有文件保留在一起。 – Abelisto

+0

@Abelisto是的,这听起来更好。 –

+0

frm-doc 尽管位于PostgreSQL主数据目录之外,但表空间 是数据库集群的组成部分,不能将其视为数据文件的一小部分集合。它们依赖主数据目录中包含的元数据 ,因此无法附加到不同的数据库集群或单独备份。同样,如果丢失表空间 (文件删除,磁盘故障等),数据库集群可能变得不可读 或无法启动。将表空间放置在临时文件系统(如RAM 磁盘)上可能会影响整个群集的可靠性。 – ISONecroMAn

0

您需要在服务器配置文件中添加条目server configuration

data_directory(字符串)

指定用于数据存储的目录。该参数只能在服务器启动时设置。