728x90 반응형 DB/PostgreSQL12 PostgreSQL 자식 파티션 스키마 변경 PostgreSQL에서 파티션 자식 테이블에 대해 아래와 같은 명령을 실행하면:ALTER TABLE aaa_20250805 SET SCHEMA schemabbbb;→ 정상적으로 실행되면, 자식 파티션의 스키마가 schemabbbb 로 변경됩니다.다만 주의사항이 몇 가지 있습니다. 👇✅ 조건 및 동작 원리aaa_20250805는 독립된 테이블 객체(OID) 이며,PostgreSQL에서는 각 파티션도 pg_class에 개별 테이블로 등록되어 있어SET SCHEMA 명령이 허용됩니다.이 명령은 다음과 같은 효과를 줍니다:aaa_20250805 테이블이 기존 스키마에서 schemabbbb 스키마로 이동기존 부모 테이블의 파티션 구성 자체는 자동으로 갱신되지 않음 (주의!)⚠️ 매우 중요한 주의사항파티션 .. 2025. 7. 30. PostgreSQL에서 pg_partitioned_table 이란? pg_partitioned_table은 **"이 테이블이 파티션의 부모 테이블인가?"**를 확인해주는 핵심 시스템 카탈로그입니다.✅ pg_partitioned_table이란?pg_partitioned_table은 PostgreSQL 10 이상에서 도입된 시스템 카탈로그로,파티션 테이블의 "부모 테이블" 정보를 담고 있습니다.즉, 어떤 테이블이 파티션의 부모인지, 그리고 어떤 컬럼을 기준으로 파티션이 나뉘는지 등을 알려줍니다.📐 주요 컬럼 pg_partitioned_table 컬럼명설명partrelid부모 테이블의 OID (pg_class.oid 참조)partstrat파티셔닝 전략 (r, l, h)partnatts파티셔닝에 사용되는 컬럼 수partattrs파티셔닝에 사용되는 컬럼 번호 배열partclas.. 2025. 7. 30. postgreSQL 에서 pg_inherits 란? pg_inherits는 PostgreSQL에서 상속 관계를 관리하는 매우 중요한 시스템 카탈로그 테이블입니다.특히 파티션 테이블을 사용할 때 반드시 이해하고 있어야 합니다.✅ pg_inherits란?pg_inherits는 PostgreSQL에서 어떤 테이블이 어떤 테이블로부터 상속받았는지를 저장하는 시스템 카탈로그입니다.즉, 자식 테이블과 부모 테이블의 관계를 나타냅니다.✅ 파티션 테이블은 내부적으로 상속 관계를 사용해서 구현되어 있기 때문에pg_inherits를 보면 어떤 자식 파티션이 어떤 부모 테이블에 속해 있는지 알 수 있습니다.📐 구조sqlCopyEdit\d pg_inherits 컬럼명설명inhrelid자식 테이블(파티션)의 oidinhparent부모 테이블의 oidinhseqno다중 상속 시.. 2025. 7. 30. PostgreSQL 에서 Relation 의 의미. PostgreSQL에서 **relation**이라는 용어는 일반적으로는 "테이블(table)"을 의미하지만, 정확히 말하면 **"테이블, 뷰, 인덱스, 시퀀스 등 모든 데이터 객체의 총칭"**입니다.✅ 정리해서 설명드리면:용어의미RelationPostgreSQL 내부적으로 사용하는 용어로, 테이블(table), 뷰(view), 인덱스(index), 시퀀스(sequence), 물리 파티션 등 모든 데이터 구조 객체의 총칭입니다.TableRelation의 한 종류. 가장 일반적으로 사용하는 사용자 데이터 저장용 구조입니다. 🔍 예시: pg_class 테이블PostgreSQL에서 시스템 카탈로그인 pg_class 테이블은 모든 relation 정보를 담고 있습니다.sqlCopyEditSELECT relnam.. 2025. 7. 30. 이전 1 2 3 다음 728x90 반응형