모니터링 및 메트릭
Managed Postgres 인스턴스의 메트릭은 어떻게 확인하나요?
상세한 쿼리 분석을 위한 Query Performance Insights는 곧 제공될 예정입니다.
백업 및 복구
사용 가능한 백업 옵션은 무엇입니까?
인프라 및 자동화
Managed Postgres에서 Terraform을 지원하나요?
확장 기능 및 구성
어떤 확장 기능을 지원하나요?
PostgreSQL 구성 매개변수를 사용자 지정할 수 있나요?
연결 풀링
PgBouncer를 통해 prepared statement does not exist 오류가 발생하는 이유는 무엇입니까?
PREPARE(또는 확장 쿼리 Parse)를 실행한 특정 백엔드에 연결되어 있기 때문입니다. 해당 Execute가 다른 백엔드로 전달되면 다음과 같은 오류가 발생합니다:
- 특히 backfill이나 동시성이 높은 쓰기 작업 중에
prepared statement does not exist오류가 급증합니다 - “조용히 실패하는” 것처럼 보이는 삽입 — SQL 문에서 오류가 발생하고 드라이버가 재시도하면서, Batch가 일부만 적용되거나 아예 누락될 수 있습니다
- 유형이 잘못된 반환 값(예:
BIGINT컬럼이float64비트 패턴으로 디코딩됨) — 캐시된 클라이언트 측 계획이, 해당Parse를 전송받은 적이 없는 백엔드에 오래된 유형/포맷 코드를 재사용할 때 발생합니다
워크로드가 prepared statement에 의존한다면, PgBouncer 풀러를 거치지 말고 PostgreSQL에 직접(포트 5432) 연결하십시오. 직접 연결은 prepared statement를 정상적으로 지원합니다. pooled 엔드포인트와 direct 엔드포인트 중 무엇을 선택할지에 대한 자세한 내용은 Connection을 참조하십시오.
PgBouncer의 “max_client_conn” 설정은 무엇을 의미하며, Postgres의 max_connections와는 어떤 관련이 있습니까?
- **Postgres
max_connections**는 PostgreSQL 자체의 백엔드(backend) 연결 수 상한을 정합니다. 이 값은 비용이 큰 편입니다. 각 백엔드는 메모리와 프로세스 슬롯을 사용합니다. - **PgBouncer
max_client_conn**는 풀러에 동시에 열 수 있는 클라이언트(client) 연결 수 상한을 정합니다. PgBouncer는 이렇게 많은 클라이언트 연결을 훨씬 더 적은 수의 백엔드 연결에 다중화합니다.
default_pool_size)에 걸렸을 가능성이 훨씬 높습니다.
데이터베이스 기능
여러 데이터베이스와 스키마를 생성할 수 있습니까?
역할 기반 접근 제어(RBAC)를 지원하나요?
Console 통합이 포함된 향상된 RBAC 기능은 올해 중 제공될 예정입니다.
업그레이드
PostgreSQL 버전 업그레이드는 어떻게 처리되나요?
마이그레이션
Managed Postgres로 마이그레이션할 때 사용할 수 있는 도구는 무엇인가요?
- pg_dump and pg_restore: 소규모 데이터베이스 또는 일회성 마이그레이션에 적합합니다. pg_dump and pg_restore 가이드를 참조하세요.
- Logical replication: 다운타임을 최소화해야 하는 대규모 데이터베이스에 적합합니다. 논리적 복제 가이드를 참조하세요.
- PeerDB: 다른 Postgres 소스의 CDC 기반 복제에 적합합니다. PeerDB migration 가이드를 참조하세요.
완전 관리형 마이그레이션 환경이 곧 제공될 예정입니다.