> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Managed Postgres の移行に関するよくある質問

> ClickHouse Managed Postgres へのデータ移行に関するよくある質問。

export const PrivatePreviewBadge = () => {
  return <div className="privatePreviewBadge">
            <div className="privatePreviewIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path d="M5.33301 6.66667V4.66667V4.66667C5.33301 3.194 6.52701 2 7.99967 2V2C9.47234 2 10.6663 3.194 10.6663 4.66667V4.66667V6.66667" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path d="M8.00033 9.33337V11.3334" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path fillRule="evenodd" clipRule="evenodd" d="M11.333 14H4.66634C3.92967 14 3.33301 13.4033 3.33301 12.6666V7.99996C3.33301 7.26329 3.92967 6.66663 4.66634 6.66663H11.333C12.0697 6.66663 12.6663 7.26329 12.6663 7.99996V12.6666C12.6663 13.4033 12.0697 14 11.333 14Z" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            {'Private preview in ClickHouse Cloud'}
        </div>;
};

`TOAST` カラム、replication slots、publications、スキーマ変更、型マッピングなど、Postgres のレプリケーションの仕組みに関する多くの疑問は、[ClickPipes for Postgres よくある質問](/ja/integrations/clickpipes/postgres/faq)で扱っています。そこに記載されている情報は、Managed Postgres の移行にも当てはまります。

<div id="invalid-enum-value">
  ### レプリケーション中に「enum に対する無効な入力値」エラーが表示される
</div>

このエラーは、ソース側の Postgres に存在する enum 値が、ターゲットの Managed Postgres には存在しない場合に発生します。logical replication では `ALTER TYPE ... ADD VALUE` コマンドは自動的に伝播されないため、初回のスキーマ設定後にソース側で追加された新しい enum 値があると、ターゲット側で insert が失敗します。

これを修正するには、ターゲットの Postgres で enum 型に不足している値を追加します。

```sql theme={null}
ALTER TYPE your_enum_type ADD VALUE 'new_value';
```

`your_enum_type` はご使用の enum 型名に、`'new_value'` はエラーメッセージに表示されている不足値に置き換えてください。

<div id="unique-constraint-violation">
  ### レプリケーション中に一意制約違反エラーが発生する
</div>

一意制約違反は、logical replication において、レプリケーションの順序によってターゲット側の既存の一意制約と競合した場合に発生することがあります。これは、後続の更新で解消される前に一時的に一意性に違反する操作を再生する CDC (変更データキャプチャ) のワークロードで発生することがあります。

レプリケーションを再開できるようにするには、ターゲットの Postgres で一意制約を削除します:

```sql theme={null}
ALTER TABLE your_table DROP CONSTRAINT your_constraint_name;
```

以下を実行すると、制約名を確認できます:

```sql theme={null}
SELECT conname, conrelid::regclass
FROM pg_constraint
WHERE contype = 'u';
```

レプリケーションが完了し、移行元がアクティブでなくなったら、切り替え時に制約を再度追加します。

```sql theme={null}
ALTER TABLE your_table ADD CONSTRAINT your_constraint_name UNIQUE (column1, column2);
```
