본문 바로가기

개발

PostgreSQL 커맨드

접속

  • psql : 루트 권한으로 접속
  • 접속 옵션
    • h, --host=HOSTNAME database server host or socket directory (default: "local socket")
    • -p, --port=PORT database server port (default: "5432")
    • -U, --username=USERNAME database user name (default: "davidyoon")
    • -w, --no-password never prompt for password
    • -W, --password force password prompt (should happen automatically)
  • 일반 옵션
    • c, --command=COMMAND run only single command (SQL or internal) and exit
    • -d, --dbname=DBNAME database name to connect to (default: "davidyoon")
    • -f, --file=FILENAME execute commands from file, then exit
    • -l, --list list available databases, then exit
    • -v, --set=, --variable=NAME=VALUE set psql variable NAME to VALUE (e.g., -v ON_ERROR_STOP=1)
    • -V, --version output version information, then exit
    • -X, --no-psqlrc do not read startup file (~/.psqlrc)
    • -1 ("one"), --single-transaction execute as a single transaction (if non-interactive)
    • -?, --help[=options] show this help, then exit --help=commands list backslash commands, then exit --help=variables list special variables, then exit

DB 정보 보기

  • \l: DB리스트 출력

DB 변경하기

  • \c DBName

User 권한 확인하기

  • \du

특정 Database에 특정 유저로 접속

  • 대소문자 구분함
  • psql -d databaseName -U userName

지정한 비밀번호로 접속

  • PGPASSWORD=password psql -U postgres -d postgres

TableList

  • \dt : Table 목록 출력

SQL

  • 명령어 뒤에 세미클론 필수
  • 테이블 생성:
    • create table tableName(key char(16) primary key not null, name char(20) not null);
    • PrimaryKey Serial하게 생성
      • create table tableName(key serial primary key, name char(20) not null);
      • primary key 보다 serial이 먼저 나와야 함(순서 중요)
    • 테이블 생성 시 제약사항제약조건명 설명
      NOT NULL Null이 저장 될 수 없음
      UNIQUE 테이블 내에서 유일한 값(중복 x)
      PRIMARY KEY 테이블 내에서 유일하며 Not Null인 값
      CHECK 지정하는 조건에 맞는 값이 들어가야 함
      REFERENCES 참조하는 테이블의 특정 컴럼의 값이 존재해야 함
  • 테이블 삭제:
    • drop table tableName;
  • 테이블에 특정 컬럼 추가
    • alter table tableName add column active boolean;
  • 테이블에 특정 컬럼 삭제
    • alter table tableName drop column active;
  • 테이블에 특정 컬럼이름 변경
    • alter table tableName rename column active to isActive;
  • 조회
    • Select * from tableName;

'개발' 카테고리의 다른 글

인증 및 세션 관리를 위한 방법  (0) 2024.05.27
Fastlane  (0) 2024.05.12
PostgreSQL  (0) 2024.05.08
Content-Type  (0) 2024.05.08
문자 Encoding  (0) 2024.04.30