ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [yongggg's] Make sample database & example table with PostgreSQL
    PostgreSQL 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을 연동하는 내용을 살펴보려고 합니다. 많은 기대 부탁드려요!! ^-^

Designed by Tistory.