개요
psql은 PostgreSQL 데이터베이스와 상호작용하기 위한 강력한 도구입니다. SQL 명령뿐만 아니라, 데이터베이스 관리 작업을 간소화하는 다양한 메타 명령(백슬래시 명령)을 제공합니다.
주요 기능
- SQL 쿼리 실행
- 데이터베이스 및 테이블 관리
- 사용자 및 권한 설정
- 스크립트 파일 실행
- 대화형 셸 환경 제공
주요 옵션
psql 명령줄에서 사용할 수 있는 주요 옵션들입니다.
접속 옵션
명령 실행 옵션
생성된 명령어:
명령어를 조합해 보세요.
설명:
`psql` 명령어를 실행합니다.
위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.
사용 예시
psql 명령의 다양한 사용 예시입니다.
기본 데이터베이스 접속
psql
기본 사용자(현재 시스템 사용자)로 기본 데이터베이스에 접속합니다.
특정 데이터베이스 및 사용자로 접속
psql -U myuser -d mydb -W
myuser 사용자로 mydb 데이터베이스에 접속합니다. 비밀번호를 입력하라는 프롬프트가 나타납니다.
원격 서버에 접속
psql -h db.example.com -p 5432 -U postgres
원격 호스트(db.example.com)의 5432 포트에 postgres 사용자로 접속합니다.
단일 SQL 명령 실행
psql -U postgres -d postgres -c "SELECT version();"
데이터베이스 버전을 조회하는 SQL 명령을 실행하고 psql을 종료합니다.
SQL 스크립트 파일 실행
psql -U postgres -d mydb -f script.sql
script.sql 파일에 있는 SQL 명령들을 실행합니다.
데이터베이스 목록 조회
psql -l
현재 PostgreSQL 서버에 있는 모든 데이터베이스 목록을 표시합니다.
설치
psql은 PostgreSQL 클라이언트 패키지의 일부로 제공됩니다. 대부분의 리눅스 배포판에서는 PostgreSQL 서버를 설치하지 않고 클라이언트 도구만 별도로 설치할 수 있습니다.
Debian/Ubuntu
sudo apt update
sudo apt install postgresql-client
apt 패키지 관리자를 사용하여 PostgreSQL 클라이언트 도구를 설치합니다.
RHEL/CentOS/Fedora
sudo dnf install postgresql
yum 또는 dnf 패키지 관리자를 사용하여 PostgreSQL 클라이언트 도구를 설치합니다.
팁 & 주의사항
psql을 더욱 효율적으로 사용하기 위한 팁과 주의사항입니다.
주요 psql 메타 명령
psql 셸 내에서 백슬래시(\)로 시작하는 명령어를 사용하여 다양한 작업을 수행할 수 있습니다.
- \l: 모든 데이터베이스 목록 표시
- \dt: 현재 데이터베이스의 테이블 목록 표시
- \du: 모든 사용자(역할) 목록 표시
- \d <table>: 특정 테이블의 스키마 정보 표시
- \q: psql 종료
- \?: 모든 메타 명령에 대한 도움말 표시
환경 변수 활용
자주 사용하는 접속 정보를 환경 변수로 설정하여 psql 명령을 간소화할 수 있습니다.
- PGHOST: 호스트 이름 또는 IP 주소
- PGPORT: 포트 번호
- PGUSER: 사용자 이름
- PGDATABASE: 데이터베이스 이름
- PGPASSWORD: 비밀번호 (보안상 권장되지 않음, .pgpass 파일 사용 권장)
.pgpass 파일
비밀번호를 명령줄이나 환경 변수에 노출하지 않고 안전하게 저장하려면 ~/.pgpass 파일을 사용하는 것이 좋습니다. 이 파일은 특정 호스트, 포트, 데이터베이스, 사용자 이름에 대한 비밀번호를 저장하여 psql이 자동으로 인증할 수 있도록 합니다.