본문 바로가기

프로그래밍/Back-end

docker + postgresql 파헤치기

https://www.tutorialspoint.com/postgresql/postgresql_select_query.htm

docker-compose.yml 에 설정된 DB에 따라 docker-compose up 시 Database 및 계정이 생성된다.

  // docker-compose.yml 일부
  ...
  db:
    image: postgres
    container_name: db-container
    ports: 
      - 6543:5432
    environment:
      - POSTGRES_DB=db_name
      - POSTGRES_USER=user_name
      - POSTGRES_PASSWORD=password
    networks:
      - django-nginx
 ...

위의 environment 부분을 보면 된다.

// container bash 실행
docker exec -it <container-name> bash 
// psql 실행, -U : user
psql -U <user> <dbname>

명령어 모음

dbname=# \l
 => List of databases

dbname=# \c test
 => Change db to test

test=# CREATE TABLE COMPANY(
test(#    ID INT PRIMARY KEY     NOT NULL,
test(#    NAME           TEXT    NOT NULL,
test(#    AGE            INT     NOT NULL,
test(#    ADDRESS        CHAR(50),
test(#    SALARY         REAL,
test(#    JOIN_DATE  DATE
test(# );
CREATE TABLE

test=# \d
             List of relations
 Schema |      Name      |   Type   | Owner 
--------+----------------+----------+-------
 public | company        | table    | kdn   
 public | company_id_seq | sequence | kdn
(2 rows)

test=# INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (1, 'Paul', 32, 'California', 20000.00,'2001-07-13');
INSERT 0 1

test=# SELECT * FROM COMPANY;
 id | name | age |                      address                       | salary | join_date  
----+------+-----+----------------------------------------------------+--------+------------
  1 | Paul |  32 | California                                         |  20000 | 2001-07-13
(1 row)

 

꿀팁

TABLE 생성 도우미 : https://www.mockaroo.com/