답변:
데이터 디렉토리의 위치를 보려면이 쿼리를 사용하십시오.
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
. 이것이 데이터베이스의 내용입니다.
" Linux의 PostgreSQL 데이터베이스 기본 위치 "에서 제안한대로 Linux 에서 다음 명령을 사용하여 찾을 수 있습니다.
ps aux | grep postgres | grep -- -D
내 Linux 설치에서 여기 있습니다 : /var/lib/postgresql/8.x/
당신은 그것을 변경할 수 있습니다 initdb -D "c:/mydb/"
/var/lib/pgsql/data
. 를 사용하는 것이 더 ps auxw|grep postgres|grep -- -D
좋습니다.
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
OS와 함께 제공된 검색을 사용하여 위의 파일과 디렉토리를 찾아서 찾을 수 있습니다.
예를 들어 필자의 경우 ( Mac OS X 에 HomeBrew 설치 )이 파일은에 있습니다 . 서버를 시작하려면 다음을 입력하십시오./usr/local/var/postgres
pg_ctl -D /usr/local/var/postgres -w start
... 그리고 작동합니다.
brew info postgres
locate <filename>
sudo locate <filename>
Postgres는 데이터 디렉토리의 파일에 데이터를 저장합니다. 아래 단계에 따라 데이터베이스 및 해당 파일로 이동하십시오.
postgresql 테이블 파일에 해당하는 데이터베이스는 디렉토리입니다. 전체 데이터 디렉토리의 위치는 다음을 실행하여 얻을 수 있습니다 SHOW data_directory
. OS와 같은 UNIX에서 (예 : Mac) /Library/PostgreSQL/9.4/data
모든 데이터베이스 폴더가있는 데이터 디렉토리의 기본 폴더로 이동하십시오./Library/PostgreSQL/9.4/data/base
다음을 실행하여 데이터베이스 폴더 이름을 찾으십시오 (정수 제공. 데이터베이스 폴더 이름 임).
SELECT oid from pg_database WHERE datname = <database_name>;
다음을 실행하여 테이블 파일 이름을 찾으십시오 (정수 제공). 파일 이름입니다.
SELECT relname, relfilenode FROM pg_class WHERE relname = <table_name>;
이진 파일입니다. 크기 및 생성 날짜 시간과 같은 파일 정보는 평소와 같이 얻을 수 있습니다. 자세한 내용 은이 SO 스레드를 읽으십시오
Mac에서 : /Library/PostgreSQL/9.0/data/base
디렉토리를 입력 할 수 없지만 다음을 통해 컨텐츠를 볼 수 있습니다. sudo du -hc data
/usr/local/var/postgres
@MikeSherrill의 show data_directory;
팁을 사용하여 발견 할 수 있습니다
/Library/PostgreSQL/9.0/data/base
보다 Mac과 같은 위치 인 것 같습니다 /usr/local/var/postgres
. 숨겨진 Finder 기능을 활성화하지 않으면 Finder에서 후자를 탐색 할 수 없습니다.
Windows에서 PostgresSQL 문서가 설명 하는 PGDATA 디렉토리는 다음 과 같습니다 C:\Program Files\PostgreSQL\8.1\data
. 특정 데이터베이스의 데이터는 (예를 들어) 아래 C:\Program Files\PostgreSQL\8.1\data\base\100929
에 있으며 100929는 데이터베이스 번호라고 생각합니다.
picmate의 답변이 옳습니다. Windows에서 기본 DB 폴더 위치는 (적어도 설치시)
C:\PostgreSQL\9.2\data\base\
프로그램 파일에는 없습니다.
그의 두 스크립트는 필요한 정확한 디렉토리 / 파일을 제공합니다 :
SELECT oid from pg_database WHERE datname = <database_name>;
SELECT relname, relfilenode FROM pg_class WHERE relname = <table_name>;
광산은 datname 16393 및 relfilenode 41603에 있습니다.
도커 컨테이너 (CentOS의 경우)에서 postgres (9.5)를 실행 중이며 위의 주석에서 Skippy le Grand Gourou가 언급했듯이 파일은에 있습니다 /var/lib/postgresql/data/
.
$ docker exec -it my-postgres-db-container bash
root@c7d61efe2a5d:/# cd /var/lib/postgresql/data/
root@c7d61efe2a5d:/var/lib/postgresql/data# ls -lh
total 56K
drwx------. 7 postgres postgres 71 Apr 5 2018 base
drwx------. 2 postgres postgres 4.0K Nov 2 02:42 global
drwx------. 2 postgres postgres 18 Dec 27 2017 pg_clog
drwx------. 2 postgres postgres 6 Dec 27 2017 pg_commit_ts
drwx------. 2 postgres postgres 6 Dec 27 2017 pg_dynshmem
-rw-------. 1 postgres postgres 4.4K Dec 27 2017 pg_hba.conf
-rw-------. 1 postgres postgres 1.6K Dec 27 2017 pg_ident.conf
drwx------. 4 postgres postgres 39 Dec 27 2017 pg_logical
drwx------. 4 postgres postgres 36 Dec 27 2017 pg_multixact
drwx------. 2 postgres postgres 18 Nov 2 02:42 pg_notify
drwx------. 2 postgres postgres 6 Dec 27 2017 pg_replslot
drwx------. 2 postgres postgres 6 Dec 27 2017 pg_serial
drwx------. 2 postgres postgres 6 Dec 27 2017 pg_snapshots
drwx------. 2 postgres postgres 6 Sep 16 21:15 pg_stat
drwx------. 2 postgres postgres 63 Nov 8 02:41 pg_stat_tmp
drwx------. 2 postgres postgres 18 Oct 24 2018 pg_subtrans
drwx------. 2 postgres postgres 6 Dec 27 2017 pg_tblspc
drwx------. 2 postgres postgres 6 Dec 27 2017 pg_twophase
-rw-------. 1 postgres postgres 4 Dec 27 2017 PG_VERSION
drwx------. 3 postgres postgres 92 Dec 20 2018 pg_xlog
-rw-------. 1 postgres postgres 88 Dec 27 2017 postgresql.auto.conf
-rw-------. 1 postgres postgres 21K Dec 27 2017 postgresql.conf
-rw-------. 1 postgres postgres 37 Nov 2 02:42 postmaster.opts
-rw-------. 1 postgres postgres 85 Nov 2 02:42 postmaster.pid