우분투 서버 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'; |