반응형
부제: PostgreSQL을 우분투에 바로 깔거나 도커로 띄워 psql로 접속하기까지
# 우분투: 패키지로 설치 (systemd 서비스로 상주)
sudo apt update && sudo apt install -y postgresql postgresql-contrib
sudo systemctl status postgresql # 상태 확인
sudo -u postgres psql # postgres 슈퍼유저로 접속
psql (16.14 (Ubuntu 16.14-0ubuntu0.24.04.1))
Type "help" for help.
postgres=#우분투는 apt로 깔면 postgres OS 유저와 동명의 DB 슈퍼유저가 만들어지고 서비스로 상주한다. 그래서 sudo -u postgres psql이 비밀번호 없이 접속하는 기본 경로다.
반면 도커는 격리된 일회성 인스턴스라, 버전을 바꿔 테스트하거나 깔끔히 버리고 싶을 때 좋다. 둘 다 psql 사용법은 똑같다.
이렇게도 쓴다
도커로 한 줄에 띄운다(비밀번호·포트 지정).
docker run -d --name pg -e POSTGRES_PASSWORD=secret -p 5432:5432 postgres:16
도커 컨테이너 안 psql로 접속한다.
docker exec -it pg psql -U postgres
앱용 유저와 DB를 만든다.
sudo -u postgres createuser --pwprompt appuser
sudo -u postgres createdb -O appuser appdb
접속 문자열(URI)로 원격/앱에서 붙는다.
psql "postgresql://appuser:secret@10.0.0.10:5432/appdb"
확장을 켠다(예: 유사도 검색 pg_trgm, 벡터 pgvector).
CREATE EXTENSION IF NOT EXISTS pg_trgm;
서비스 없이 클라이언트만 필요할 때.
sudo apt install -y postgresql-client # psql/pg_dump 등만반응형