
OID는 PostgreSQL에서 객체 식별자로 사용되며, 일반적으로 객체가 생성될 때 증가하는 식별자입니다. 그러나 OID가 증가하지 않는 경우는 다음과 같습니다.
1. OID가 삭제된 경우: OID가 삭제된 경우, 해당 OID는 다시 할당되지 않으며, OID가 증가하지 않습니다. 예를 들어, 다음과 같은 쿼리를 실행한 경우, OID가 삭제된 경우입니다.
#hostingforum.kr
sql
BEGIN;
DELETE FROM 테이블명 WHERE OID = 특정_OID;
COMMIT;
2. OID가 재할당된 경우: OID가 재할당된 경우, 해당 OID는 다시 할당되지 않으며, OID가 증가하지 않습니다. 예를 들어, 다음과 같은 쿼리를 실행한 경우, OID가 재할당된 경우입니다.
#hostingforum.kr
sql
BEGIN;
ALTER TABLE 테이블명 ALTER COLUMN OID SET DEFAULT OID;
COMMIT;
OID가 증가하지 않는 이유는 PostgreSQL의 OID 할당 정책 때문입니다. PostgreSQL는 OID를 할당할 때, 이전에 삭제된 OID를 재사용하지 않도록 하기 위해 OID를 재할당하지 않습니다. 또한, OID가 재할당되는 경우, 데이터베이스의 일관성을 유지하기 위해 OID가 증가하지 않습니다.
2025-06-09 21:25