DB/postgresql 3

PostgreSQL INSERT 중복방지

INSERT ON CONFLICTON CONFLICT 는 PostgreSQL 9.5이상의 버전에서 사용이 가능합니다. 더 낮은 버전을 사용하고 있다면, 사용이 어렵습니다.INSERT ON CONFLICT 문은 새롭게 INSERT될 데이터가 이미 테이블에 존재하는 경우, 거기에 대한 제어를 할 수 있게 합니다.INSERT ON CONFLICTINSERT ON CONFLICT 문은 아래와 같이 사용됩니다.xxxxxxxxxxINSERT INTO table_name(column_list) VALUES(value_list)ON CONFLICT target action;DML의 INSERT 문에 ON CONFLICT target action 이 붙는 형식으로 이루어집니다.target & actiontargetcol..

DB/postgresql 2020.04.10

PostgreSQL EXISTS & IN

EXISTS & INPostgreSQL에서 기존 데이터와의 중복을 방지하는 법을 알아봅니다.EXISTSxxxxxxxxxxEXISTS (subquery)EXISTS 연산자는 subquery 가 1튜플(row)이라도 반환되는 경우, 결과가 true 로 반환됩니다.예시고객(customer)중 11보다 더 많은 비용(amount)을 지불한 사람들을 출력xxxxxxxxxxSELECT first_name, last_nameFROM customer cWHERE EXISTS (SELECT 1 FROM payment p WHERE p.customer_id = c.customer_id AND amount > 11 )ORDER BY first_name, last_name;NOT EXISTSNOT EXISTS 연산자는 EXI..

DB/postgresql 2020.04.10

pg_hba.conf 설정하기

@markdown_## Host TypeHost Type은 접근자의 접근위치와 통신의 암호화 관련 설정입니다. local, host, hostssl, hostnossl을 지원합니다.local은 자칫 localhost로 생각할 수 있겠지만, local은 Unix Domain Socket을 통한 접속에 해당되는 것으로 다소 햇갈릴수 있으니 주의 하시기 바랍니다.#### 데이터베이스의 백업 및 복구hostssl은 ssl인증서를 통한 암호화 통신만 지원하며 localhost, 127.0.0.1식의 즉 TCP/IP접속에 해당된다. hostnossl은 ssl접속은 불가능하며, TCP/IP통신을 지원합니다.host나 hostssl로 설정한 상태에서 SSL기능을 사용하시려면 Postgres컴파일시 –with-opens..

DB/postgresql 2019.01.15