PostgreSQL将所有数据库保留在Linux上的默认目录是什么?
“ PostgreSQL将保留所有数据库的目录 ”(和配置)称为“数据目录”,它对应于PostgreSQL所谓的“ 数据库集群 ” (有点混乱),该数据库集群与分布式计算无关,它只是表示一个组PostgreSQL服务器管理的数据库和相关对象的数量。
数据目录的位置取决于分布。如果从源代码安装,则默认值为/usr/local/pgsql/data:
/usr/local/pgsql/data
用文件系统的术语来说,数据库集群将是一个目录,所有数据都将存储在该目录下。我们称其为数据目录或数据区域。选择存储数据的位置完全取决于您。没有默认值,尽管/ usr / local / pgsql / data或/ var / lib / pgsql / data等位置很受欢迎。(参考)
此外,一个正在运行的PostgreSQL服务器的实例与一个集群相关联。可以通过命令行选项或环境变量(通常在运行用户的范围内)将其数据目录的位置传递给服务器守护程序(“ postmaster ”或“ postgres ” )。通常,您可以看到正在运行的服务器,如下所示:-D``PGDATA``postgres
-D``PGDATA``postgres
[root@server1 ~]# ps auxw | grep postgres | grep -- -D postgres 1535 0.0 0.1 39768 1584 ? S May17 0:23 /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
请注意,有可能(尽管不是很频繁)运行同一PostgreSQL服务器的两个实例(相同的二进制文件,不同的进程),它们服务于不同的“集群”(数据目录)。当然,每个实例都将侦听其自己的TCP / IP端口。