Расположение базы данных postgresql на OS X? - PullRequest
32 голосов
/ 19 февраля 2011

Я уверен, что на этот вопрос ответили, но я не могу найти ответ.

Я установил postgresql, используя Homebrew (brew install postgresql), который установил в / usr / local / Cellar / postgresql. Послесловие в соответствии с инструкциями я сделал это:

If this is your first install, create a database with:
    initdb /usr/local/var/postgres

Насколько я понимаю, initdb создает новый кластер баз данных. Итак, когда я сделал выше, это "postgres" имя базы данных и самой базы данных или просто все необходимые биты, которые понадобятся всем базам данных postgresql?

Где в действительности живет база данных? Я новичок в postgresql и ищу файл или двоичный файл, который является базой данных. Итак, где находится база данных, а когда я создаю новую, куда она идет?

Ответы [ 4 ]

43 голосов
/ 19 февраля 2011

initdb просто устанавливает структуру каталогов и такую, которая необходима для создания новых баз данных.Чтобы создать базу данных, используйте createdb:

SYNOPSIS
createb [option ...] [dbname] [description]

ОПИСАНИЕ
createb создает новую базу данных PostgreSQL.

Обычно пользователь базы данных, который выполняет эту команду, становится владельцем новой базы данных.Однако другой владелец может быть указан с помощью опции -O, если исполняющий пользователь имеет соответствующие привилегии.

createb является оболочкой для команды SQL CREATE DATABASE [create_database (7)].Нет эффективной разницы между созданием баз данных с помощью этой утилиты и с помощью других методов доступа к серверу.

initdb похоже на создание новой файловой системы на жестком диске: сначала вы создаетефайловую систему (initdb), затем вы создаете файлы и каталоги (createdb).

Фактические файлы базы данных будут в /usr/local/var/postgres после создания базы данных.Итак, просто создайте базу данных, а затем посмотрите, что нового или изменено в /usr/local/var/postgres.Не существует ни одного файла "dbname.db" или чего-либо подобного, каждая база данных представляет собой набор файлов с именами, которые имеют значение только для сервера базы данных.

2 голосов
/ 19 мая 2015

Система: MAC OS X 10.9.5 Теперь (версия 9.4) это под каталогом, называемым /Library/PostgreSQL Если вы идете туда, откройте папку с именем вер. вашей PG и затем перейдите в папку data, вы найдете свою БД. Это на самом деле набор из множества, многих, разных, как двоичных, так и текстовых файлов (большинство из них названы длинными числами, такими как "92891" или около того ... Обратите внимание, что для открытия папки data необходимо открыть ее свойства (щелкнуть правой кнопкой мыши и выбрать «Получить информацию») и разрешить чтение этой папки. Я бы не советовал вам открывать разрешения RW, если вы не знакомы с этим, так как любое малейшее изменение может повлиять на всю вашу БД, что было бы печально ..

Удачи!

1 голос
/ 01 августа 2018

Текущее поведение различных установщиков задокументировано на https://wiki.postgresql.org/wiki/Installers/Mac_OS_X#Known_Installers. Homebrew, как кто-то прокомментировал выше, не помещает данные под /Library.

1 голос
/ 28 сентября 2016

В моем случае (не доморощенный) местоположение данных находится в этом файле /Library/LaunchDaemons/com.edb.launchd.postgresql-9.3.plist

   <array>
            <string>/Users/me/bin/postgres/bin/postmaster</string>
            <string>-D/Users/me/data/postgres</string>
   </array>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...