[PostgreSQL] duplicate key value violates unique constraint 에러가 데이터베이스에 미치는 영향
·
개발 (Development)/PostgreSQL
PostgreSQL에서 duplicate key value violates unique constraint 에러와 DB 부하PostgreSQL에서 duplicate key value violates unique constraint 에러가 발생할 때, 에러 자체가 직접적으로 데이터베이스에 부하를 유발하지는 않지만, 자주 발생하거나 잘못된 쿼리가 반복적으로 실행되면 간접적으로 DB 성능에 영향을 줄 수 있습니다.왜 부하가 생길 수 있는지?1. 트랜잭션 롤백 비용duplicate key value violates unique constraint 에러는 트랜잭션 내에서 발생하며, 에러가 발생하면 해당 트랜잭션을 롤백해야 합니다. 롤백은 CPU와 디스크 I/O를 사용하므로, 에러가 반복적으로 발생하면 부하가 증가..
[PostgreSQL] PostgreSQL 훑어보기
·
개발 (Development)/PostgreSQL
PostgreSQL에서 자주 사용하는 기술들PostgreSQL은 강력하고 유연한 오픈소스 관계형 데이터베이스 시스템(RDBMS)입니다. 여러 가지 강력한 기능들을 제공하며, 많은 개발자들이 이 시스템을 이용해 데이터베이스를 관리하고 있습니다. 이 글에서는 PostgreSQL에서 자주 사용되는 기술들에 대해 살펴보겠습니다.1. SQL 쿼리 최적화SQL 쿼리 최적화는 데이터베이스 성능을 높이는 중요한 과정입니다. 쿼리를 최적화함으로써 데이터를 빠르게 조회하고, 성능을 개선할 수 있습니다.EXPLAIN: EXPLAIN 명령어를 사용하여 쿼리 실행 계획을 확인할 수 있습니다. 이를 통해 쿼리의 성능을 분석하고, 인덱스가 제대로 사용되고 있는지, 조인의 효율성을 점검할 수 있습니다.EXPLAIN SELECT * ..
[PostgreSQL] 데이터 타입이 text 이고, JSON 문자열인 열의 값 수정
·
개발 (Development)/PostgreSQL
PostgreSQL에서 JSON 문자열의 특정 값을 수정하는 방법PostgreSQL에서 JSON 형태의 데이터를 문자열로 저장하고 있을 때, 특정 값을 업데이트하려면 문자열 데이터를 JSON으로 변환하여 수정한 뒤 다시 문자열로 변환해야 합니다. 아래는 JSON 문자열에서 upperLimit 또는 lowerLimit 값을 수정하는 방법을 설명합니다.문제 상황컬럼에 아래와 같은 JSON 문자열이 저장되어 있다고 가정합니다:{ "type": "default", "type": "default", "spec": { "upperLimit": 4.0, "lowerLimit": 0.0 }}여기에서:upperLimit 값을 기존 값과 상관없이 새 값으로 수정하고 싶습니다.또는 lowerLimit 값을..
[PostgreSQL] 기존 데이터를 참조하여 INSERT
·
개발 (Development)/PostgreSQL
PostgreSQL: 기존 데이터를 참조하여 INSERT 문 작성하기이번 포스팅에서는 PostgreSQL에서 기존 데이터를 참조해 새로운 데이터를 삽입하는 INSERT 문을 작성하는 방법을 알아보겠습니다. 특히 JSON 형식 데이터를 다룰 때 특정 값을 변환하여 새 컬럼에 저장하는 방법을 중심으로 설명합니다.문제 상황테이블에 JSON 형식의 데이터를 가진 컬럼이 있습니다.JSON 데이터 중 intervals 키의 첫 번째 배열 값을 가져온 뒤, 문자열을 / 기준으로 나누어 두 번째 값을 새로운 컬럼에 삽입하려고 합니다.예제 테이블 구조테이블 이름: example_table컬럼 이름데이터 타입설명idINTEGER기본 키dataJSONJSON 형식 데이터new_columnTEXT새로운 데이터 컬럼SQL 문 ..