2010-06-09 22 views

Odpowiedz

98

W „katalog gdzie PostgreSQL zachowa wszystkie bazy danych” (i konfiguracji) nazywany jest „katalog danych” i odpowiada temu, co nazywa PostgreSQL (trochę myląco) do „database cluster”, który nie jest związany z rozproszonego, oznacza to po prostu grupę baz danych i powiązanych obiektów zarządzanych przez serwer PostgreSQL.

Lokalizacja katalogu danych zależy od dystrybucji. Jeśli zainstalujesz od źródła, domyślnie jest /usr/local/pgsql/data:

Pod względem systemu plików, klaster bazy danych będzie pojedynczy katalog pod którym będą przechowywane wszystkie dane. Nazywamy to katalogiem danych lub obszarem danych . To całkowicie zależy od Ciebie, gdzie zdecydujesz się przechowywać swoje dane. Nie ma wartości domyślnej, chociaż są dostępne popularne lokalizacje, takie jak /usr/local/pgsql/data lub /var/lib/pgsql/data. (ref)

Ponadto wystąpienie uruchomiony PostgreSQL wiąże się do jednego klastra; lokalizacja jego katalogu danych może zostać przekazana do demona serwera ("postmaster" lub "postgres") w opcji wiersza poleceń -D lub przez zmienną środowiskową PGDATA (zwykle w zakresie bieżącego użytkownika, zwykle postgres). Zazwyczaj można zobaczyć uruchomiony serwer z mniej więcej tak:

[[email protected] ~]# 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 

pamiętać, że jest to możliwe, choć niezbyt często, aby uruchomić dwie instancje tego samego serwera PostgreSQL (te same pliki binarne, różne procesy), które służą innym " klastry "(katalogi danych). Oczywiście każde wystąpienie będzie nasłuchiwało na własnym porcie TCP/IP.

42
/var/lib/postgresql/[version]/data/ 

Przynajmniej w Gentoo Linux i Ubuntu 14.04 domyślnie.

Możesz znaleźć postgresql.conf i spojrzeć na param data_directory. Jeśli jest skomentowana, to katalog bazy danych jest taki sam jak ten katalog plików konfiguracyjnych.

+14

To będzie zależało od dystrybucji, wszyscy robią to nieco inaczej. Jeśli możesz połączyć się z systemem, najprawdopodobniej najprawdopodobniej użyjesz opcji "SHOW data_directory". –

+0

@MagnusHagander jest odpowiedzią, nie czynisz tego komentarza odpowiedzią. To zadziałało dobrze dla mnie. – Vishal

+0

w Gnome Widzę to samo tutaj '/ var/lib/8.1/postgresql' –

8

na CentOS 6.5/PostgreSQL 9.3:

Zmień wartość "PGDATA=/var/lib/pgsql/data" do tego, co chcesz w miejsce pierwotnego pliku skryptu /etc/init.d/postgresql.

Pamiętaj, aby chmod 700 i chown postgres:postgres do nowej lokalizacji i jesteś szefem.

12

Domyślnie w Debianie 8.1 i PostgreSQL 9.4 po instalacji z menedżera pakietów 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 

więc widocznie /var/lib/postgresql/9.4/main.

Powiązane problemy