pgactive 스키마 이해
pgactive 스키마는 RDS for PostgreSQL에서 액티브-액티브 복제를 관리합니다. 이 스키마에는 복제 구성 및 상태 정보를 저장하는 테이블이 포함되어 있습니다.
참고
pgactive 스키마는 발전 중이며 변경될 수 있습니다. 이러한 테이블의 데이터를 직접 수정하지 마세요.
pgactive 스키마의 키 테이블에는 다음이 포함됩니다.
-
pgactive_nodes
- 액티브-액티브 복제 그룹의 노드에 대한 정보를 저장합니다. -
pgactive_connections
- 각 노드의 연결 세부 정보를 저장합니다.
pgactive_nodes
pgactive_nodes는 액티브-액티브 복제 그룹에 참여하는 노드에 대한 정보를 저장합니다.
열 |
유형 |
콜레이션 |
Nullable |
Default |
---|---|---|---|---|
node_sysid | 텍스트 | – | Null이 아님 | – |
node_timeline | oid | – | Null이 아님 | – |
node_dboid | oid | – | Null이 아님 | – |
node_status | char | – | Null이 아님 | – |
node_name | 텍스트 | – | Null이 아님 | – |
node_dsn | 텍스트 | – | Null이 아님 | – |
node_init_from_dsn | 텍스트 | – | Null이 아님 | – |
node_read_only | 부울 | – | – | false |
node_seq_id | smallint | – | Null이 아님 | – |
- node_sysid
-
pgactive_create_group
또는pgactive_join_group
중에 생성된 노드의 고유 ID - node_status
-
노드 준비 상태:
-
b - 설정 시작
-
i - 초기화 중
-
c - 캐치업
-
o - 아웃바운드 슬롯을 만드는 중
-
r - 준비됨
-
k - 종료됨
참고
이 열은 노드가 연결 또는 연결 해제되었는지 여부를 나타내지 않습니다.
-
- node_name
-
사용자가 제공한 고유 노드 이름입니다.
- node_dsn
-
연결 문자열 또는 사용자 매핑 이름입니다.
- node_init_from_dsn
-
이 노드가 생성된 DSN입니다.
pgactive_connection
pgactive_connections는 각 노드에 대한 연결 세부 정보를 저장합니다.
열 | 유형 | 콜레이션 | Nullable | Default |
---|---|---|---|---|
conn_sysid | 텍스트 | 없음 | Null이 아님 | 없음 |
conn_timeline | oid | 없음 | Null이 아님 | 없음 |
conn_dboid | oid | 없음 | Null이 아님 | 없음 |
conn_dsn | 텍스트 | 없음 | Null이 아님 | 없음 |
conn_apply_delay | 정수 | 없음 | 없음 | 없음 |
conn_replication_sets | 텍스트 | 없음 | 없음 | 없음 |
- conn_sysid
-
이 항목이 참조하는 노드의 노드 식별자입니다.
- conn_dsn
-
pgactive.pgactive_nodes
node_dsn
과 동일합니다. - conn_apply_delay
-
설정된 경우 원격 노드에서 각 트랜잭션을 적용하기 전에 기다릴 시간(밀리초)입니다. 주로 디버깅용입니다. null인 경우 글로벌 기본값이 적용됩니다.
복제 세트 작업
복제 세트는 복제 작업에서 포함하거나 제외할 테이블을 결정합니다. 기본적으로 달리 지정하지 않는 한 다음 함수를 사용하여 모든 테이블이 복제됩니다.
-
pgactive_exclude_table_replication_set()
- 복제에서 지정된 테이블을 제외합니다. -
pgactive_include_table_replication_set()
- 복제에 지정된 테이블을 포함합니다.
참고
복제 세트를 구성하기 전에 다음 사항을 고려하세요.
-
pgactive_create_group()
을 실행한 후 그리고pgactive_join_group()
전에만 테이블 포함 또는 제외를 구성할 수 있습니다. -
pgactive_exclude_table_replication_set()
를 사용한 후에는pgactive_include_table_replication_set()
를 사용할 수 없습니다. -
pgactive_include_table_replication_set()
를 사용한 후에는pgactive_exclude_table_replication_set()
를 사용할 수 없습니다.
시스템은 초기 구성에 따라 새로 만들어진 테이블을 다르게 처리합니다.
-
테이블을 제외한 경우:
pgactive_join_group()
이후에 생성된 모든 새 테이블은 복제에 자동으로 포함됩니다. -
테이블을 포함한 경우:
pgactive_join_group()
이후에 생성된 모든 새 테이블은 복제에서 자동으로 제외됩니다.
특정 테이블에 대한 복제 세트 구성을 보려면 pgactive.pgactive_get_table_replication_sets()
함수를 사용합니다.