Esquema de especificação
ReplicationSpec define o estado desejado de Replication.
dbcluster:
  name: string
downstream:
  control: string
  host: string
  password:
    name: string
    namespace: string
  port: integer
  replicationSlotName: string
  username: string
upstream:
  applicationName: string
  logicalReplication:
    databaseName: string
    pluginName: string
  password:
    name: string
    namespace: string
  replicationSlotName: string
  synchronous: string
  username: string
| CampoTipo Obrigatório ou opcional | Descrição | 
|---|---|
| dbcluster | |
| objectOpcional | DBCluster é o DBCluster ao qual esta Replication pertence. | 
| dbcluster.name | |
| stringOpcional | Nome do referenciador. Para mais informações, consulte Nomes. | 
| downstream | |
| objectOpcional | Downstream contém especificações para o banco de dados de replicação downstream. | 
| downstream.control | |
| stringObrigatório | Control especifica a operação de replicação a ser realizada nesse banco de dados. Os valores permitidos são setup, promote e rewind. | 
| downstream.host | |
| stringObrigatório | Host é o endpoint de conexão do banco de dados upstream que este banco de dados pode acessar para replicação. | 
| downstream.password | |
| objectObrigatório | Password é a referência ao secret que armazena a senha do usuário de replicação do banco de dados upstream. | 
| downstream.password.name | |
| stringOpcional | name é exclusivo em um namespace para referenciar um recurso de secret. | 
| downstream.password.namespace | |
| stringOpcional | namespace define o espaço em que o nome do secret precisa ser exclusivo. | 
| downstream.port | |
| integerOpcional | Port é a porta do banco de dados upstream que este banco de dados pode acessar para replicação. O padrão é 5.432. | 
| downstream.replicationslotname | |
| stringObrigatório | ReplicationSlotName é o nome do slot de replicação criado no banco de dados upstream. Ele é usado por esse banco de dados para replicação. | 
| downstream.username | |
| stringObrigatório | Username é o nome do usuário de replicação criado no banco de dados upstream. Ele é usado por esse banco de dados para se conectar ao upstream para replicação. | 
| upstream | |
| objectOpcional | Upstream contém a especificação do banco de dados upstream de replicação. | 
| upstream.applicationName | |
| stringOpcional | applicationName é o identificador da conexão de replicação síncrona. Esse valor será obrigatório se Synchronous estiver definido como "verdadeiro". | 
| upstream.logicalReplication | |
| objectOpcional | LogicalReplication especifica a configuração de replicação lógica para o slot de replicação. Se estiver vazio, o slot de replicação será configurado como um slot de replicação física. | 
| upstream.logicalReplication.databaseName | |
| stringOpcional | DatabaseName é o banco de dados associado a esse slot. Somente as alterações desse banco de dados são transmitidas pelo slot. | 
| upstream.logicalReplication.pluginName | |
| stringOpcional | PluginName é o plug-in de decodificação associado a esse slot. Consulte Explicação sobre a decodificação lógica para mais detalhes. | 
| upstream.password | |
| objectObrigatório | Password é a referência ao secret que armazena a senha do usuário de replicação. Se Password não for fornecido, uma senha será gerada e armazenada em um secret mostrado no status. | 
| upstream.password.name | |
| stringOpcional | name é exclusivo em um namespace para referenciar um recurso de secret. | 
| upstream.password.namespace | |
| stringOpcional | namespace define o espaço em que o nome do secret precisa ser exclusivo. | 
| upstream.replicationslotname | |
| stringOpcional | ReplicationSlotName é o nome do slot de replicação que será usado para replicação. Se não for fornecido, um nome de slot de replicação será gerado e mostrado no status. | 
| upstream.synchronous | |
| stringOpcional | Synchronous especifica se o slot de replicação precisa ser configurado para replicação síncrona. Se for verdadeiro, applicationName será adicionado à lista de standbys síncronos. O padrão é false.Observação: isso pode ter um impacto negativo no desempenho. | 
| upstream.username | |
| stringOpcional | Username é o nome do usuário de replicação a ser usado para a replicação. Se não for fornecido, um nome de usuário será gerado e mostrado no status. | 
Esquema de status
ReplicationStatus define o estado observado de Replication.
conditions:
- lastTransitionTime: string
  message: string
  observedGeneration: integer
  reason: string
  status: string
  type: string
criticalIncidents:
- code: string
  createTime: string
  message: string
  messageTemplateParams: object
  resource:
    component: string
    location:
      cluster: string
      group: string
      kind: string
      name: string
      namespace: string
      version: string
  stackTrace:
  - component: string
    message: string
  transientUntil: string
downstream:
  physicalDownstream:
    passwordResourceVersion: string
    setupStrategies:
      endedAt: string
      message: string
      retries: integer
      startedAt: string
      state: string
      strategy: string
    state: string
observedGeneration: integer
reconciled: boolean
upstream:
  host: string
  password:
    name: string
    namespace: string
  port: integer
  replicationSlotName: string
  username: string
| CampoTipo Obrigatório ou opcional | Descrição | 
|---|---|
| conditions[] | |
| objectOpcional | Conditions representa as observações mais recentes disponíveis do estado atual da entidade. | 
| conditions[].lastTransitionTime | |
| stringObrigatório | lastTransitionTime é a última vez que a condição passou de um status para outro, o que ocorre quando a condição fundamental é alterada. Se o horário em que a condição fundamental foi alterada for desconhecido, use o horário em que o campo da API foi alterado. | 
| conditions[].message | |
| stringObrigatório | message é uma mensagem legível por humanos que indica detalhes sobre a transição. Pode ser uma string vazia. | 
| conditions[].observedGeneration | |
| integerOpcional | observedGeneration representa o .metadata.generation em que a condição foi definida. Por exemplo, se .metadata.generationfor for 12, mas .status.conditions[x].observedGeneratio for 9, a condição estará desatualizada em relação ao estado atual da instância. | 
| conditions[].reason | |
| stringObrigatório | reason contém um identificador programático que indica o motivo da última transição da condição. Os produtores de tipos de condição específicos podem definir valores e significados esperados para esse campo, além de se os valores são considerados uma API garantida. O valor precisa ser uma string CamelCase. Esse campo não pode ficar vazio. | 
| conditions[].status | |
| stringObrigatório | status da condição, que pode ser Verdadeiro, Falso ou Desconhecido. | 
| conditions[].type | |
| stringObrigatório | tipo de condição em CamelCase ou em foo.example.com/CamelCase. Muitos valores de .condition.type são consistentes entre recursos como Available. Como condições arbitrárias podem ser úteis (consulte .node.status.conditions), a capacidade de resolver conflitos é importante. A expressão regular correspondente é (dns1123SubdomainFmt/)?(qualifiedNameFmt). | 
| criticalIncidents[] | |
| objectObrigatório | CriticalIncidents é uma lista simples de todos os incidentes críticos ativos. | 
| criticalIncidents[].code | |
| stringObrigatório | Code é o código desse erro específico. Os códigos de erro são strings DBSE+numeric, comoDBSE1012. | 
| criticalIncidents[].createTime | |
| stringObrigatório | CreateTime é o carimbo de data/hora em que esse incidente foi criado na origem. | 
| criticalIncidents[].message | |
| stringOpcional | Message descreve o incidente ou o erro ocorrido. | 
| criticalIncidents[].messageTemplateParams | |
| objectOpcional | MessageTemplateParams contém pares de chave-valor necessários para gerar uma versão orientada por dados e fácil de usar de Message na interface do usuário. | 
| criticalIncidents[].resource | |
| objectObrigatório | Resource contém informações sobre o componente do Serviço de Banco de Dados que informou o incidente e informações sobre o recurso do Kubernetes. | 
| criticalIncidents[].resource.component | |
| stringObrigatório | Component é um identificador interno do subsistema do Serviço de Banco de Dados que informou o incidente. | 
| criticalIncidents[].resource.location | |
| objectOpcional | Local. | 
| criticalIncidents[].resource.location.cluster | |
| stringOpcional | O nome do cluster do recurso do Kubernetes afetado. | 
| criticalIncidents[].resource.location.group | |
| stringOpcional | O nome do grupo do recurso do Kubernetes. | 
| criticalIncidents[].resource.location.kind | |
| stringOpcional | O tipo do recurso do Kubernetes. | 
| criticalIncidents[].resource.location.name | |
| stringOpcional | O nome do recurso do Kubernetes afetado. | 
| criticalIncidents[].resource.location.namespace | |
| stringOpcional | O namespace do recurso do Kubernetes afetado. | 
| criticalIncidents[].resource.location.version | |
| stringOpcional | A versão do recurso do Kubernetes. | 
| criticalIncidents[].stackTrace[] | |
| objectOpcional | Uma lista não estruturada de mensagens do stack trace. | 
| criticalIncidents[].stackTrace[].component | |
| stringOpcional | O nome de um componente do Serviço de Banco de Dados que registrou a mensagem. | 
| criticalIncidents[].stackTrace.message | |
| stringOpcional | Mensagem registrada. | 
| criticalIncidents[].transientUntil | |
| stringOpcional | TransientUntil, se presente, indica que o problema precisa ser considerado temporário até o horário especificado. | 
| downstream | |
| objectOpcional | Downstream contém o estado observado do banco de dados de replicação downstream. | 
| downstream.physicalDownstream | |
| objectOpcional | |
| downstream.physicalDownstream.passwordResourceVersion | |
| stringOpcional | PasswordResourceVersion é a versão do recurso da senha do secret. Essa versão representa a data da última atualização da senha no banco de dados. | 
| downstream.physicalDownstream.setupStrategies | |
| objectOpcional | SetupStrategies contém informações sobre a execução de cada estratégia de configuração usada. Elas aparecem nessa lista na mesma ordem em que foram definidas na especificação. | 
| downstream.physicalDownstream.setupStrategies.endedAt | |
| stringOpcional | EndedAt é o horário em que a tentativa mais recente dessa estratégia terminou. | 
| downstream.physicalDownstream.setupStrategies.message | |
| stringOpcional | Message é uma descrição do motivo pelo qual a tentativa de configuração está no estado atual. | 
| downstream.physicalDownstream.setupStrategies.retries | |
| integerOpcional | Retries é o número de vezes que essa estratégia foi repetida. | 
| downstream.physicalDownstream.setupStrategies.startedAt | |
| stringOpcional | StartedAt é o horário em que a tentativa mais recente dessa estratégia foi iniciada. | 
| downstream.physicalDownstream.setupStrategies.state | |
| stringObrigatório | State é o estado atual dessa estratégia de configuração. Ele aceita os seguintes valores: InProgress: a estratégia está em execução.Success: a estratégia foi concluída e não haverá mais nenhuma tentativa de estratégias de configuração.Error: a estratégia falhou, mas será repetida. O campo Retries vai mostrar quantas vezes essa estratégia foi repetida.Fallback: a estratégia falhou e não será repetida. Em vez disso, vamos recorrer à próxima estratégia disponível, se houver.Unknown | 
| downstream.physicalDownstream.setupStrategies.strategy | |
| stringObrigatório | Strategy é o nome do tipo de estratégia a que esse status se refere. | 
| downstream.physicalDownstream.state | |
| objectOpcional | State é o status da replicação, conforme mostrado na tabela pg_stat_wal_receiver do servidor de banco de dados downstream. | 
| observedgeneration | |
| integerOpcional | Interno: a geração observada pelo controlador. | 
| reconciled | |
| booleanOpcional | Interno: indica se o recurso foi reconciliado pelo controlador. | 
| upstream | |
| objectOpcional | Upstream contém o estado observado do banco de dados upstream de replicação. | 
| upstream.host | |
| stringOpcional | Host é o endpoint de conexão do banco de dados que os bancos de dados downstream podem acessar para replicação. | 
| upstream.password | |
| objectOpcional | Password é a referência ao secret que armazena a senha do usuário de replicação desse banco de dados. | 
| upstream.password.name | |
| stringOpcional | name é exclusivo em um namespace para referenciar um recurso de secret. | 
| upstream.password.namespace | |
| stringOpcional | namespace define o espaço em que o nome do secret precisa ser exclusivo. | 
| upstream.port | |
| integerOpcional | Port é a porta do banco de dados que os bancos de dados downstream podem acessar para replicação. | 
| upstream.replicationslotname | |
| stringOpcional | ReplicationSlotName é o nome do slot de replicação criado neste banco de dados. Os bancos de dados downstream podem usar esse slot para replicação. | 
| upstream.username | |
| stringOpcional | Username é o nome do usuário de replicação nesse banco de dados. Os bancos de dados downstream podem usar esse usuário para se conectar ao banco de dados para replicação. |