PostgreSQL를 사용하는 회사에서
기존 테이블과 새로운 테이블을 조인해야 했음.
그러나 참조 키 오류가 발생해 원인을 분석함.
기존 테이블에 새로운 컬럼을 형성할 때 bigserial 의 데이터 형식으로 만들었었는데,
bigserial 사용 시: 자동으로 생성된 고유 값이 부모 테이블에 존재하지 않으면, 자식 테이블에서 해당 값을 참조할 때 참조 키 오류가 발생함.
bigint 사용 시: 사용자가 직접 값을 입력하기 때문에, 부모 테이블에 존재하는 값을 참조하도록 입력할 수 있음. 따라서, 참조 키 오류가 발생하지 않을 수 있음.
✏️ 결론
bigint를 사용할 때는 사용자가 직접 값을 관리하므로, 부모 테이블에 존재하는 값을 참조하도록 조정할 수 있음. 반면, bigserial은 자동으로 값을 생성하기 때문에, 부모 테이블에 해당 값이 존재하지 않으면 참조 키 오류가 발생할 수 있음. 따라서, 데이터 삽입 순서와 무결성을 잘 관리하는 것이 중요함.
https://adjh54.tistory.com/402
[DB/Postgres] SERIAL 데이터 타입 이해하기 : Auto Increment Column
해당 글에서는 PostgreSQL에서 Auto Increment로 사용되는 Serial데이터 타입에 대해서 알아봅니다. 1) Auto Increment 💡 Auto Increment - 데이터베이스에서 자동으로 값을 증가시키는 기능을 의미합니다. - 주
adjh54.tistory.com
✏️ My SQL AUTO_INCREASE 와 같은 역할을 함.
'DB' 카테고리의 다른 글
[Oracle] 테이블스페이스 (0) | 2025.05.03 |
---|---|
[Oracle] CDB, PDB (0) | 2025.05.03 |
[PostgreSQL] 남은 연결 슬롯은 non-replication 슈퍼유저 연결용으로 남겨 놓았음 (0) | 2025.03.12 |
ELK (0) | 2024.12.19 |