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

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 터널링 접속

Ruby on rails 포스트그레스 사용하기

저번 글에서 여러가지 문제를 해결해 가면서 웹서버 기동까지는 성공했지만 브라우저에서 localhost:3000 로 접속하니 뜨는 에러 메시지… sqlite 쪽에서 에러가 나던데 난 포스트그레스 Postgresql 을 쓸거니깐 에러는 무시하고 사용 DB 를 포스트그레스로 바꿔버리겠다.

database.yml 파일 설정

프로젝트 루트 디렉토리/config/database.yml 파일을 열어서 수정한다.

아래와 같이 환경에 따라서 다르게 설정하는 부분이 여러군데 있는데 각각의 database 항목을 주석처리한다. 나중에 쓸 일이 있으면 풀고 DB명을 넣자.

Gemfile 파일 설정

프로젝트 루트에 있는 Gemfile 파일을 열어서 아래와 같이 sqlite3 설정을 주석처리하고 포스트그레스 설정을 추가한다.

bundle 로 pg 젬을 인스톨하고 사용 등록한다.

웹서버를 재기동하고 브라우저에서 접속하면 짜잔

Ruby on rails 첫 웹화면
Ruby on rails 첫 웹화면

에러 메시지 없이 제대로 접속 성공.

포스트그레스 원격으로 접속하기 우분투 서버 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

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