1. PostgreSQL 설치
apt-get을 업데이트하고 postgresql과 postgresql-contrib을 다운로드 받아준다.
sudo apt-get update
sudo apt-get install -y postgresql postgresql-contrib
postgresql-contrib은 postgresql을 사용하기 위한 확장팩이라고 생각하면 된다.
2. 계정 및 데이터베이스 생성
postgresql을 다운받으면 자동으로 postgres라는 유저가 생성되는데 먼저 postgres로 postgresql shell에 접근할 수 있다.
만약 그냥 접근하려고 하면 아래와 같이 해당 유저가 존재하지 않는다고 나온다.
먼저 접속된 유저를 바꿔주기 전에 postgres 유저의 비밀번호부터 바꿔주자 아래 명령어를 작성하면 원하는 비밀번호 2번을 치면 바꿔준다.
sudo passwd postgres
자 이제 postgres로 접속해보자
sudo su postgres
아래의 명령어를 통해 데이터베이스에 접근한다.
psql
이후 과정은 데이터 베이스를 생성하고 데이터 베이스에 접근할 유저를 생성하는 과정인데 아래 링크의 2번째 글을 보면 된다.
3. 외부 접근 허용하기
데이터베이스를 사용하다보면 외부에서 접근을 허용해줘야한할 때가 있다.
도커이미지를 띄우는데 도커 호스트에 데이터 베이스를 같이두거나(물론 이런 경우는 많지 않지만) 애초에 데이터 베이스가 서버와 분리 되어있을 때가 대표적인 예이다. postgresql의 외부접속을 허용해주기 위해선 아래 설정 파일을 수정해줘야한다.
postgresql.conf는 postgresql의 전반적인 설정을 담고 있는 파일이다.
sudo vi /etc/postgresql/10/main/postgresql.conf
여기서 listen_addresses를 변경해주면 된다. 만약 모든 ip 주소에대해 허용하고 싶으면 listen_addresses = '0.0.0.0' 으로 해주면 된다.
다음은 해당 아이피에 권한을 부과해줘야한다. 아래 설정 파일을 수정하도록 하자 이 설정 파일은 인증시스템 관련 설정을 담고 있다.
sudo vi /etc/postgresql/10/main/pg_hba.conf
이 파일의 가장 아래 이런 부분이 있는데
# IPv5 local connection을 아래와 같이 작성해준다. ip_address에는 원하는 ip주소를 적어주면된다. 예를 들어 위에서 설정했던 0.0.0.0/0
# IPv4 local connections:
host all all ip_address md5
이 부분에 대한 자세한 내용은 아래 포스트에 있다.
이제 설정을 완료하였다. postgresql을 재시작해주자
sudo systemctl restart postgresql
마지막으로 port가 열렸는지 확인해보자
netstat -ntlp | grep 5432
아래처럼 나오면 포트가 개방된거고 이제 외부에서 접근해보면 된다!
'Web Programming' 카테고리의 다른 글
리눅스 파일 존재 여부 확인 명령어 (0) | 2022.12.06 |
---|---|
[linux] 파일 원격으로 가져오기 (feat. scp) (0) | 2021.05.26 |
[Ubuntu] Ubuntu에 redis 설치하고 포트 열어주기 (0) | 2021.03.19 |
[postgresql] postgresql 명령어 모음 (0) | 2021.03.16 |
[postgresql] Mac에서 Postgresql 설치 하기 (0) | 2021.03.09 |