Postgresql 12 설치
아래 명령으로 /etc/apt/sources.list.d 디렉토리에 pgdg.list 파일을 만들어 Postgresql 저장소를 추가한다.
1 |
sudo echo "deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list |
우분투 버전이 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
저장소 인증키를 추가
1 |
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - |
apt update / Postgres-12를 인스톨
1 2 |
sudo apt update sudo apt install postgres-12 |
유저 추가
아래 커맨드 중 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 service postgresql restart |
문제 해결
이놈의 방화벽… 진짜…
iptables 의 경우 숫자 6은 sudo iptables -L 로 확인해서 수정할 것.
1 |
sudo iptables -I INPUT 6 -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT |
ufw 의 경우는 간단.
1 2 |
sudo ufw allow 5432/tcp sudo service ufw restart |
오라클 클라우드는 인스턴스의 보안 목록에 수신 규칙을 추가해야한다. TCP의 5432번 포트를 개방.