계정 로그인
postgres 계정으로 로그인을 해줍니다.
PostgreSQL 은 postgres 계정에서 진행해 주어야 합니다.
PostgreSQL 기본 디렉터리 확인
Ubuntu 기준 PostgreSQL 은 아래의 경로를 기본값으로 가집니다.
참고로 하위폴더 (예: 10) 는 버전에 따라 값이 달라질 수 있습니다.
postgresql.conf 파일을 수정하여 환경설정 값을 변경할 수 있습니다.
용도 | 경로 |
데이터 파일 경로 | /var/lib/postgresql/10/main/ |
HBA 파일 경로 | /etc/postgresql/10/main/pg_hba.conf |
환경설정 파일 경로 | /etc/postgresql/10/main/postgresql.conf |
소켓 경로 | /var/run/postgresql/ |
PostgreSQL 데이터베이스 생성하는 방법
하나의 PostgreSQL 서버는 많은 데이터베이스를 관리할 수 있습니다.
기본적으로 2가지 방법으로 생성할 수 있고
OS 에서 데이터베이스를 생성하는 명령어는 'createdb'
PSQL 에서 데이터베이스를 생성하는 명령어는 CREATE DATABASE 구문입니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
root@VirtualBox:~# createdb --help
createdb creates a PostgreSQL database.
Usage:
createdb [OPTION]... [DBNAME] [DESCRIPTION]
Options:
-D, --tablespace=TABLESPACE default tablespace for the database
-e, --echo show the commands being sent to the server
-E, --encoding=ENCODING encoding for the database
-l, --locale=LOCALE locale settings for the database
--lc-collate=LOCALE LC_COLLATE setting for the database
--lc-ctype=LOCALE LC_CTYPE setting for the database
-O, --owner=OWNER database user to own the new database
-T, --template=TEMPLATE template database to copy
-V, --version output version information, then exit
-?, --help show this help, then exit
Connection options:
-h, --host=HOSTNAME database server host or socket directory
-p, --port=PORT database server port
-U, --username=USERNAME user name to connect as
-w, --no-password never prompt for password
-W, --password force password prompt
--maintenance-db=DBNAME alternate maintenance database
By default, a database with the same name as the current user is created.
Report bugs to <pgsql-bugs@postgresql.org>.
|
cs |
현재 데이터베이스 목록은 아래와 같습니다.
1
2
3
4
5
6
7
8
9
10
|
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
postgres | postgres | UTF8 | ko_KR.UTF-8 | ko_KR.UTF-8 |
template0 | postgres | UTF8 | ko_KR.UTF-8 | ko_KR.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | ko_KR.UTF-8 | ko_KR.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(3 rows)
|
cs |
1. psql 에서 생성하는 방법
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
postgres=# create database psqlDB OWNER postgres ENCODING 'UTF-8';
CREATE DATABASE
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
postgres | postgres | UTF8 | ko_KR.UTF-8 | ko_KR.UTF-8 |
psqldb | postgres | UTF8 | ko_KR.UTF-8 | ko_KR.UTF-8 |
template0 | postgres | UTF8 | ko_KR.UTF-8 | ko_KR.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | ko_KR.UTF-8 | ko_KR.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(4 rows)
|
cs |
2. OS 커맨드로 생성하는 방법
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
postgres@VirtualBox:~/10/main$ createdb osDB -O postgres --encoding='utf-8'
postgres@VirtualBox:~/10/main$ psql
psql (10.16 (Ubuntu 10.16-0ubuntu0.18.04.1))
Type "help" for help.
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
osDB | postgres | UTF8 | ko_KR.UTF-8 | ko_KR.UTF-8 |
postgres | postgres | UTF8 | ko_KR.UTF-8 | ko_KR.UTF-8 |
psqldb | postgres | UTF8 | ko_KR.UTF-8 | ko_KR.UTF-8 |
template0 | postgres | UTF8 | ko_KR.UTF-8 | ko_KR.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | ko_KR.UTF-8 | ko_KR.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(5 rows)
|
cs |
추가로 데이터베이스를 생성하면서 필요한 옵션들을 지정할 수 있습니다.
소유계정이나 인코딩 temp DB 등을 설정할 수 있습니다.
'Database > PostgreSQL' 카테고리의 다른 글
[PostgreSQL] PostgreSQL Peer authentication failed for user 에러 (0) | 2021.03.14 |
---|---|
[PostgreSQL] PostgreSQL 사용자 계정 추가와 롤 부여하는 방법 (0) | 2021.03.14 |
[PostgreSQL] PostgreSQL 다운로드 및 설치하기 (0) | 2021.03.14 |
[PostgreSQL] PostgreSQL 소개 (0) | 2021.03.14 |
[PostgreSQL] 테이블 목록 조회하기 (0) | 2018.07.13 |