PostgreSQL 치트 시트

5871 단어
PostgreSQL 데이터베이스로 작업할 때 편리한 PostgreSQL 명령 및 쿼리 목록을 수집했습니다. 치트 시트에 무언가를 추가하고 싶다면 저희에게 ping을 보내주세요!

PostgreSQL 시작하기



로그인하고 PostgreSQL 명령줄 유틸리티 psql을 입력합니다.

$ sudo su - postgres psql


Postgres 데이터베이스 나열

\l


Postgres 데이터베이스에 연결

\c databaseName


postgreSQL 명령줄 유틸리티 psql 종료

\q


PostgreSQL 관리



PostgreSQL 버전 확인

SELECT version();


PostgreSQL이 설치되어 있는지 확인

$ which psql


PostgreSQL이 실행 중인지 확인

$ pgrep -fa -- -D | grep postgres


Linux에서 PostgreSQL 다시 시작

# systemctl restart postgresql
// or
# service postgresql restart
// or
# /etc/init.d/postgresql restart
// or
# /sbin/service postgresql restart


OSX에서 PostgreSQL 재시작

# brew services restart postgres
// or
# pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log restart


Windows에서 PostgreSQL 다시 시작

Winkey + R
Type "services.msc"
Click "restart"


PostgreSQL 사용자 비밀번호 변경

$ sudo -u postgres psql
\password postgres


psql에서 종료

\q


PostgreSQL에서 데이터베이스와 상호 작용



Postgres 데이터베이스 나열

\l


Postgres 데이터베이스에 연결 또는 전환

\c databaseName


새로운 Postgres 데이터베이스 생성

CREATE DATABASE databaseName


Postgres 데이터베이스 삭제

DROP DATABASE databaseName


Postgres 데이터베이스 이름 바꾸기

ALTER DATABASE old_databaseName TO new_databaseName


Postgres JSON 데이터 쿼리

SELECT *
FROM mytable
WHERE myfield @> '{"key1":"valueA"}'


PostgreSQL의 테이블과 상호 작용



Postgres 테이블 나열

\dt


Postgres 테이블 설명

\d tableName


포스트그레스 테이블 생성

CREATE TABLE tableName( 
    columnName columnType,
    columnName columnType
);


Postgres 테이블 삭제

DROP TABLE tableName CASCADE


PostgreSQL 데이터베이스 백업 및 복원



Postgres 데이터베이스 백업

$ pg_dump -d databaseName -U userName > backupFile


Postgres 데이터베이스 복원

psql databaseName < backupFile


PostgreSQL에서 역할 및 권한 관리



Postgres 역할 나열

SELECT rolname FROM pg_roles;


Postgres 사용자 생성

CREATE USER userName WITH PASSWORD 'userPassword';


Postgres 사용자 삭제

DROP USER userName;


Postgres 사용자 비밀번호 변경

ALTER ROLE userName WITH PASSWORD 'userPassword';


할당된 모든 역할 postgres 나열

SELECT
    r.rolname,
    r.rolsuper,
    r.rolinherit,
    r.rolcreaterole,
    r.rolcreatedb,
    r.rolcanlogin,
    r.rolconnlimit,
    r.rolvaliduntil,
    ARRAY(SELECT b.rolname
        FROM pg_catalog.pg_auth_members m
        JOIN pg_catalog.pg_roles b ON (m.roleid = b.oid)
        WHERE m.member = r.oid) as memberof,
    r.rolreplication
FROM pg_catalog.pg_roles r
ORDER BY 1;


Postgres 데이터베이스에 대한 모든 권한 부여

GRANT ALL PRIVILEGES ON DATABASE databaseName TO userName;


Postgres 데이터베이스에 대한 연결 권한 부여

GRANT CONNECT ON DATABASE databaseName TO userName;


특정 역할 postgres에 대한 권한 나열

SELECT table_catalog, table_schema, table_name, privilege_type
FROM   information_schema.table_privileges
WHERE  grantee = userName ORDER BY table_name;


PostgreSQL psql 명령 요약


\? 사용 가능한 모든 psql 명령 나열
\h COMMAND 특정 명령에 대한 도움말 보기
\l 데이터베이스 나열
\c databaseName 데이터베이스에 연결
\dt 목록 테이블
\d tableName 테이블 설명
\d+ tableName 세부 정보가 포함된 테이블 설명
\dn 목록 스키마
\df 목록 기능
\dv 목록 보기
\du 사용자 나열
\dy 이벤트 나열
\di 인덱스 나열
\q 종료


PostgreSQL용 관리 패널 또는 GUI 도구를 구축해야 합니까? 체크아웃Forest Admin for PostgreSQ L

좋은 웹페이지 즐겨찾기