Где PostgreSQL хранит базу данных?

Где хранятся файлы для базы данных PostgreSQL?

Чтобы узнать, где находится каталог данных, используйте этот запрос.

 show data_directory; 

Чтобы просмотреть все параметры времени выполнения, используйте

 show all; 

Вы можете создавать табличные пространства для хранения объектов базы данных в других частях файловой системы. Чтобы увидеть табличные пространства, которые могут отсутствовать в этом каталоге данных, используйте этот запрос.

 SELECT * FROM pg_tablespace; 

В Windows7 все базы данных относятся к числу в файле с именем pg_database C:\Program Files (x86)\PostgreSQL\8.2\data\global . Затем вы должны искать имя папки по этому номеру в папке C:\Program Files (x86)\PostgreSQL\8.2\data\base . Это содержание базы данных.

Откройте pgAdmin и перейдите в «Свойства» для конкретной базы данных. Найти OID, а затем открыть каталог

 /data/base/ 

Должны быть файлы DB.

Под моей установкой Linux он находится здесь: /var/lib/postgresql/8.x/

Вы можете изменить его с помощью initdb -D "c:/mydb/"

Как показано в разделе « Расположение базы данных PostgreSQL по умолчанию в Linux », под Linux вы можете узнать, используя следующую команду:

 ps aux | grep postgres | grep -- -D 

Расположение конкретных таблиц / индексов можно настроить с помощью TABLESPACE:

 CREATE TABLESPACE dbspace LOCATION '/data/dbs'; CREATE TABLE something (......) TABLESPACE dbspace; CREATE TABLE otherthing (......) TABLESPACE dbspace; 

На Mac: /Library/PostgreSQL/9.0/data/base

Каталог не может быть введен, но вы можете посмотреть содержимое через: sudo du -hc data

Postgres хранит данные в файлах в своем каталоге данных. Выполните следующие действия, чтобы перейти к базе данных и ее файлам:

База данных, соответствующая файлу таблицы postgresql, является каталогом. Местоположение всего каталога данных можно получить, запустив SHOW data_directory . в операционной системе UNIX (например: Mac) /Library/PostgreSQL/9.4/data Перейдите в базовую папку в каталоге данных, в котором есть все папки базы данных: /Library/PostgreSQL/9.4/data/base

Найдите имя папки базы данных, запустив (дает целое число. Это имя папки базы данных):

 SELECT oid from pg_database WHERE datname = ; 

Найдите имя файла таблицы, запустив (дает целое число. Это имя файла):

 SELECT relname, relfilenode FROM pg_class WHERE relname = ; 

Это двоичный файл. Данные файла, такие как размер и время создания, могут быть получены как обычно. Для получения дополнительной информации прочитайте эту SO-нить

Готов поспорить, что вы задаете этот вопрос, потому что вы попытались pg_ctl start и получили следующую ошибку:

pg_ctl: не указан каталог базы данных и переменная среды PGDATA не установлена

Другими словами, вы ищете каталог, который будет помещен после -D в команду pg_ctl start .

В этом случае каталог, который вы ищете, содержит эти файлы.

 PG_VERSION pg_dynshmem pg_multixact pg_snapshots pg_tblspc postgresql.conf base pg_hba.conf pg_notify pg_stat pg_twophase postmaster.opts global pg_ident.conf pg_replslot pg_stat_tmp pg_xlog postmaster.pid pg_clog pg_logical pg_serial pg_subtrans postgresql.auto.conf server.log 

Вы можете найти его, указав любой из файлов и каталогов выше, используя поиск, предоставляемый вашей ОС.

Например, в моем случае (установка HomeBrew в Mac OS X ) эти файлы находятся в каталоге /usr/local/var/postgres . Чтобы запустить сервер, я печатаю:

 pg_ctl -D /usr/local/var/postgres -w start 

… и это работает.

В Windows каталог PGDATA, который описываются документами PostgresSQL, находится где-то вроде C:\Program Files\PostgreSQL\8.1\data . Данные для конкретной базы данных находятся под (например) C:\Program Files\PostgreSQL\8.1\data\base\100929 , где, я думаю, 100929 – это номер базы данных.

Все уже ответили, но только для последних обновлений. Если вы хотите знать, где находятся все файлы конфигурации, запустите эту команду в оболочке

 SELECT name, setting FROM pg_settings WHERE category = 'File Locations'; 
  • postgresql - заменить все экземпляры строки в текстовом поле
  • Как указать пароль для psql неинтерактивно?
  • Не удается подключиться к локальному PostgreSQL
  • Нулевые столбцы занимают дополнительное пространство в PostgreSQL?
  • Разрешение отклонено для отношения
  • Создание серии дат - использование типа даты в качестве входных данных
  • Генерация последовательности в последовательности
  • Перенос базы данных из Postgres в MySQL
  • Установка жгута PG на OS X - невозможность создания собственного расширения
  • Не удалось подключить PostgreSQL к удаленной базе данных с помощью pgAdmin
  • gem install pg --with-pg-config работает, пакет не работает
  • Давайте будем гением компьютера.