PostgreSQL은 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)으로, 많은 프로젝트에서 널리 사용되고 있습니다. 이 글에서는 우분투 환경에서 PostgreSQL을 설치하고 외부 인터넷에서 데이터베이스에 접속할 수 있도록 설정하는 방법을 단계별로 안내합니다.
1. PostgreSQL 설치
먼저 우분투에 PostgreSQL을 설치하는 과정을 살펴보겠습니다.
1.1 패키지 업데이트
우분투에서 패키지를 업데이트하고 PostgreSQL 설치를 위해 apt 패키지 관리자를 사용합니다. 터미널에서 다음 명령어를 실행하세요.
sudo apt update
1.2 PostgreSQL 설치
패키지가 최신으로 업데이트되었다면, 다음 명령어로 PostgreSQL을 설치합니다.
sudo apt install postgresql postgresql-contrib
이 명령어는 PostgreSQL 본체와 함께 유용한 추가 모듈을 설치합니다.
1.3 PostgreSQL 서비스 확인
PostgreSQL이 제대로 설치되었는지 확인하려면 서비스가 정상적으로 실행 중인지 확인해야 합니다.
sudo systemctl status postgresql
만약 서비스가 실행 중이 아니라면, 다음 명령어로 PostgreSQL 서비스를 시작할 수 있습니다.
sudo systemctl start postgresql
2. PostgreSQL 기본 설정
이제 PostgreSQL을 설치했으니 데이터베이스 설정을 시작해봅시다.
2.1 PostgreSQL 사용자 계정 설정
PostgreSQL의 기본 사용자는 postgres입니다. 해당 계정으로 전환한 후, 비밀번호를 설정합니다.
sudo -i -u postgres psql
PostgreSQL에 접속한 후 비밀번호를 설정합니다.
\password postgres
비밀번호를 입력하고 저장 후 \q 명령어로 psql을 종료합니다.
3. 외부 인터넷에서 PostgreSQL 접속 설정
PostgreSQL 기본 설정으로는 외부에서의 접속이 제한되어 있습니다. 이제 외부 인터넷에서 접속할 수 있도록 설정을 변경해봅시다.
3.1 PostgreSQL 설정 파일 수정
PostgreSQL의 설정 파일을 수정하여 외부 연결을 허용합니다.
3.1.1 postgresql.conf 파일 수정
다음 명령어로 postgresql.conf 파일을 엽니다.
sudo nano /etc/postgresql/14/main/postgresql.conf
파일 내에서 listen_addresses 항목을 찾고, 이를 수정하여 모든 IP에서 접속을 허용합니다.
listen_addresses = '*'
저장 후 파일을 닫습니다.
3.1.2 pg_hba.conf 파일 수정
다음으로, pg_hba.conf 파일을 수정하여 외부 IP에서의 인증을 설정합니다.
sudo nano /etc/postgresql/14/main/pg_hba.conf
파일의 마지막에 다음 내용을 추가하여, 모든 IP 주소에서 MD5 방식으로 인증을 하도록 설정합니다.
host all all 0.0.0.0/0 md5
저장 후 파일을 닫습니다.
3.2 방화벽 설정
우분투의 UFW(방화벽)가 활성화되어 있다면, PostgreSQL의 기본 포트(5432)를 허용해줘야 합니다.
sudo ufw allow 5432/tcp
방화벽 규칙을 적용합니다.
sudo ufw reload
혹시, 방화벽이 규칙이 적용되지 않는다면, 아래와 같이 iptables 명령어를 활용한 방법을 사용해도 됩니다.
sudo iptables -I INPUT 5 -i ens3 -p tcp --dport 5432 -m state --state NEW,ESTABLISHED -j ACCEPT
3.3 PostgreSQL 서비스 재시작
설정을 변경한 후에는 PostgreSQL 서비스를 다시 시작해야 변경 사항이 적용됩니다.
sudo systemctl restart postgresql
4. 외부에서 PostgreSQL 접속 테스트
이제 외부에서 데이터베이스에 접속할 수 있는지 확인할 차례입니다. pgAdmin과 같은 도구를 사용하거나, 원격 서버에서 다음 명령어로 접속을 시도해볼 수 있습니다.
psql -h <서버 IP> -U postgres -d <데이터베이스 이름>
비밀번호를 입력한 후 접속이 정상적으로 이루어지면 모든 설정이 완료된 것입니다.
결론
이 가이드를 통해 우분투에 PostgreSQL을 설치하고, 외부 인터넷에서 접속할 수 있도록 설정하는 방법을 배웠습니다. PostgreSQL은 강력하고 유연한 데이터베이스 시스템으로, 이 설정을 통해 다양한 환경에서 활용할 수 있습니다. 필요에 따라 추가적인 보안 설정이나 성능 튜닝도 고려해볼 수 있습니다.
'데이터베이스 > postgresql' 카테고리의 다른 글
PostgreSQL 설정 파일의 주요 기능과 역할 (0) | 2024.11.20 |
---|---|
Postgresql 설치 (사용자, DB생성, 외부접속 허용) (0) | 2020.06.15 |