Esquema de especificación
ReplicationSpec define el estado deseado 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 Obligatorio u opcional | Descripción | 
|---|---|
| dbcluster | |
| objectOpcional | DBCluster es el DBCluster al que pertenece esta Replication. | 
| dbcluster.name | |
| stringOpcional | Nombre del referente. Para obtener más información, consulta Nombres. | 
| downstream | |
| objectOpcional | Downstream contiene especificaciones para la base de datos de réplica downstream. | 
| downstream.control | |
| stringObligatorio | Control especifica la operación de replicación que se va a realizar en esta base de datos. Los valores permitidos son setup, promote y rewind. | 
| downstream.host | |
| stringObligatorio | Host es el endpoint de conexión de la base de datos upstream al que puede acceder esta base de datos para la replicación. | 
| downstream.password | |
| objectObligatorio | Password es la referencia a la contraseña del usuario de replicación de la base de datos secreta que almacena la base de datos upstream. | 
| downstream.password.name | |
| stringOpcional | El nombre es único en un espacio de nombres para hacer referencia a un recurso secreto. | 
| downstream.password.namespace | |
| stringOpcional | El espacio de nombres define el espacio en el que el nombre del secreto debe ser único. | 
| downstream.port | |
| integerOpcional | Port es el puerto de la base de datos upstream al que puede acceder esta base de datos para la replicación. El valor predeterminado es 5432. | 
| downstream.replicationslotname | |
| stringObligatorio | ReplicationSlotName es el nombre del espacio de réplica creado en la base de datos upstream. Esta base de datos la usa para la replicación. | 
| downstream.username | |
| stringObligatorio | Nombre de usuario del usuario de replicación creado en la base de datos upstream. Esta base de datos la usa para conectarse a la base de datos upstream para la replicación. | 
| upstream | |
| objectOpcional | Upstream contiene la especificación de la base de datos de replicación upstream. | 
| upstream.applicationName | |
| stringOpcional | applicationName es el identificador de la conexión de replicación síncrona. Este valor es obligatorio si Synchronous se define como "true". | 
| upstream.logicalReplication | |
| objectOpcional | LogicalReplication especifica la configuración de la replicación lógica de la ranura de replicación. Si está vacío, el espacio de réplica se configura como un espacio de réplica físico. | 
| upstream.logicalReplication.databaseName | |
| stringOpcional | DatabaseName es la base de datos asociada a este espacio. Solo se transmiten a través de la ranura los cambios de esta base de datos. | 
| upstream.logicalReplication.pluginName | |
| stringOpcional | PluginName es el complemento de decodificación asociado a este espacio. Consulta la explicación de la decodificación lógica para obtener más información. | 
| upstream.password | |
| objectObligatorio | Password es la referencia al secreto que almacena la contraseña del usuario de replicación. Si no se proporciona ninguna contraseña, se genera una y se almacena en un secreto que se muestra en el estado. | 
| upstream.password.name | |
| stringOpcional | El nombre es único en un espacio de nombres para hacer referencia a un recurso secreto. | 
| upstream.password.namespace | |
| stringOpcional | El espacio de nombres define el espacio en el que el nombre del secreto debe ser único. | 
| upstream.replicationslotname | |
| stringOpcional | ReplicationSlotName es el nombre del espacio de réplica que se va a usar para la réplica. Si no se proporciona, se genera un nombre de ranura de replicación y se muestra en el estado. | 
| upstream.synchronous | |
| stringOpcional | Synchronous especifica si la ranura de replicación debe configurarse para la replicación síncrona. Si es true, applicationName se añade a la lista de réplicas síncronas. El valor predeterminado es false.Nota: Esto podría afectar negativamente al rendimiento. | 
| upstream.username | |
| stringOpcional | Nombre de usuario del usuario de replicación que se va a usar para la replicación. Si no se proporciona, se genera un nombre de usuario y se muestra en el estado. | 
Esquema de estado
ReplicationStatus define el 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 Obligatorio u opcional | Descripción | 
|---|---|
| conditions[] | |
| objectOpcional | Conditions representa las últimas observaciones disponibles del estado actual de la entidad. | 
| conditions[].lastTransitionTime | |
| stringObligatorio | lastTransitionTime es la última vez que la condición pasó de un estado a otro, lo que ocurre cuando cambia la condición subyacente. Si no se sabe cuándo ha cambiado la condición subyacente, utilice la hora en la que ha cambiado el campo de la API. | 
| conditions[].message | |
| stringObligatorio | message es un mensaje legible por humanos que indica detalles sobre la transición. Puede ser una cadena vacía. | 
| conditions[].observedGeneration | |
| integerOpcional | observedGeneration representa el valor de .metadata.generation en el que se basa la condición. Por ejemplo, si .metadata.generation es 12, pero .status.conditions[x].observedGeneration es 9, la condición está obsoleta con respecto al estado actual de la instancia. | 
| conditions[].reason | |
| stringObligatorio | reason contiene un identificador programático que indica el motivo de la última transición de la condición. Los productores de tipos de condiciones específicos pueden definir los valores y significados esperados de este campo, así como si los valores se consideran una API garantizada. El valor debe ser una cadena en formato CamelCase. Este campo no puede estar vacío. | 
| conditions[].status | |
| stringObligatorio | Estado de la condición (True, False o Unknown). | 
| conditions[].type | |
| stringObligatorio | Tipo de condición en formato CamelCase o foo.example.com/CamelCase. Muchos valores de .condition.type son coherentes en todos los recursos, como Available. Las condiciones arbitrarias pueden ser útiles (consulta .node.status.conditions), por lo que es importante poder resolver conflictos. La expresión regular con la que coincide es (dns1123SubdomainFmt/)?(qualifiedNameFmt). | 
| criticalIncidents[] | |
| objectObligatorio | CriticalIncidents es una lista plana de todos los incidentes críticos activos. | 
| criticalIncidents[].code | |
| stringObligatorio | Code es el código de error de este error concreto. Los códigos de error son cadenas DBSE+numeric, comoDBSE1012. | 
| criticalIncidents[].createTime | |
| stringObligatorio | CreateTime es la marca de tiempo en la que se creó este incidente en el origen. | 
| criticalIncidents[].message | |
| stringOpcional | El mensaje describe el incidente o el error que se ha producido. | 
| criticalIncidents[].messageTemplateParams | |
| objectOpcional | MessageTemplateParams contiene pares clave-valor necesarios para generar una versión de Message basada en datos y fácil de usar en la interfaz de usuario. | 
| criticalIncidents[].resource | |
| objectObligatorio | Resource contiene información sobre el componente del servicio de base de datos que ha informado del incidente, así como información sobre el recurso de Kubernetes. | 
| criticalIncidents[].resource.component | |
| stringObligatorio | Component es un identificador interno del subsistema del servicio de base de datos que ha informado del incidente. | 
| criticalIncidents[].resource.location | |
| objectOpcional | Ubicación. | 
| criticalIncidents[].resource.location.cluster | |
| stringOpcional | Nombre del clúster del recurso de Kubernetes afectado. | 
| criticalIncidents[].resource.location.group | |
| stringOpcional | Nombre del grupo del recurso de Kubernetes. | 
| criticalIncidents[].resource.location.kind | |
| stringOpcional | El tipo del recurso de Kubernetes. | 
| criticalIncidents[].resource.location.name | |
| stringOpcional | Nombre del recurso de Kubernetes afectado. | 
| criticalIncidents[].resource.location.namespace | |
| stringOpcional | El espacio de nombres del recurso de Kubernetes afectado. | 
| criticalIncidents[].resource.location.version | |
| stringOpcional | Versión del recurso de Kubernetes. | 
| criticalIncidents[].stackTrace[] | |
| objectOpcional | Una lista no estructurada de mensajes de la traza de pila. | 
| criticalIncidents[].stackTrace[].component | |
| stringOpcional | Nombre de un componente de servicio de base de datos que ha registrado el mensaje. | 
| criticalIncidents[].stackTrace.message | |
| stringOpcional | Mensaje registrado. | 
| criticalIncidents[].transientUntil | |
| stringOpcional | Si se incluye TransientUntil, indica que el problema debe considerarse transitorio hasta la hora especificada. | 
| downstream | |
| objectOpcional | Downstream contiene el estado observado de la base de datos de réplica de nivel inferior. | 
| downstream.physicalDownstream | |
| objectOpcional | |
| downstream.physicalDownstream.passwordResourceVersion | |
| stringOpcional | PasswordResourceVersion es la versión del recurso de la contraseña secreta. Esta versión representa la última vez que se actualizó la contraseña en la base de datos. | 
| downstream.physicalDownstream.setupStrategies | |
| objectOpcional | SetupStrategies contiene información sobre la ejecución de cada estrategia de configuración intentada. Aparecen en esta lista en el mismo orden en que se definieron las estrategias en la especificación. | 
| downstream.physicalDownstream.setupStrategies.endedAt | |
| stringOpcional | EndedAt es la hora en la que finalizó el intento más reciente de esta estrategia. | 
| downstream.physicalDownstream.setupStrategies.message | |
| stringOpcional | Message es una descripción de por qué el intento de configuración está en el estado en el que se encuentra. | 
| downstream.physicalDownstream.setupStrategies.retries | |
| integerOpcional | Reintentos es el número de veces que se ha reintentado esta estrategia. | 
| downstream.physicalDownstream.setupStrategies.startedAt | |
| stringOpcional | StartedAt es la hora en la que se inició el intento más reciente de esta estrategia. | 
| downstream.physicalDownstream.setupStrategies.state | |
| stringObligatorio | El atributo state [estado] indica el estado actual de esta estrategia de configuración. Acepta los siguientes valores: InProgress: la estrategia se está ejecutando.Success: La estrategia se ha completado correctamente y no se intentará configurar ninguna otra.Error: la estrategia ha fallado, pero se volverá a intentar. En el campo Reintentos se mostrará el número de veces que se ha reintentado esta estrategia.Fallback: la estrategia ha fallado y no se volverá a intentar. En su lugar, se usará la siguiente estrategia disponible, si existe.Unknown | 
| downstream.physicalDownstream.setupStrategies.strategy | |
| stringObligatorio | Estrategia es el nombre del tipo de estrategia al que corresponde este estado. | 
| downstream.physicalDownstream.state | |
| objectOpcional | State es el estado de la replicación tal como se muestra en la tabla pg_stat_wal_receiver del servidor de la base de datos de réplica. | 
| observedgeneration | |
| integerOpcional | Interno: la generación observada por el controlador. | 
| reconciled | |
| booleanOpcional | Internal: indica si el controlador ha conciliado el recurso. | 
| upstream | |
| objectOpcional | Upstream contiene el estado observado de la base de datos de réplica upstream. | 
| upstream.host | |
| stringOpcional | Host es el endpoint de conexión de esta base de datos al que pueden acceder las bases de datos de nivel inferior para la replicación. | 
| upstream.password | |
| objectOpcional | Password es la referencia al secreto que almacena la contraseña del usuario de replicación de esta base de datos. | 
| upstream.password.name | |
| stringOpcional | El nombre es único en un espacio de nombres para hacer referencia a un recurso secreto. | 
| upstream.password.namespace | |
| stringOpcional | El espacio de nombres define el espacio en el que el nombre del secreto debe ser único. | 
| upstream.port | |
| integerOpcional | Puerto de esta base de datos al que pueden acceder las bases de datos posteriores para la replicación. | 
| upstream.replicationslotname | |
| stringOpcional | ReplicationSlotName es el nombre del espacio de réplica creado en esta base de datos. Las bases de datos de nivel inferior pueden usar esta ranura de replicación para la replicación. | 
| upstream.username | |
| stringOpcional | Nombre de usuario del usuario de replicación en esta base de datos. Las bases de datos de nivel inferior pueden usar este usuario para conectarse a esta base de datos con fines de replicación. |