Расположение базы данных PostgreSQL по умолчанию в Linux
каков каталог по умолчанию, в котором PostgreSQL будет хранить все базы данных в Linux?
5 ответов
в "каталог, где postgresql будет хранить все базы данных "(и конфигурация) называется " каталог данных "и соответствует тому, что PostgreSQL называет (немного смущенно)"кластер базы данных", который не связан с распределенными вычислениями, это просто группа баз данных и связанных объектов, управляемых сервером PostgreSQL.
расположение каталога данных зависит от распределения. Если вы устанавливаете из источника, по умолчанию /usr/local/pgsql/data
:
в терминах файловой системы база данных кластер будет представлять собой единый каталог под которой будут храниться все данные. Мы называем это каталогом данных или область данных. Это полностью зависит от вас где вы решите хранить свои данные. По умолчанию нет, хотя такие места, как / usr / local/pgsql / data или /var/lib/pgsql / data пользуются популярностью. (ref)
кроме того, связан экземпляр запущенного сервера PostgreSQL в один кластер; расположение его каталога данных может быть передано демону сервера ("почт" или " 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.
/var/lib/postgresql/[version]/data/
по крайней мере в Gentoo Linux и Ubuntu 14.04 по умолчанию.
вы можете найти postgresql.conf
и посмотрите на param data_directory
. Если он прокомментирован, то каталог базы данных совпадает с этим каталогом файла конфигурации.
по умолчанию в Debian 8.1 и PostgreSQL 9.4 после установки с помощью менеджера пакетов apt-get
ps auxw | grep postgres | grep -- -D
postgres 17340 0.0 0.5 226700 21756 ? S 09:50 0:00 /usr/lib/postgresql/9.4/bin/postgres -D /var/lib/postgresql/9.4/main -c config_file=/etc/postgresql/9.4/main/postgresql.conf
видимо /var/lib/postgresql/9.4/main
.
подключитесь к базе данных и выполните команду:
SHOW data_directory;
дополнительная информация:
https://www.postgresql.org/docs/9.4/static/sql-show.html https://www.postgresql.org/docs/9.4/static/runtime-config-file-locations.html
На Centos 6.5 / PostgreSQL 9.3:
изменить значение "PGDATA=/var/lib/pgsql/data"
в любое место, которое вы хотите в исходном файле сценария /etc/init.d/postgresql
.
не забудьте chmod 700
и chown postgres:postgres
на новое место и вы босс.