/엔지니어/데이터베이스/PostgreSQL 설치와 기본 설정
데이터베이스초급ubuntudebiancentospostgresqlpostgresdatabase

PostgreSQL 설치와 기본 설정

Ubuntu에 PostgreSQL을 설치하고, 사용자와 데이터베이스를 생성하며, 원격 접속과 백업까지 설정하는 방법입니다.

설치

Bash
sudo apt install -y postgresql postgresql-contrib

# 최신 버전 (PostgreSQL 공식 APT)
sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update && sudo apt install -y postgresql-16

sudo systemctl enable --now postgresql

기본 접속

Bash
sudo -u postgres psql

# psql 내 명령어
\l          -- 데이터베이스 목록
\c mydb     -- 데이터베이스 전환
\dt         -- 테이블 목록
\d users    -- 테이블 구조
\du         -- 사용자 목록
\q          -- 종료

사용자 및 데이터베이스 생성

SQL
CREATE USER myapp WITH PASSWORD 'strongpassword123!';
CREATE DATABASE myappdb OWNER myapp;
GRANT ALL PRIVILEGES ON DATABASE myappdb TO myapp;
GRANT ALL ON SCHEMA public TO myapp;
GRANT ALL ON ALL TABLES IN SCHEMA public TO myapp;
GRANT ALL ON ALL SEQUENCES IN SCHEMA public TO myapp;

postgresql.conf 주요 설정

INI
listen_addresses = '*'          # 원격 접속 허용
max_connections = 100
shared_buffers = 256MB          # RAM의 25% 권장
work_mem = 4MB
log_slow_query = 1000           # 1초 이상 쿼리 로그

pg_hba.conf (접속 제어)

CODE
local   all   postgres    peer
local   all   all         md5
host    myappdb   myapp   10.0.0.0/24   scram-sha-256
Bash
sudo systemctl reload postgresql

백업과 복원

Bash
pg_dump -U myapp -h localhost myappdb > backup.sql
pg_dump -U myapp -h localhost -Fc myappdb > backup.dump

sudo -u postgres pg_dumpall > all_databases.sql

psql -U myapp -h localhost myappdb < backup.sql
pg_restore -U myapp -h localhost -d myappdb backup.dump

모니터링 쿼리

SQL
-- 현재 연결 수
SELECT count(*) FROM pg_stat_activity;

-- 실행 중인 쿼리
SELECT pid, now() - query_start AS duration, query
FROM pg_stat_activity WHERE state = 'active';

-- 테이블 크기
SELECT relname, pg_size_pretty(pg_total_relation_size(relid))
FROM pg_stat_user_tables
ORDER BY pg_total_relation_size(relid) DESC;
#postgresql#postgres#database#sql#db#백업
편집 안내 · Editorial Note

이 가이드는 AI 도구를 활용해 초안을 구성하고 사람이 명령어·문맥을 검토해 발행했습니다. 운영체제와 도구 버전에 따라 결과가 달라질 수 있으므로 적용 전 공식 문서를 함께 확인하세요. 오류를 발견하시면 이메일로 제보해 주세요.

관련 공식 문서PostgreSQL 공식 문서

질문 & 답변 (Q&A)

이 가이드에 대해 궁금한 점을 질문해보세요. 확인 후 답변드립니다.