postgersql를 설치해보자
1. postgresql 다운로드
postgresql 버전이 여러가지가 있는데 실습에 사용할 버전은 12버전을 사용함
PostgreSQL
The world's most advanced open source database.
www.postgresql.org
2. postgresql 설치
설치 스크립트를 한줄씩 복사하여 실행한다
yum을 이용한 설치는 root 권한이 있어야만 실행이 되므로 root로 계정으로 전환 하거나 sudo 권한을 미리 줘야함
프로그램 설치가 완료되면 postgresql 초기 설정을 위한 명령어를 입력
먼저 postgres db가 생성될 폴더를 생성한다
su postgres 명령어를 입력하여 postgres 계정으로 전환
postgresql12버전이 설치된 경로 /usr/pgsql-12/bin 로 이동
./initdb -D /home/postgres/postdb 명령어를 실행하여 db를 생성하면 오류가 발생한다
postgres 경로의 오너를 postgres로 변경
chown postgres:postgres postgres
※ chown owner:group 디렉터리 or 파일
initdb -D /home/postgres/postdb 실행
3. postgresql 실행
pg_ctl -D /home/postgres/postdb -l /home/postgres/postdb/pgsql12.log start
4. 접속 테스트 및 테이블 생성
initdb -D 옵션으로 생성한 postgresql db 경로로 이동하면 postgresql 구동에 필요한 설정 파일을 확인할 수 있음
설정 파일을 몇가지 수정하면 외부에서 db tool을 이용하여 접속이 가능
vi편집기를 이용하여 postgresql.conf 파일을 오픈해보자
vi편집기가 실행이 되면 커맨드 모드에서 set number를 입력하여 파일을 line을 표시해보면
60번째 라인에 listen_address와 64라인에 port=5432 부분을 주석 제거
vi편집기를 이용하여 pg_hba.conf 파일을 오픈하면 세션 연결시 인증 방식에 대한 설정을 확인 할 수 있음
address 부분과 method 부분을 아래와 같이 수정해준다
method md5는 패스워드 인증 방식을 나타내며 나머지 코드는 다음과 같다
trust | 모든 역할 이름에 암호없이 연결 가능 |
reject | 연결을 거부 |
scram-sha-256 | 암호 인증 가장 안전하지만 일부 클라이언트에서 지원되지 않음 |
md5 | 암호 인증 |
password | 암호 인증 암호를 평문으로 전송 |
gss | GSSAPI를 이용한 싱글 사인온 |
sspi | SSPI를 이용한 싱글 사인온 |
ident | Ident 인증 |
peer | Peer 인증 |
ldap | LDAP 인증 |
radius | RADIUS 인증 |
cert SSL | 클라이언트 인증서를 사용한 인증 |
pam | PAM 인증 |
bsd | BSD 인증 |
설정 파일 두가지를 수정하고 저장한 다음 db를 재시작 해보자
재시작 명령어는
./pg_ctl -D /home/postgres/postdb -l /home/postgres/postdb/pgsql12.log restart
방화벽을 오픈하고 접속 테스트를 해보자
먼저 psql을 이용하여 postgres 계정에 대한 패스워드를 설정해준다
DB툴 DBeaver를 이용하여 database와 테이블을 생성해보자
DB와 테이블 생성 후 테스트용 column user와 password에 데이터를 입력 후 조회
DB가 정상적 잘 설치되었고 데이터 조회가지 잘 되는것을 확인
다음번에는 공간데이터 입력을 위한 postgis 설치를 해보자
About PostGIS
PostGIS provides spatial objects for the PostgreSQL database, allowing storage and query of information about location and mapping.
postgis.net
'공부 > postgresql' 카테고리의 다른 글
QGIS를 이용한 공간데이터 구축 (1) | 2022.07.10 |
---|