[DATABASE/POSTGRESQL] DROP USER 명령 : 사용자 삭제하기
■ DROP USER 명령을 사용해 사용자를 삭제하는 방법을 보여준다. • 사용자를 삭제하려면 슈퍼유저 권한이 필요하다. • 삭제하려는 사용자가 소유한 데이터베이스나 테이블이 있는
■ DROP USER 명령을 사용해 사용자를 삭제하는 방법을 보여준다. • 사용자를 삭제하려면 슈퍼유저 권한이 필요하다. • 삭제하려는 사용자가 소유한 데이터베이스나 테이블이 있는
■ DROP DATABASE 명령을 사용해 데이터베이스를 삭제하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
DROP DATABASE testdb; |
※ testdb : 데이터베이스명
■ 우분투에서 PSQL에 접속하는 방법을 보여준다. 1. CTRL + ALT + T 키를 눌러서 [터미널]을 실행한다. 2. [터미널]에서 아래 명령을 실행한다. ▶
■ GRANT ALL PRIVILEGES ON DATABASE … TO … 명령을 사용해 해당 데이터베이스에 사용자 접근 권한을 설정하는 방법을 보여준다. ▶ 예제 코드
■ 사용자 권한을 조회하는 방법을 보여준다. (PGSQL) ▶ 실행 명령
1 2 3 |
postgres=# \du |
▶ 실행 결과
1 2 3 4 5 6 7 8 |
List of roles Role name | Attributes | Member of -----------+------------------------------------------------------------+----------- postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {} testuser1 | Superuser, Create DB | {} testuser2 | | {} |
■ 사용자 권한을 조회하는 방법을 보여준다. (테이블 수준) ▶ 예제 코드 (SQL)
1 2 3 4 5 6 7 8 9 |
SELECT TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, PRIVILEGE_TYPE FROM information_schema.role_table_grants WHERE GRANTEE = 'testuser1'; |
※ 해당 뷰 명칭은 소문자로 입력한다. ※ testuser1 :
■ 사용자 권한 조회하기 (스키마 수준) ▶ 예제 코드 (SQL)
1 2 3 4 5 6 7 8 9 10 |
SELECT N.NSPNAME AS SCHEMA, U.USENAME AS USER, HAS_SCHEMA_PRIVILEGE(U.USENAME, N.NSPNAME, 'USAGE' ) AS CAN_USE, HAS_SCHEMA_PRIVILEGE(U.USENAME, N.NSPNAME, 'CREATE') AS CAN_CREATE FROM PG_NAMESPACE N CROSS JOIN PG_USER U WHERE U.USENAME = 'testuser1'; |
▶ 실행 결과
1 2 3 4 5 6 7 8 9 10 11 |
schema | user | can_use | can_create --------------------+-----------+---------+------------ pg_toast | testuser1 | t | t pg_temp_1 | testuser1 | t | t pg_toast_temp_1 | testuser1 | t | t pg_catalog | testuser1 | t | t public | testuser1 | t | t information_schema | testuser1 | t | t (6 rows) |
■ 사용자 권한을 조회하는 방법을 보여준다. (데이터베이스 수준) ▶ 예제 코드 (SQL)
1 2 3 4 5 6 7 8 9 10 |
SELECT D.DATNAME AS DATABASE, U.USENAME AS USER, HAS_DATABASE_PRIVILEGE(U.USENAME, D.DATNAME, 'CONNECT') AS CAN_CONNECT, HAS_DATABASE_PRIVILEGE(U.USENAME, D.DATNAME, 'CREATE' ) AS CAN_CREATE FROM PG_DATABASE D CROSS JOIN PG_USER U WHERE U.USENAME = 'testuser1'; |
※ testuser1 : 사용자명, 대소문자 구분한다. ▶ 실행 결과
■ CREATE ROLE … WITH LOGIN PASSWORD … 명령을 사용해 사용자를 생성하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
CREATE ROLE user1 WITH LOGIN PASSWORD '1234'; |
※ user1 :
■ 데이터베이스 목록을 조회하는 방법을 보여준다. (PGSQL) ▶ 실행 명령
1 2 3 4 5 6 7 |
postgres=# \l 또는 postgres=# \list |
▶ 실행 결과
1 2 3 4 5 6 7 8 9 10 11 12 |
List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+------------------+------------------+----------------------- postgres | postgres | UTF8 | Korean_Korea.949 | Korean_Korea.949 | stat | postgres | UTF8 | Korean_Korea.949 | Korean_Korea.949 | template0 | postgres | UTF8 | Korean_Korea.949 | Korean_Korea.949 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | Korean_Korea.949 | Korean_Korea.949 | =c/postgres + | | | | | postgres=CTc/postgres (4 rows) |
■ 데이터베이스 목록을 조회하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
SELECT DATNAME FROM PG_DATABASE; |
■ ALTER USER … WITH … 명령을 사용해 사용자 권한을 설정하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 |
ALTER USER user1 WITH CREATEDB; ALTER USER user1 WITH SUPERUSER; |
■ CREATE USER … WITH PASSWORD … 명령을 사용해 사용자를 생성하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
CREATE USER user1 WITH PASSWORD '1234'; |
※ user1 : 사용자명
■ 우분투에서 도커로 PostgreSQL 데이터베이스를 설치하는 방법을 보여준다. 1. CTRL + ALT + T 키를 눌러서 [터미널]을 실행한다. 2. [터미널]에서 아래 명령을
■ DESC 명령을 사용해 테이블의 상세 정보를 조회하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 6 7 8 9 10 11 12 13 |
mysql> DESC user_log; +------------+---------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+---------------+------+-----+---------+----------------+ | id | int | NO | PRI | NULL | auto_increment | | nockname | varchar(64) | YES | | NULL | | | money | decimal(10,2) | YES | | NULL | | | last_visit | datetime | YES | | NULL | | +------------+---------------+------+-----+---------+----------------+ 4 rows in set (0.00 sec) |
※ user_log : 테이블명
■ CREATE TABLE 명령을 테이블을 생성하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 6 7 8 9 10 |
CREATE TABLE user_log ( id INT NOT NULL AUTO_INCREMENT, nockname VARCHAR(64), money DEC(10, 2), last_visit DATETIME, PRIMARY KEY(id) ); |
■ SHOW TABLES 명령을 사용해 테이블 목록을 조회하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
mysql> SHOW TABLES; |
■ USE 명령을 사용해 데이터베이스를 선택하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
mysql> USE testdb |
※ testdb : 데이터베이스명
■ CREATE DATABASE 명령을 사용해 데이터베이스를 생성하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
mysql> CREATE DATABASE testdb; |
※ testdb : 데이터베이스명
■ SHOW DATABASES 명령을 사용해 데이터베이스 목록을 조회하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 6 7 8 9 10 11 12 13 |
mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec) |
■ 우분투에서 도커로 MySQL 데이터베이스를 설치하는 방법을 보여준다. 1. CTRL + ALT + T 키를 눌러서 [터미널]을 실행한다. 2. [터미널]에서 아래 명령을
■ 우분투에서 도커로 MongoDB 데이터베이스를 설치하는 방법을 보여준다. 1. CTRL + ALT + T 키를 눌러서 [터미널]을 실행한다. 2. [터미널]에서 아래 명령을
■ VACUUM FULL … 명령을 사용해 테이블 데이터를 정리하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 |
VACUUM FULL LIBRARY_DATA; ※ LIBRARY_DATA : 대상 테이블명 |
※ Vaccum은 PostgreSQL의 MVCC 구현 방법에서
■ – 연산자를 사용해 두 날짜 사이의 일수를 계산하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
SELECT '2023-10-18'::DATE - '2023-01-01'::DATE; |
■ EXTRACT 함수를 사용해 날짜 값에서 요일을 구하는 방법을 보여준다. (월요일-일요일) ▶ 예제 코드 (SQL)
1 2 3 4 5 6 7 8 9 10 11 12 |
SELECT CASE EXTRACT(ISODOW FROM DATE '2023-02-20') WHEN 1 THEN '월' WHEN 2 THEN '화' WHEN 3 THEN '수' WHEN 4 THEN '목' WHEN 5 THEN '금' WHEN 6 THEN '토' WHEN 7 THEN '일' END AS WEEK_DAY; |