規格結構定義
ReplicationSpec 會定義 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
| 欄位類型 必要或選填 | 說明 | 
|---|---|
| dbcluster | |
| object選填 | DBCluster 是這個 Replication 所屬的 DBCluster。 | 
| dbcluster.name | |
| string選填 | 參照對象的名稱。詳情請參閱「名稱」。 | 
| downstream | |
| object選填 | Downstream 包含下游資料庫的複製規格。 | 
| downstream.control | |
| string必填 | 控制項會指定要對這個資料庫執行的複製作業。 允許的值為「setup」、「promote」和「rewind」。 | 
| downstream.host | |
| string必填 | 主機是上游資料庫的連線端點,這個資料庫可存取該端點以進行複製。 | 
| downstream.password | |
| object必填 | 密碼是指儲存上游資料庫複製使用者密碼的密碼。 | 
| downstream.password.name | |
| string選填 | 名稱在命名空間中不得重複,用於參照密鑰資源。 | 
| downstream.password.namespace | |
| string選填 | 命名空間會定義密鑰名稱不得重複的空間。 | 
| downstream.port | |
| integer選填 | 這個資料庫可存取上游資料庫的通訊埠,以進行複製。預設值為 5432。 | 
| downstream.replicationslotname | |
| string必填 | ReplicationSlotName 是在上游資料庫中建立的複製運算單元名稱。這個資料庫會使用這項資訊進行複製。 | 
| downstream.username | |
| string必填 | 使用者名稱是在上游資料庫中建立的複製使用者名稱。這個資料庫會使用此帳戶連線至上游,進行複製作業。 | 
| upstream | |
| object選填 | 上游包含複製上游資料庫的規格。 | 
| upstream.applicationName | |
| string選填 | applicationName 是同步複製連線的 ID。如果「Synchronous」設為「true」,則必須提供這個值。 | 
| upstream.logicalReplication | |
| object選填 | LogicalReplication 會指定複製運算單元的邏輯複製設定。如果為空白,複製運算單元會設為實體複製運算單元。 | 
| upstream.logicalReplication.databaseName | |
| string選填 | DatabaseName 是與這個時段相關聯的資料庫。只有這個資料庫的變更會透過這個位置串流。 | 
| upstream.logicalReplication.pluginName | |
| string選填 | PluginName 是與這個插槽相關聯的解碼外掛程式。詳情請參閱「邏輯解碼說明」。 | 
| upstream.password | |
| object必填 | 密碼是指儲存複寫使用者密碼的密碼。 如果未提供密碼,系統會產生密碼並儲存在狀態中顯示的密碼中。 | 
| upstream.password.name | |
| string選填 | 名稱在命名空間中不得重複,用於參照密鑰資源。 | 
| upstream.password.namespace | |
| string選填 | 命名空間會定義密鑰名稱不得重複的空間。 | 
| upstream.replicationslotname | |
| string選填 | ReplicationSlotName 是要用於複製作業的複製運算單元名稱。如未提供,系統會產生複製運算單元名稱,並顯示在狀態中。 | 
| upstream.synchronous | |
| string選填 | Synchronous 會指定是否必須為同步複製設定複製運算單元。如果為 true,applicationName 會新增至同步待命清單。預設值為 false。注意:這可能會對效能造成負面影響。 | 
| upstream.username | |
| string選填 | 使用者名稱是複製作業要使用的複製使用者名稱。 如未提供,系統會產生使用者名稱並顯示在狀態中。 | 
狀態結構定義
ReplicationStatus 定義了 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
| 欄位類型 必要或選填 | 說明 | 
|---|---|
| conditions[] | |
| object選填 | 條件代表實體目前狀態的最新可用觀察結果。 | 
| conditions[].lastTransitionTime | |
| string必填 | lastTransitionTime 是指條件上次從一種狀態轉換為另一種狀態的時間,也就是底層條件變更時。如果不知道基礎條件的變更時間,請使用 API 欄位的變更時間。 | 
| conditions[].message | |
| string必填 | message 是使用者可理解的訊息,指出轉換的詳細資料。這個值可以是空字串。 | 
| conditions[].observedGeneration | |
| integer選填 | observedGeneration 代表條件設定依據的 .metadata.generation。舉例來說,如果 .metadata.generation 為 12,但 .status.conditions[x].observedGeneration 為 9,則相較於執行個體的目前狀態,該條件已過時。 | 
| conditions[].reason | |
| string必填 | reason 包含程式輔助 ID,指出條件上次轉換的原因。特定條件類型的產生者可以定義這個欄位的預期值和意義,以及這些值是否視為有保障的 API。值必須是 CamelCase 字串。 這個欄位可能不是空白。 | 
| conditions[].status | |
| string必填 | 條件狀態,可以是 True、False 或 Unknown。 | 
| conditions[].type | |
| string必填 | 條件類型,格式為 CamelCase 或 foo.example.com/CamelCase。許多 .condition.type 值在資源之間保持一致,例如 Available。由於任意條件可能很有用 (請參閱 .node.status.conditions),因此解除衝突的能力非常重要。相符的規則運算式為 (dns1123SubdomainFmt/)?(qualifiedNameFmt)。 | 
| criticalIncidents[] | |
| object必填 | CriticalIncidents 是所有有效重大事件的平面清單。 | 
| criticalIncidents[].code | |
| string必填 | 「代碼」是這項特定錯誤的錯誤代碼。錯誤代碼是 DBSE+numeric字串,例如DBSE1012。 | 
| criticalIncidents[].createTime | |
| string必填 | CreateTime 是指在來源建立這個事件的時間戳記。 | 
| criticalIncidents[].message | |
| string選填 | 訊息會說明發生的事件或錯誤。 | 
| criticalIncidents[].messageTemplateParams | |
| object選填 | MessageTemplateParams 包含產生訊息資料導向版本的必要鍵/值組合,方便使用者在使用者介面中查看。 | 
| criticalIncidents[].resource | |
| object必填 | 資源包含回報事件的資料庫服務元件相關資訊,以及 Kubernetes 資源的相關資訊。 | 
| criticalIncidents[].resource.component | |
| string必填 | Component 是回報事件的資料庫服務子系統內部 ID。 | 
| criticalIncidents[].resource.location | |
| object選填 | 地點。 | 
| criticalIncidents[].resource.location.cluster | |
| string選填 | 受影響 Kubernetes 資源的叢集名稱。 | 
| criticalIncidents[].resource.location.group | |
| string選填 | Kubernetes 資源的群組名稱。 | 
| criticalIncidents[].resource.location.kind | |
| string選填 | Kubernetes 資源的種類。 | 
| criticalIncidents[].resource.location.name | |
| string選填 | 受影響的 Kubernetes 資源名稱。 | 
| criticalIncidents[].resource.location.namespace | |
| string選填 | 受影響 Kubernetes 資源的命名空間。 | 
| criticalIncidents[].resource.location.version | |
| string選填 | Kubernetes 資源的版本。 | 
| criticalIncidents[].stackTrace[] | |
| object選填 | 堆疊追蹤記錄中的非結構化訊息清單。 | 
| criticalIncidents[].stackTrace[].component | |
| string選填 | 記錄訊息的資料庫服務元件名稱。 | 
| criticalIncidents[].stackTrace.message | |
| string選填 | 記錄的訊息。 | 
| criticalIncidents[].transientUntil | |
| string選填 | 如有 TransientUntil,表示問題必須視為暫時性問題,直到指定時間為止。 | 
| downstream | |
| object選填 | 下游包含複製下游資料庫的觀察狀態。 | 
| downstream.physicalDownstream | |
| object選填 | |
| downstream.physicalDownstream.passwordResourceVersion | |
| string選填 | PasswordResourceVersion 是密碼密鑰的資源版本。這個版本代表密碼上次在資料庫更新的時間。 | 
| downstream.physicalDownstream.setupStrategies | |
| object選填 | SetupStrategies 包含每次嘗試執行設定策略的相關資訊。這個清單會按照規格中定義策略的順序顯示策略。 | 
| downstream.physicalDownstream.setupStrategies.endedAt | |
| string選填 | EndedAt 是指這項策略最近一次嘗試結束的時間。 | 
| downstream.physicalDownstream.setupStrategies.message | |
| string選填 | 「Message」說明設定嘗試為何處於目前狀態。 | 
| downstream.physicalDownstream.setupStrategies.retries | |
| integer選填 | 「重試」是指這項策略的重試次數。 | 
| downstream.physicalDownstream.setupStrategies.startedAt | |
| string選填 | StartedAt 是指最近一次嘗試執行這項策略的時間。 | 
| downstream.physicalDownstream.setupStrategies.state | |
| string必填 | 狀態是指這項設定策略目前的狀態,可接受的值如下: InProgress:策略目前正在執行。Success:策略已順利完成,系統不會再嘗試設定策略。Error:策略失敗,但系統會重試。「重試」欄位會顯示這項策略的重試次數。Fallback:策略失敗,不會重新嘗試。如果沒有,系統會改用下一個可用的策略。Unknown | 
| downstream.physicalDownstream.setupStrategies.strategy | |
| string必填 | 「策略」是這個狀態所屬的策略類型名稱。 | 
| downstream.physicalDownstream.state | |
| object選填 | 狀態是複製狀態,如下游資料庫伺服器的 pg_stat_wal_receiver 表格所示。 | 
| observedgeneration | |
| integer選填 | 內部:控制器觀察到的世代。 | 
| reconciled | |
| boolean選填 | 內部:資源是否已由控制器調解。 | 
| upstream | |
| object選填 | 上游包含複製上游資料庫的觀察狀態。 | 
| upstream.host | |
| string選填 | 主機是這個資料庫的連線端點,下游資料庫可存取這個端點以進行複製作業。 | 
| upstream.password | |
| object選填 | Password 是指儲存這個資料庫的複寫使用者密碼的密碼。 | 
| upstream.password.name | |
| string選填 | 名稱在命名空間中不得重複,用於參照密鑰資源。 | 
| upstream.password.namespace | |
| string選填 | 命名空間會定義密鑰名稱不得重複的空間。 | 
| upstream.port | |
| integer選填 | 這個資料庫的通訊埠,下游資料庫可存取此通訊埠以進行複製。 | 
| upstream.replicationslotname | |
| string選填 | ReplicationSlotName 是在這個資料庫中建立的複製運算單元名稱。下游資料庫可使用這個複製運算單元進行複製。 | 
| upstream.username | |
| string選填 | 使用者名稱是這個資料庫的複製使用者名稱。下游資料庫可以使用這個使用者連線至這個資料庫進行複製。 |