우분투 서버 20.04 LTS 에서 Postgresql 의 최신 버전인 Postgresql12 를 설치하는 방법을 설명한다.
사실 공식 가이드대로 하면 별 문제는 없다.
공식 인스톨 가이드 – https://www.postgresql.org/download/linux/ubuntu/
pgdg.list 파일을 만들고 nano 편집기로 열자.
| 1 2 | sudo touch /etc/apt/sources.list.d/pgdg.list sudo nano /etc/apt/sources.list.d/pgdg.list | 
pgdg.list 파일에 아래 내용을 넣고 저장하자. nano 에디터에서 저장은 Ctrl+O, 닫기는 Ctrl+X 이다.
| 1 | deb http://apt.postgresql.org/pub/repos/apt/ focal-pgdg main | 
아래 커맨드를 차례대로 실행하면 설치까지 끝난다.
| 1 2 3 | wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo apt update sudo apt install postgresql-12 | 
아래 글에서 유저 추가와 외부에서 접속하는 설정을 가져왔다.
관련글: Postgresql 12 버젼을 우분투 18.04 에 설치  설정
유저 추가
아래 커맨드 중 elmitash 부분을 사용하고 싶은 아이디로 바꿀것.
postgres 유저로 바꾼 후, 새로운 유저를 추가
패스워드를 두번 입력
| 1 2 | sudo su - postgres createuser --pwprompt --interactive elmitash | 
| 1 | Shall the new role be a superuser? (y/n) y | 
y를 입력해 관리자 권한을 준다
접속 테스트
| 1 | psql -h localhost -U elmitash -d postgres | 
외부 접속
postgresql.conf 파일을 수정
| 1 | sudo nano /etc/postgresql/12/main/postgresql.conf | 
아래 부분을 찾아 주석 해제하고 localhost 를 * 로 바꾼다. 특정 IP에서만 접속할 경우엔 IP 주소를 쓰면 된다.
| 1 2 3 | #listen_addresses = 'localhost'          # what IP address(es) to listen on; >> listen_addresses = '*'                         # what IP address(es) to listen on; | 
pg_hba.conf 파일을 수정
| 1 | sudo nano /etc/postgresql/12/main/pg_hba.conf | 
접속 인증을 할 IP 범위를 설정하기 위해서 아래 내용을 추가한다. 내부 네트웍일 경우 아래 내용에서 아이피 정도만 바꾸면 될듯.
| 1 | host    all             all             192.168.1.1/24          md5 | 
설정을 마쳤으면 Postgresql 서비스 재시작
| 1 | sudo systemctl restart postgresql | 
 
 
서버 시간(타임존)도 안맞추고 설치했다가 시간이 안맞아서 보니 타임존 설정이 잘못 되어 있었다.
아래 형식으로 지역에 맞는 걸로 DB 쿼리를 날리면 된다.
| 1 2 | SET TIME ZONE 'Asia/Seoul'; SET TIME ZONE 'Asia/Tokyo'; |