Postgresql 의 명령어를 간단히 정리해보겠습니다.
항상 잊어버리는 명령어를 기록해두기위한 차원입니다.
console 접속
$ psql database_name
접속 종료
-# \q
database list
-# \l
database create
CREATE DATABASE sentry WITH ENCODING='UTF8' OWNER=postgres;
database select
-# \c database_name
사용자 목록 표시
-# \du
Role 생성
-# CREATE ROLE <role name> WITH LOGIN;
Role 추가
ref: PostgreSQL: Documentation: 8.1: ALTER ROLE
-# ALTER ROLE <role name> WITH LOGIN CREATEDB;
Column 추가
phone 컬럼 추가: not null, default 값은 false
database_name-# ALTER TABLE users ADD COLUMN phone boolean not null default false;
Column 삭제
database_name-# ALTER TABLE users DROP COLUMN phone;
Constraint 추가
ALTER TABLE app_config
ADD CONSTRAINT ukey_app_config_app_id UNIQUE (app_id);
Constraint 삭제
ALTER TABLE app_config
DROP CONSTRAINT ukey_app_config_app_id;
table list
database_name-# \d
현 database의 모든 index list
database_name-# \di
특정 테이블 정보 보기
users 테이블 정보 보기
database_name-# \d users
database dump
pg_dump 데이터베이스명 > 파일명.dump
$ pg_dump -Fc dbname > outfile
database restore
$ pg_restore --clean database_name my.dump
상세
- —clean: database를 깨끗히 날리고 새로 생성
- —no-owner: 소유자 정보는 복원할때 포함하지 않음
- -h: host name
- -U: user name
- -d: database name
$ pg_restore --verbose --clean --no-owner -h localhost -U postgres -d database_name my.dump
sql file execute
- Shell
$ psql -U username -d myDataBase -a -f myInsertFile
- cli
\i path_to_sql_file