반응형
설치·접속: PostgreSQL 설치와 접속
부제: PostgreSQL 공식 대화형 클라이언트로 접속하고 한 줄 쿼리를 던진다
psql -h localhost -U postgres -d shop # 호스트/유저/DB 지정 접속
psql -d shop -c 'SELECT id, name FROM users LIMIT 3;' # 한 줄 실행 후 종료
psql -d shop -c '\conninfo' # 지금 어디에 붙었는지 확인
id | name | email
----+-------+-----------
1 | user1 | u1@ex.com
2 | user2 | u2@ex.com
3 | user3 | u3@ex.com
(3 rows)
You are connected to database "shop" as user "postgres" via socket in "/var/run/postgresql" at port "5432".psql은 PostgreSQL에 기본으로 딸려오는 터미널 클라이언트다. 옵션 없이 실행하면 대화형 셸로 들어가 쿼리를 계속 입력할 수 있고, -c를 붙이면 명령 하나만 실행하고 바로 빠져나온다. 스크립트나 크론에서 쓰기 좋은 형태다. 접속 대상은 -h(호스트) -U(유저) -d(DB) -p(포트)로 지정하며, 로컬 유닉스 소켓이면 호스트를 생략해도 붙는다.
이렇게도 쓴다
접속 정보를 매번 타이핑하지 않도록 환경변수로 넘긴다.
PGPASSWORD=pw psql -h db.example.com -U app -d shop
값만 뽑아서 셸 변수로 받는다. (-A 정렬 해제 + -t 헤더 제거)
psql -d shop -At -c 'SELECT name FROM users ORDER BY id LIMIT 3'
여러 명령을 한 번의 접속으로 이어서 실행한다.
psql -d shop -c '\timing on' -c 'SELECT count(*) FROM orders;'
SQL 파일을 통째로 실행하고 결과만 받는다.
psql -d shop -f report.sql
접속만 확인하고 끊는 헬스체크로 쓴다. (조합: exit code로 판정)
psql -d shop -c 'SELECT 1' >/dev/null 2>&1 && echo UP || echo DOWN반응형
'명령어 > DB' 카테고리의 다른 글
| [PostgreSQL] createdb 새 데이터베이스 생성 (0) | 2026.07.30 |
|---|---|
| [PostgreSQL] "too many clients already" — max_connections와 커넥션 풀링 (1) | 2026.07.30 |
| [PostgreSQL] \du 롤(계정)과 권한 속성을 본다 (0) | 2026.07.30 |
| [PostgreSQL] \dt 데이터베이스의 테이블 목록을 본다 (0) | 2026.07.30 |
| [PostgreSQL] \x 넓은 결과를 세로로 펼쳐 본다 (0) | 2026.07.30 |