

# Noções básicas sobre o esquema da pgactive
<a name="Appendix.PostgreSQL.CommonDBATasks.pgactive.schema"></a>

O esquema da pgactive gerencia a replicação ativa-ativa no RDS para PostgreSQL. Esse esquema contém tabelas que armazenam informações de configuração e status da replicação.

**nota**  
O esquema da pgactive está evoluindo e está sujeito a alterações. Não modifique os dados nessas tabelas diretamente.

As tabelas principais no esquema da pgactive incluem:
+ `pgactive_nodes`: armazena informações sobre os nós no grupo de replicação ativa-ativa.
+ `pgactive_connections`: armazena detalhes da conexão para cada nó.

## pgactive\$1nodes
<a name="Appendix.PostgreSQL.CommonDBATasks.pgactive.schema.nodes"></a>

A pgactive\$1nodes armazena informações sobre os nós que participam do grupo de replicação ativa-ativa. 


| Coluna | Tipo | Collation (Agrupamento) | Anulável | Padrão | 
| --- | --- | --- | --- | --- | 
| node\$1sysid | texto | – | não nulo | – | 
| node\$1timeline | oid | – | não nulo | – | 
| node\$1dboid | oid | – | não nulo | – | 
| node\$1status | char | – | não nulo | – | 
| node\$1name | texto | – | não nulo | – | 
| node\$1dsn | texto | – | não nulo | – | 
| node\$1init\$1from\$1dsn | texto | – | não nulo | – | 
| node\$1read\$1only | booleano | – | – | false | 
| node\$1seq\$1id | smallint | – | não nulo | – | 

**node\$1sysid**  
ID exclusivo para um nó, gerado durante `pgactive_create_group` ou `pgactive_join_group`.

**node\$1status**  
Prontidão do nó:  
+ **b**: iniciando a configuração
+ **i**: inicializando
+ **c**: recuperando
+ **o**: criando slots de saída
+ **r**: pronto
+ **k**: encerrado
Essa coluna não indica se um nó está conectado ou desconectado.

**node\$1name**  
Nome de nó exclusivo fornecido pelo usuário.

**node\$1dsn**  
String de conexão ou nome de mapeamento do usuário

**node\$1init\$1from\$1dsn**  
DSN com base no qual esse nó foi criado.

## pgactive\$1connection
<a name="Appendix.PostgreSQL.CommonDBATasks.pgactive.schema.connection"></a>

A pgactive\$1connections armazena detalhes da conexão para cada nó.


| Coluna | Tipo | Collation (Agrupamento) | Anulável | Padrão | 
| --- | --- | --- | --- | --- | 
| conn\$1sysid | texto | nenhuma | não nulo | nenhuma | 
| conn\$1timeline | oid | nenhuma | não nulo | nenhuma | 
| conn\$1dboid | oid | nenhuma | não nulo | nenhuma | 
| conn\$1dsn | texto | nenhuma | não nulo | nenhuma | 
| conn\$1apply\$1delay | integer | nenhuma | nenhuma | nenhuma | 
| conn\$1replication\$1sets | texto | nenhuma | nenhuma | nenhuma | 

conn\$1sysid  
Identificador do nó ao qual essa entrada se refere.

conn\$1dsn  
O mesmo que `node_dsn` de pgactive.pgactive\$1nodes.

conn\$1apply\$1delay  
Se definido, milissegundos de espera antes de aplicar cada transação por meio do nó remoto. Principalmente para depuração. Se nulo, o padrão global se aplica.

## Trabalhar com conjuntos de replicações
<a name="Appendix.PostgreSQL.CommonDBATasks.pgactive.replication"></a>

Os conjuntos de replicações determinam quais tabelas incluir ou excluir das operações de replicação. Por padrão, todas as tabelas são replicadas, a menos que você especifique o contrário usando as seguintes funções:
+ `pgactive_exclude_table_replication_set()`: exclui tabelas especificadas da replicação.
+ `pgactive_include_table_replication_set()`: inclui tabelas especificadas na replicação.

**nota**  
Antes de configurar os conjuntos de replicações, considere o seguinte:  
Você pode configurar a inclusão ou exclusão da tabela somente depois de executar `pgactive_create_group()`, mas antes de `pgactive_join_group()`.
Depois de usar `pgactive_exclude_table_replication_set()`, você não pode usar `pgactive_include_table_replication_set()`.
Depois de usar `pgactive_include_table_replication_set()`, você não pode usar `pgactive_exclude_table_replication_set()`.

O sistema trata as tabelas recém-criadas de forma diferente com base na sua configuração inicial:
+ Se você excluiu tabelas: todas as outras tabelas criadas depois de `pgactive_join_group()` serão automaticamente incluídas na replicação.
+ Se você incluiu tabelas: todas as outras tabelas criadas depois de `pgactive_join_group()` serão automaticamente excluídas da replicação.

Para visualizar a configuração do conjunto de replicações de uma tabela específica, use a função `pgactive.pgactive_get_table_replication_sets()`.