Spezifikationsschema
ReplicationSpec definiert den gewünschten Status der Replikation.
dbcluster:
name: string
downstream:
control: string
host: string
password:
name: string
namespace: string
port: integer
replicationSlotName: string
username: string
upstream:
applicationName: string
logReplicationSlot: boolean
logicalReplication:
databaseName: string
pluginName: string
password:
name: string
namespace: string
replicationSlotName: string
synchronous: string
username: string
Feld TypErforderlich oder optional |
Beschreibung |
|---|---|
dbcluster
| |
objectOptional | DBCluster ist der DBCluster, zu dem diese Replikation gehört. |
dbcluster.name
| |
stringOptional | Name des Referenten. Weitere Informationen finden Sie unter Namen. |
downstream
| |
objectOptional | Downstream enthält Spezifikationen für die nachgelagerte Datenbank der Replikation. |
downstream.control
| |
stringErforderlich | Die Einstellung gibt den Replikationsvorgang an, der für diese Datenbank ausgeführt werden soll. Zulässige Werte sind „setup“, „promote“ und „rewind“. |
downstream.host
| |
stringErforderlich | „Host“ ist der Verbindungsendpunkt der Upstream-Datenbank, auf den diese Datenbank für die Replikation zugreifen kann. |
downstream.password
| |
objectErforderlich | „password“ ist der Verweis auf das Secret, in dem das Passwort des Replikationsnutzers der Upstream-Datenbank gespeichert ist. |
downstream.password.name
| |
stringOptional | Der Name muss innerhalb eines Namespace eindeutig sein, um auf eine Secret-Ressource zu verweisen. |
downstream.password.namespace
| |
stringOptional | Der Namespace definiert den Bereich, in dem der Secret-Name eindeutig sein muss. |
downstream.port
| |
integerOptional | Der Port ist der Port der Upstream-Datenbank, auf den diese Datenbank für die Replikation zugreifen kann. Der Standardwert ist 5432. |
downstream.replicationslotname
| |
stringErforderlich | ReplicationSlotName ist der Name des Replikationsslots, der in der Upstream-Datenbank erstellt wurde. Er wird von dieser Datenbank für die Replikation verwendet. |
downstream.username
| |
stringErforderlich | „Username“ ist der Name des Replikationsnutzers, der in der Upstream-Datenbank erstellt wurde. Sie wird von dieser Datenbank verwendet, um eine Verbindung zum Upstream für die Replikation herzustellen. |
upstream
| |
objectOptional | „Upstream“ enthält die Spezifikation für die Upstream-Datenbank der Replikation. |
upstream.applicationName
| |
stringOptional | „applicationName“ ist die Kennung der synchronen Replikationsverbindung. Dieser Wert ist erforderlich, wenn „Synchron“ auf „true“ festgelegt ist. |
upstream.logReplicationSlot
| |
booleanOptional |
Wenn „LogReplicationSlot“ auf „true“ gesetzt ist, kann in diesen Replikations-Slot in WAL-Dateien geschrieben werden, die von der primären Instanz generiert werden. Es wird empfohlen, diese Option insbesondere bei regionenübergreifenden Replikationen zu aktivieren. Achten Sie darauf, dass für den primären DBCluster auch die Optionen „ReplayReplicationSlotsOnStandbys“ aktiviert sind, damit der in WAL-Dateien geschriebene Replikationsslot auf den HA-Standby-Instanzen wiedergegeben wird. Wenn beide Optionen aktiviert sind, werden im Falle eines HA-Failovers oder ‑Switchovers im primären DBCluster die WAL-Dateien, die noch nicht vom sekundären DBCluster empfangen wurden, in der neuen primären HA-Instanz beibehalten. Hinweis: Wenn Sie dieses Feld ändern, wird die primäre Datenbank neu gestartet. |
upstream.logicalReplication
| |
objectOptional | „LogicalReplication“ gibt die Konfiguration der logischen Replikation für den Replikations-Slot an. Wenn das Feld leer ist, wird der Replikationsslot als physischer Replikationsslot konfiguriert. |
upstream.logicalReplication.databaseName
| |
stringOptional | „DatabaseName“ ist die Datenbank, die diesem Slot zugeordnet ist. Über den Slot werden nur Änderungen aus dieser Datenbank gestreamt. |
upstream.logicalReplication.pluginName
| |
stringOptional | PluginName ist das Dekodierungs-Plug‑in, das diesem Slot zugeordnet ist. Weitere Informationen finden Sie unter Logical Decoding Explanation. |
upstream.password
| |
objectErforderlich | „Password“ ist der Verweis auf das Secret, in dem das Passwort des Replikationsnutzers gespeichert ist. Wenn kein Passwort angegeben ist, wird ein Passwort generiert und in einem Secret gespeichert, das im Status angezeigt wird. |
upstream.password.name
| |
stringOptional | Der Name muss innerhalb eines Namespace eindeutig sein, um auf eine Secret-Ressource zu verweisen. |
upstream.password.namespace
| |
stringOptional | Der Namespace definiert den Bereich, in dem der Secret-Name eindeutig sein muss. |
upstream.replicationslotname
| |
stringOptional | ReplicationSlotName ist der Name des Replikationsslots, der für die Replikation verwendet werden soll. Wenn kein Name angegeben ist, wird ein Name für den Replikationsslot generiert und im Status angezeigt. |
upstream.synchronous
| |
stringOptional |
Mit „Synchronous“ wird angegeben, ob der Replikationsslot für die synchrone Replikation konfiguriert werden muss. Bei „true“ wird der applicationName der Liste der synchronen Standby-Namen hinzugefügt. Die Standardeinstellung ist false.Hinweis: Dies kann sich negativ auf die Leistung auswirken. |
upstream.username
| |
stringOptional | „Username“ ist der Name des Replikationsnutzers, der für die Replikation verwendet werden soll. Wenn Sie keinen angeben, wird ein Nutzername generiert und im Status angezeigt. |
Statusschema
„ReplicationStatus“ definiert den beobachteten Status der Replikation.
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
Feld TypErforderlich oder optional |
Beschreibung |
|---|---|
conditions[]
| |
objectOptional | „Conditions“ entspricht den neuesten verfügbaren Beobachtungen zum aktuellen Zustand der Entität. |
conditions[].lastTransitionTime
| |
stringErforderlich | „lastTransitionTime“ gibt an, wann sich der Status der Bedingung zuletzt geändert hat. Dies geschieht, wenn sich die zugrunde liegende Bedingung geändert hat. Wenn nicht bekannt ist, wann sich die zugrunde liegende Bedingung geändert hat, geben Sie stattdessen an, wann sich das API-Feld geändert hat. |
conditions[].message
| |
stringErforderlich | „message“ ist eine menschenlesbare Nachricht mit Details zur Umstellung. Das kann ein leerer String sein. |
conditions[].observedGeneration
| |
integerOptional | „observedGeneration“ stellt die .metadata.generation dar, auf der die Bedingung basiert. Wenn .metadata.generation 12 ist, .status.conditions[x].observedGeneration aber 9, ist die Bedingung im Hinblick auf den aktuellen Zustand der Instanz nicht mehr aktuell. |
conditions[].reason
| |
stringErforderlich | „reason“ enthält eine programmatische Kennung, die den Grund für die letzte Statusänderung der Bedingung angibt. Anbieter bestimmter Bedingungstypen können erwartete Werte und Bedeutungen für dieses Feld definieren und festlegen, ob die Werte als garantierte API gelten. Der Wert muss ein String im Binnenmajuskelformat sein. Dieses Feld darf nicht leer sein. |
conditions[].status
| |
stringErforderlich | Status der Bedingung, entweder „Wahr“, „Falsch“ oder „Unbekannt“. |
conditions[].type
| |
stringErforderlich | Bedingungstyp im Binnenmajuskelformat oder in foo.example.com/CamelCase. Viele .condition.type-Werte sind ressourcenübergreifend konsistent, z. B. „Available“. Da beliebige Bedingungen nützlich sein können (siehe .node.status.conditions), ist die Möglichkeit zur Konfliktlösung wichtig. Der reguläre Ausdruck, mit dem er übereinstimmt, ist (dns1123SubdomainFmt/)?(qualifiedNameFmt). |
criticalIncidents[]
| |
objectErforderlich | „CriticalIncidents“ ist eine einfache Liste aller aktiven kritischen Vorfälle. |
criticalIncidents[].code
| |
stringErforderlich |
„Code“ ist der Fehlercode dieses bestimmten Fehlers. Fehlercodes sind DBSE+numeric-Strings wie DBSE1012.
|
criticalIncidents[].createTime
| |
stringErforderlich | „CreateTime“ ist der Zeitstempel, der angibt, wann dieser Vorfall am Ursprungsort erstellt wurde. |
criticalIncidents[].message
| |
stringOptional | Die Nachricht beschreibt den Vorfall oder Fehler, der aufgetreten ist. |
criticalIncidents[].messageTemplateParams
| |
objectOptional | „MessageTemplateParams“ enthält Schlüssel/Wert-Paare, die zum Generieren einer nutzerfreundlichen datengesteuerten Version von „Message“ in der Benutzeroberfläche erforderlich sind. |
criticalIncidents[].resource
| |
objectErforderlich | „Resource“ enthält Informationen zur Database Service-Komponente, die den Vorfall gemeldet hat, sowie Informationen zur Kubernetes-Ressource. |
criticalIncidents[].resource.component
| |
stringErforderlich | „Component“ ist eine interne Kennung des Subsystems des Datenbankdienstes, das den Vorfall gemeldet hat. |
criticalIncidents[].resource.location
| |
objectOptional | Standort. |
criticalIncidents[].resource.location.cluster
| |
stringOptional | Der Name des Clusters der betroffenen Kubernetes-Ressource. |
criticalIncidents[].resource.location.group
| |
stringOptional | Der Gruppenname der Kubernetes-Ressource. |
criticalIncidents[].resource.location.kind
| |
stringOptional | Die Art der Kubernetes-Ressource. |
criticalIncidents[].resource.location.name
| |
stringOptional | Der Name der betroffenen Kubernetes-Ressource. |
criticalIncidents[].resource.location.namespace
| |
stringOptional | Der Namespace der betroffenen Kubernetes-Ressource. |
criticalIncidents[].resource.location.version
| |
stringOptional | Die Version der Kubernetes-Ressource. |
criticalIncidents[].stackTrace[]
| |
objectOptional | Eine unstrukturierte Liste von Nachrichten aus dem Stacktrace. |
criticalIncidents[].stackTrace[].component
| |
stringOptional | Der Name einer Database Service-Komponente, die die Nachricht in Logs erfasst hat. |
criticalIncidents[].stackTrace.message
| |
stringOptional | Logeintrag. |
criticalIncidents[].transientUntil
| |
stringOptional | „TransientUntil“ gibt an, dass das Problem bis zum angegebenen Zeitpunkt als vorübergehend betrachtet werden muss. |
downstream
| |
objectOptional | „Downstream“ enthält den beobachteten Status der nachgelagerten Replikationsdatenbank. |
downstream.physicalDownstream
| |
objectOptional | |
downstream.physicalDownstream.passwordResourceVersion
| |
stringOptional | PasswordResourceVersion ist die Ressourcenversion des Secret-Passworts. Diese Version gibt an, wann das Passwort zuletzt in der Datenbank aktualisiert wurde. |
downstream.physicalDownstream.setupStrategies
| |
objectOptional | „SetupStrategies“ enthält Informationen zur Ausführung jeder versuchten Einrichtungsstrategie. Sie werden in dieser Liste in derselben Reihenfolge angezeigt, in der die Strategien in der Spezifikation definiert wurden. |
downstream.physicalDownstream.setupStrategies.endedAt
| |
stringOptional | „EndedAt“ ist der Zeitpunkt, zu dem der letzte Versuch dieser Strategie beendet wurde. |
downstream.physicalDownstream.setupStrategies.message
| |
stringOptional | „Message“ ist eine Beschreibung des Grunds für den aktuellen Status des Einrichtungsversuchs. |
downstream.physicalDownstream.setupStrategies.retries
| |
integerOptional | „Wiederholungsversuche“ gibt an, wie oft diese Strategie wiederholt wurde. |
downstream.physicalDownstream.setupStrategies.startedAt
| |
stringOptional | „StartedAt“ ist der Zeitpunkt, zu dem der letzte Versuch dieser Strategie gestartet wurde. |
downstream.physicalDownstream.setupStrategies.state
| |
stringErforderlich |
„State“ ist der aktuelle Zustand dieser Einrichtungsstrategie. Folgende Werte sind zulässig:InProgress: Die Strategie wird derzeit ausgeführt.Success: Die Strategie wurde erfolgreich abgeschlossen und es werden keine weiteren Einrichtungsstrategien versucht.Error: Die Strategie ist fehlgeschlagen, wird aber noch einmal versucht. Im Feld „Wiederholungen“ wird angezeigt, wie oft diese Strategie wiederholt wurde.Fallback: Die Strategie ist fehlgeschlagen und wird nicht noch einmal versucht. Stattdessen wird auf die nächste verfügbare Strategie zurückgegriffen, sofern vorhanden.Unknown |
downstream.physicalDownstream.setupStrategies.strategy
| |
stringErforderlich | „Strategie“ ist der Name des Strategietyps, für den dieser Status gilt. |
downstream.physicalDownstream.state
| |
objectOptional | „State“ ist der Replikationsstatus, wie er in der Tabelle „pg_stat_wal_receiver“ des nachgelagerten Datenbankservers angezeigt wird. |
observedgeneration
| |
integerOptional | Intern: Die vom Controller beobachtete Generierung. |
reconciled
| |
booleanOptional | Intern: Gibt an, ob die Ressource vom Controller abgeglichen wurde. |
upstream
| |
objectOptional | Upstream enthält den beobachteten Status der Upstream-Datenbank der Replikation. |
upstream.host
| |
stringOptional | „Host“ ist der Verbindungsendpunkt dieser Datenbank, auf den die Downstream-Datenbanken für die Replikation zugreifen können. |
upstream.password
| |
objectOptional | „Password“ ist der Verweis auf das Secret, in dem das Passwort des Replikationsnutzers für diese Datenbank gespeichert ist. |
upstream.password.name
| |
stringOptional | Der Name muss innerhalb eines Namespace eindeutig sein, um auf eine Secret-Ressource zu verweisen. |
upstream.password.namespace
| |
stringOptional | Der Namespace definiert den Bereich, in dem der Secret-Name eindeutig sein muss. |
upstream.port
| |
integerOptional | „Port“ ist der Port dieser Datenbank, auf den nachgelagerte Datenbanken für die Replikation zugreifen können. |
upstream.replicationslotname
| |
stringOptional | ReplicationSlotName ist der Name des Replikationsslots, der in dieser Datenbank erstellt wurde. Downstream-Datenbanken können diesen Replikations-Slot für die Replikation verwenden. |
upstream.username
| |
stringOptional | Der Nutzername ist der Name des Replikationsnutzers in dieser Datenbank. Downstream-Datenbanken können diesen Nutzer verwenden, um eine Verbindung zu dieser Datenbank für die Replikation herzustellen. |