본 글은 Ubuntu 20.04.6 LTS (GNU/Linux 5.15.0-86-generic x86_64) 버전을 기준으로 작성합니다.
오랜만에 옆에서 놀고있는 우분투서버를 켜서 거기에 PostgreSQL을 설치해보았다.
공식 사이트(https://www.postgresql.org/download/linux/ubuntu/)에 나와있는 데로 진행
1. sources.list.d 에 PostgreSQL 공식 저장소를 추가
sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
2. PostgreSQL의 공식 GPG 키를 받고 추가
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
3. 시스템의 패키지 목록을 최신으로 업데이트
sudo apt-get update
3-1. 업데이트때 아래와 같이 에러가 뜬다면 다음 명령어 입력 후 다시 업데이트 해보면 오류가 해결된다
N: Skipping acquire of configured file 'main/binary-i386/Packages' as repository 'https://apt.postgresql.org/pub/repos/apt focal-pgdg InRelease' doesn't support architecture 'i386'
sudo sh -c 'echo "deb [arch=amd64] https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
4. postgresql 설치
sudo apt-get -y install postgresql
5. 버전확인
psql --version
6. 서버 상태 확인
systemctl status postgresql
7. LISTEN 확인해서 포트 확인(기본 포트 5432)
sudo ss -ntlp
근데 이것처럼 127.0.0.1 로 되어있다면 로컬 접속만 허용한다
PostgreSQL은 기본 설치시 로컬 접속만 허용함
8. 접속해서 비밀번호 변경
sudo -u postgres psql
이렇게 뜨면 비밀번호 부분에 원하는 비밀번호를 넣고 입력한다.
ALTER USER postgres with encrypted password '비밀번호';
이것처럼 ALTER ROLE 이 뜨면 성공
9. nano 에디터로 설정파일 수정 (2개 파일)
sudo nano /etc/postgresql/16/main/postgresql.conf
sudo nano /etc/postgresql/16/main/pg_hba.conf
# 16 부분에 본인이 설치한 버전을 써준다.
postgresql.conf 파일
CONNECTIONS AND AUTHENTICATION 부분에
#listen_addresses = 'localhost' # what IP address(es) to listen on;
이 부분을 주석처리를 해제하고 localhost 부분을 * 로 바꿔준다.
pg_hba.conf 파일
host all all 0.0.0.0/0 scram-sha-256
를 맨 아래 쪽에 추가 및 저장
모든 외부 연결을 허용해주는거니 본인 상황에 맞춰 아래 링크 참고해서 사용 하기 바람
https://www.postgresql.org/docs/14/auth-pg-hba-conf.html
10. PostgreSQL 서비스 재시작 및 포트 확인
sudo service postgresql restart
sudo ss -ntlp | grep 5432
# 뒤에 grep 포트 << 를 적어주면 해당 포트만 확인해준다.
11. 접속 후 슈퍼계정 생성
sudo -u postgres psql
create user test password 'test1234' superuser;
계정 test 비번 test1234 라는 슈퍼계정 생성 명령어
입력하면 CREATE ROLE 이라는 문구가 뜬다.
12. 데이터베이스 생성, 소유자 설정
create database testdb owner test;
계정 test 에 testdb의 데이터베이스 소유자를 지정하는 명령어
입력하면 CREATE DATABASE 이라는 문구가 뜬다.
13. 사용자 목록 및 데이터베이스 목록 보기
# 사용자 목록
\du
# 데이터베이스 목록
\l
'Dev > DB' 카테고리의 다른 글
PostgreSQL 설치 (Windows) (0) | 2023.10.12 |
---|---|
PostgreSQL 소개 (0) | 2023.10.12 |