반응형 pgsql4 PgSQL 시퀀스 관련 불일치 발생히 참고사항 PostgreSQL에서 INSERT 시 시퀀스(sequence) 불일치 문제가 발생하면 주로 duplicate key value violates unique constraint (고유성 제약 조건 위배) 오류가 발생합니다. 이는 시퀀스가 생성하는 다음 ID 값이 테이블에 이미 존재하는 ID 값보다 작거나 같을 때 발생합니다. 이 문제를 해결하는 가장 확실한 방법은 시퀀스의 현재 값을 테이블의 최대 ID 값에 맞게 재설정하는 것입니다.해결 방법다음 SQL 쿼리를 순서대로 실행하여 시퀀스를 재동기화할 수 있습니다.테이블의 현재 최대 ID 값 확인:id_column과 your_table을 실제 사용하는 컬럼 이름과 테이블 이름으로 바꾸어 줍니다.SELECT MAX(id_column) FROM your_tabl.. 2026. 1. 14. PostgreSQL에서 프로시저(또는 PL/pgSQL의 함수) 리턴 처리 PostgreSQL에서 프로시저(또는 PL/pgSQL의 함수)를 사용할 때 행을 선택하는 방법은 여러 가지가 있습니다. 이는 단일 행을 반환해야 하는지, 여러 행을 반환해야 하는지, 아니면 결과 집합을 반복해야 하는지에 따라 달라집니다.1. 단일 행(또는 단일 값) 반환:SELECT ... INTO: 쿼리 결과를 SELECT변수 또는 레코드 변수에 할당합니다. 쿼리가 여러 행을 반환하는 경우 첫 번째 행만 할당됩니다( STRICT두 개 이상의 행이 반환되면 오류가 발생하므로 를 사용하지 않는 한).코드 CREATE FUNCTION get_employee_name(employee_id INT) RETURNS TEXT AS $$ DECLARE emp_name TEXT; BEGI.. 2025. 10. 27. Postgresql에서 실행계획을 볼 때 알면 도움이 되는 것들 정말 오랬만에 괜찮은 글을 찾은듯 해서 공유해봅니다. 설명 잘되어 있고 그리고 쉽게 이애가 가능한 조인 부분의 설명, 그리고 항상 중요하게 생각하는 쿼리 실행계획 부분에 대한 내용들, 이야기들이 있기 때문에 참고하면 좋을것 같아서 공유해봅니다. 원문 : https://joyfulviper.tistory.com/108 최근 백오피스에서 특정 쿼리의 성능이 너무 낮아 해당 쿼리의 실행계획을 보게 됐다. 이 과정속에서 알게된 내용을 기록하고자 한다. 보통 우리는 데이터를 영구적으로 저장하기 위해서 db를 사용한다. (파일 시스템을 써도 되기는 하지만.. dbms가 제공해주는 기능들을 생각하면 파일 시스템을 쓸 생각은 하지 못할 것이다) 이 때 데이터는 컴퓨터의 디스크에 저장이 된다. 아래는 제프딘의 컴.. 2025. 4. 25. PostgreSQL 역할 및 권한 (ROLE, USER, GROUP) 개념 및 설정 1. ROLE 1-1. ROLE 생성-- 기본CREATE ROLE jonathan LOGIN;-- 비밀번호 포함CREATE USER davide WITH PASSWORD 'jw8s0F4';-- 권한 포함CREATE ROLE admin WITH CREATEDB CREATEROLE;-- 사용 기한 포함CREATE ROLE miriam WITH LOGIN PASSWORD 'jw8s0F4' VALID UNTIL '2005-01-01';-- 삭제DELETE ROLE miriam;-- SynopsisCREATE ROLE name [ [ WITH ] option [ ... ] ]where option can be: SUPERUSER | NOSUPERUSER | CREATEDB | NOCRE.. 2025. 2. 20. 이전 1 다음 반응형