DB

[DB/PostgreSQL] bigserial, bigint

한비Skyla 2025. 1. 8. 17:08

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