|
디렉토리 | 내용 |
---|---|
bin | postgreSQL(DB)에서 사용하는 실행파일 위치 |
data | DB의 Data디렉토리 |
doc | Documentation 파일 위치 |
pg_env.sh | 환경변수 설정 파일 |
include | Header files 위치(Cluster 생성 시에 사용됨) |
installer/scripts | Installer files |
lib | PostgreSQL(DB)에 필요한 library 위치 |
pgAdmin3 | 그래픽 관리자 Tool |
stackbuilder | GUI기반의 업데이트 관리 Tool |
uninstall-postgresql/ uninstall-postgresal.dat | PostgreSQL 제거를 위한 uninstall 파일 |
그 중에서도 data 디렉토리는 PostgreSQL(DB)의 Data정보가 저장되는 디렉터리로 PostgreSQL(DB)에 대한 Data에 대한 정보, 트랜잭션 로그 정보, 환경설정 부분 등에 대한 파일들이 위치하게 된다. data 디렉토리에 대한 구조와 형식에 대해서 살펴보면 아래와 같다.
PostgreSQL(DB)에서는 하나의 서버의 인스턴스에서 관리되는 database의 모음을 cluster라고 한다. 이때, cluster는 아래 그림에서 data 디렉토리에 해당된다.
data 디렉토리 내에 base라는 디렉토리가 위치한다. base 디렉토리 밑으로 database가 각각 디렉토리로 생성이 되고, 해당 디렉토리에 테이블이나 인덱스와 같은 오브젝트들이 파일형식으로 저장된다.
그리고 또한 PostgreSQL(DB)는 테이블스페이스를 지원한다. 테이블스페이스의 생성을 위해 특정 디렉토리를 지정하고 테이블스페이스를 생성하면, 해당 경로가 pg_tblspc 디렉토리 밑에 심볼릭 링크로 걸리게 되고, 이 링크를 통해 디렉토리의 파일들을 조회할 수 있다.
아래와 같이 psql로 접속하여 각 database에 대한 oid값을 확인해 볼 수 있다.
원격지에서의 접속을 위한 클라이언트 인증에 대한 설정을 지정해주는 파일로 Type, Database, User, Address, Method 로 구분하여 설정하게 된다.
예를 들어서 localhost와 특정IP 대역으로부터의 모든 접속은 반드시 패드워드를 입력해야 접속이 가능하도록 설정하고 싶을 경우 아래와 같이 설정해줄 수 있다.
혹은 모든 대역에 대하여 접속이 가능하도록 하려면, ADDRESS 부분에 대하여 0.0.0.0/0 으로 설정 해주면 된다.
Pg_hba.conf 파일은 수정 후에 PostgreSQL(DB)에 대하여 reload 명령을 수행해줘야 적용이 된다.
1 | #명령어 : pg_ctl reload –D $PGDATA |
PostgreSQL(DB)에 대한 환경설정 값에 대해서 postgresql.conf 파일을 이용하여 설정할 수 있다. PostgreSQL(DB)의 port 정보나 address(IP) 값을 설정해 줄 수 있으며 DB에 대한 튜닝 또한 이 파일에서 관리할 수 있다.
설정 값에 따라 다르지만 되도록 해당 파일을 수정 후에는 PostgreSQL(DB)에 대하여 restart를 진행해 줘야 한다.
|