-
[yongggg's] Make sample database & example table with PostgreSQLPostgreSQL 2025. 1. 7. 15:03
안녕하세요 이번 장에서는 PostgreSQL의 기본적인 사용법을 익힐겸, sample database 및 table을 만들어 보려고 합니다.
먼저 서버환경에서 postgre의 환경 구성은 다음 블로그의 글을 보고 구축할 수 있습니다. (자신의 OS, Ubuntu 버전을 잘 확인하시어 image를 받으시면 될 것 같습니다.)
https://yongggg.tistory.com/81
[yongggg's] psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory Is
docker container에 설치(저는 docker hub의 postgre official 15.10 (ubuntu 22.04.4) 버전을 이용했습니다.)이번 장에서는 postgre 최초 설정시 다음과 같은 에러에 대해 알아보도록 하겠습니다.psql: error: connection
yongggg.tistory.com
그럼 sample database 및 table을 만들어 보겠습니다!
DATABASE 조회
먼저 다음의 명령어로 현재 지니고 있는 DATABASE를 조회할 수 있다.
\l
아무것도 생성하지 않았는데 기본적으로 있는 DATABASE가 있는 것 같다.
DATABASE 생성
다음으로 DATABASE를 생성할 것이다. DATABASE는 다음의 명령어로 생성할 수 있다.
CREATE DATABASE {name of database}
또, 이 데이터 베이스에 권한을 부여하고 싶다면, 다음과 같은 명령어로 권한을 부여할 수 있다. (사전에 [어떠한 권한]을 가지는 USER를 생성해야 함.)
# SUPER 권한을 부여하는 USER 생성 # CREATE USER (USER_NAME) PASSWORD 'PASSWORD' SUPERUSER; # CREATE DB 권한을 부여하는 USER 생성 # ALTER USER (USER_NAME) (줄_권한(CREATEDB)); # DB에 USER의 모든 권한 부여 # GRANT ALL PRIVILEGES ON DATABASE (DB_NAME) TO (USER_NAME); CRAETE DATABASE (DB_NAME) WITH OWNER (USER_NAME) ENCODING 'UTF8';
** (참고) 또, database를 지울 때에는 다음과 같은 명령어로 지울 수 있다.
# database 삭제 명령어 drop database [name of database]
TABLE 생성
sample table은 통계 수업때 많이 다뤘던 iris 데이터로 정했으며, 몇 개의 sample로 추가해볼 것이다.
table을 생성하는 코드는 다음과 같다.
\c sample # sample database에 접근 create table iris(id INT, sepal_length FLOAT, sepal_width FLOAT, petal_length FLOAT, petal_width FLOAT, class_name text); # Another method create table iris; alter table iris add column id INT, add column sepal_length FLOAT, add column sepal_width FLOAT, add column petal_length FLOAT, add column petal_width FLOAT, add column class_name text;
이렇게 table 및 기본 schema를 정의할 수 있으며, table이 정상적으로 생성되었는지는 다음 명령어로 확인할 수 있다.
# 특정 table 조회 \d [name of table] # 그냥 조회 \d
** (참고) 또 table을 지우고자 하면 다음과 같은 명령어로 table을 지울 수 있다.
# 테이블 삭제 명령어 drop table [name of table]
Table INSERT
insert into iris VALUES (1,5.1,3.5,1.4,0.2,'Iris-setosa'), (2,4.9,3.0,1.4,0.2,'Iris-setosa'), (3,4.7,3.2,1.3,0.2,'Iris-setosa'), (4,4.6,3.1,1.5,0.2,'Iris-setosa'), (5,5.0,3.6,1.4,0.2,'Iris-setosa'), (6,5.4,3.9,1.7,0.4,'Iris-setosa'), (7,4.6,3.4,1.4,0.3,'Iris-setosa'), (8,5.0,3.4,1.5,0.2,'Iris-setosa'), (9,4.4,2.9,1.4,0.2,'Iris-setosa'), (10,4.9,3.1,1.5,0.1,'Iris-setosa'), (11,7.0,3.2,4.7,1.4,'Iris-versicolor'), (12,6.4,3.2,4.5,1.5,'Iris-versicolor'), (13,6.9,3.1,4.9,1.5,'Iris-versicolor'), (14,5.5,2.3,4.0,1.3,'Iris-versicolor'), (15,6.5,2.8,4.6,1.5,'Iris-versicolor'), (16,5.7,2.8,4.5,1.3,'Iris-versicolor'), (17,6.3,3.3,4.7,1.6,'Iris-versicolor'), (18,4.9,2.4,3.3,1.0,'Iris-versicolor'), (19,6.6,2.9,4.6,1.3,'Iris-versicolor'), (20,5.2,2.7,3.9,1.4,'Iris-versicolor'), (21,6.3,3.3,6.0,2.5,'Iris-virginica'), (22,5.8,2.7,5.1,1.9,'Iris-virginica'), (23,7.1,3.0,5.9,2.1,'Iris-virginica'), (24,6.3,2.9,5.6,1.8,'Iris-virginica'), (25,6.5,3.0,5.8,2.2,'Iris-virginica'), (26,7.6,3.0,6.6,2.1,'Iris-virginica'), (27,4.9,2.5,4.5,1.7,'Iris-virginica'), (28,7.3,2.9,6.3,1.8,'Iris-virginica'), (29,6.7,2.5,5.8,1.8,'Iris-virginica'), (30,7.2,3.6,6.1,2.5,'Iris-virginica');
위처럼 원소들을 삽입했다면, 다음의 명령어로 table 안에 원소들이 잘 들어갔는지 확인할 수 있다.
select * from iris; # 확인 창을 닫을 때 q
PostgreSQL 환경에서 나가기
PostgreSQL 환경 밖인 docker container로 나가는 명령어는 다음과 같다.
\q
이번 장에서는 PostgreSQL에 database 및 table을 생성하는 방법에 대해 알아보았습니다!
다음 장에서는 이 DB와 LLM을 연동하는 내용을 살펴보려고 합니다. 많은 기대 부탁드려요!! ^-^
'PostgreSQL' 카테고리의 다른 글
[yongggg's] docker PostgreSQL container에 DBeaver 연결하는 방법 (1) 2025.01.08