전체 글

전체 글

    [PostgreSQL] Delete duplicates in array

    🔗 Reference 9.19. Array Functions and Operators 9.19. Array Functions and Operators Table 9.51 shows the specialized operators available for array types. In addition to those, the usual comparison … www.postgresql.org Postgres 11 | dbfiddle ERROR: new row for relation "address" violates check constraint "check_cities_are_not_duplicate" DETAIL: Failing row contains ({C,C}). dbfiddle.uk

    [PostgreSQL] Use `identity` instead of `serial`

    Primary Key + Auto_Increment 를 하고싶을 때, Sequence, Serial 을 버려라. Sequence 특징 데이터 타입을 따로 명시해야하고. 테이블 생성시 같이 선언해야한다. 값을 업데이트할 경우, sequence 이름을 명시해야한다. Serial 특징 데이터 타입을 따로 명시할 필요가 없다. `INSERT` privilege 를 테이블 권한에 및 `USAGE` privilege 를 기저를 이루는 sequence 에 줘야한다. (Serial 도 결국 sequence 생성이 이뤄지기 때문에) ✅ PostgreSQL version 10부터는 Identity 가 국룰이다. 특징 컬럼의 데이터 타입을 명시해야하고 오로지 `INSERT` privilege 만 테이블에 부여하는 것으로 충..

    [DB] Key (Index) 는 어떻게 동작하나?

    쿼리에서 Key를 타면 시간 복잡도? 예상 O(1) or O(log N) ✅ 복합키면 시간 복잡도? 위와 그대로 결국 DB도 해시테이블 구조라 해싱 컴퓨팅 비용만 들이고 미리 키만 저장하면 O(1)이 들거라 생각. 복합키면 해싱 비용이 더 들어갈 뿐이지 시간복잡도의 오르내림은 없을것. 틀렸다. 해시 테이블이 아니라 B-Tree의 O(Log N) Example table Full Table Scan 테이블의 전체 row 를 확인하는 것. -- name is not indexed column EXPLAIN ANALYZE SELECT id FROM test.public.users WHERE name='kkk'; 실행 결과 `Seq Scan` 이 이뤄짐을 알 수있다. postgresql 에서의 `Seq Scan..

    [Docker] data container using volume

    🎯 What's target? Sometimes we neeeds share and backup & restore among multiple containers. It's time to use volume. Volume path according to Host OS Host OS path Linux /var/lib/docker (standard) Windows ?? (VM) Mac ~/Libfrary/Containers/com.docker.docker/Data/vms/0/tty (VM) Windows, Mac both use Virtual machine based on linux since docker use default linux mechanism Step by Step using data conta..

    [PostgreSQL] CHECK Constraint

    When to use? 특정 attribute 의 값의 범위를 강제할 때. ex) birth_date DATE CHECK (birth_date > '1900-01-01') age INT CHECK (age between 0 and 100) How to use? 네이밍 컨벤션 __check CREATE TABLE ALTER TABLE 🔗 Reference PostgreSQL CHECK Constraint Summary: in this tutorial, you will learn about the PostgreSQL CHECK constraints and how to use them to constrain values in columns of a table based on a boolean expressio..

    [git] gitlab CI/CD to AWS EC2 (2)

    Gitlab CI operation sequence Git push || merge events occurs Start pipeline on Gitlab-Runner Pull images from docker hub Docker instantiate container according to image Git pull repository (target branch) Execute jobs on Gitlab-Runner Report the result to Gitlab-Server Why Gitlab-Runner use Docker as default? Isolation 실제 구동되고 있는 인스턴스와 무관하게 컨테이너에서 동작함. Flexibility Configuration 변경이 자유로움. Docker ..