int4をuuidにキャストすることはできません。これは無効なuuidであり、32ビットのみが設定されており、上位96ビットはゼロです。
整数を完全に置き換えるために新しいUUIDを生成する場合、およびそれらの整数への既存の外部キー参照がない場合は、実際に新しい値を生成する偽のキャストを使用できます。
これを実行しないでください データのバックアップなし。 colA
の古い値を永久に破棄します 。
ALTER TABLE tableA ALTER COLUMN colA SET DATA TYPE UUID USING (uuid_generate_v4());
より良いアプローチは、通常、追加することです。 uuid列を作成し、それを指すように外部キー参照を修正して、最後に元の列を削除します。
UUIDモジュールをインストールする必要があります:
CREATE EXTENSION "uuid-ossp";
引用符は重要です。