태그 글 보관함: 포스트그레스 설정

우분투 서버 20.04 LTS Postgresql12 설치와 설정

우분투 서버 20.04 LTS 에서 Postgresql 의 최신 버전인 Postgresql12 를 설치하는 방법을 설명한다.

사실 공식 가이드대로 하면 별 문제는 없다.
공식 인스톨 가이드 – https://www.postgresql.org/download/linux/ubuntu/

pgdg.list 파일을 만들고 nano 편집기로 열자.

pgdg.list 파일에 아래 내용을 넣고 저장하자. nano 에디터에서 저장은 Ctrl+O, 닫기는 Ctrl+X 이다.

아래 커맨드를 차례대로 실행하면 설치까지 끝난다.

아래 글에서 유저 추가와 외부에서 접속하는 설정을 가져왔다.
관련글: Postgresql 12 버젼을 우분투 18.04 에 설치 설정

유저 추가

아래 커맨드 중 elmitash 부분을 사용하고 싶은 아이디로 바꿀것.
postgres 유저로 바꾼 후, 새로운 유저를 추가
패스워드를 두번 입력

y를 입력해 관리자 권한을 준다

접속 테스트

외부 접속

postgresql.conf 파일을 수정

아래 부분을 찾아 주석 해제하고 localhost 를 * 로 바꾼다. 특정 IP에서만 접속할 경우엔 IP 주소를 쓰면 된다.

pg_hba.conf 파일을 수정

접속 인증을 할 IP 범위를 설정하기 위해서 아래 내용을 추가한다. 내부 네트웍일 경우 아래 내용에서 아이피 정도만 바꾸면 될듯.

설정을 마쳤으면 Postgresql 서비스 재시작

 
 
서버 시간(타임존)도 안맞추고 설치했다가 시간이 안맞아서 보니 타임존 설정이 잘못 되어 있었다.
아래 형식으로 지역에 맞는 걸로 DB 쿼리를 날리면 된다.

Postgresql 12 버젼을 우분투 18.04 에 설치 설정

Postgresql 12 설치

참고 : Postgresql의 우분투용 설치 가이드

아래 명령으로 /etc/apt/sources.list.d 디렉토리에 pgdg.list 파일을 만들어 Postgresql 저장소를 추가한다.

우분투 버전이 18.04가 아닐 경우에는 ‘bionic’ 을 해당 우분투 버전이름으로 변경할것.

우분투 버전별 이름 (Postgresql 저장소에 존재하는 것만)
12.04 LTS precise
14.04 LTS trusty
16.04 LTS xenial
18.04 bionic
18.10 cosmic
19.04 disco
19.10 eoan

저장소 인증키를 추가

apt update / Postgres-12를 인스톨

유저 추가

아래 커맨드 중 elmitash 부분을 사용하고 싶은 아이디로 바꿀것.
postgres 유저로 바꾼 후, 새로운 유저를 추가
패스워드를 두번 입력

y를 입력해 관리자 권한을 준다

접속 테스트

외부 접속

postgresql.conf 파일을 수정

아래 부분을 찾아 주석 해제하고 localhost 를 * 로 바꾼다. 특정 IP에서만 접속할 경우엔 IP 주소를 쓰면 된다.

pg_hba.conf 파일을 수정

접속 인증을 할 IP 범위를 설정하기 위해서 아래 내용을 추가한다. 내부 네트웍일 경우 아래 내용에서 아이피 정도만 바꾸면 될듯.

설정을 마쳤으면 Postgresql 서비스 재시작

문제 해결

이놈의 방화벽… 진짜…
iptables 의 경우 숫자 6은 sudo iptables -L 로 확인해서 수정할 것.

ufw 의 경우는 간단.

오라클 클라우드는 인스턴스의 보안 목록에 수신 규칙을 추가해야한다. TCP의 5432번 포트를 개방.

관련 글: DB서버 외부에서 안전하게 접속하는 방법. DBeaver로 SSH 터널링 접속

포스트그레스 원격으로 접속하기 우분투 서버 14.04 LTS

환경
Ubuntu Server 14.04 LTS

PostgreSql 설치

apt-get install postgresql-9.3

pgadmin3는 GUI툴이니 서버 버전 우분투에는 설치하지 않는다.
설치후 아래 명령으로 PostgreSql 콘솔로 진입한다.

sudo -u postgres psql postgres

새로운 패스워드를 설정한다.

\password postgres

콘솔에서 나가기

\q

초기 상태에서는 로컬에서 밖에 접속 할 수 없다.
원격으로 pgAdmin등으로 접속하기 위해서는 아래와 같은 설정이 필요하다.

먼저 pg_hda.conf에 접속 가능한 원격지 컴퓨터의 아이피를 등록한다. 여기에 등록해 두지 않으면 접속이 거부 된다.

sudo vi /etc/postgresql/9.3/main/pg_hba.conf

제일 아래 추가

host all all <서버에접속할원격PC의IP주소>/32 md5

예를 들어 원격 컴퓨터의 아이피가 192.168.0.3일때,

host all all 192.168.0.3/32 md5

다음은 서버 아이피 주소를 등록한다.

sudo vi /etc/postgresql/9.3/main/postgresql.conf

제일 아래 추가

listen_addresses = 'localhost,<PostgreSql가설치된PC의IP주소>'

예를 들어서 포스트그레스가 설치된 서버의 아이피가 192.168.0.2일때라면 아래와 같이 쓴다.

listen_addresses = 'localhost,192.168.0.2'

PostgreSql 서비스 재시작

sudo service postgresql restart

이제 원격지 컴퓨터에서 접속해 보자.