ALTER SUBSCRIPTION — サブスクリプションの定義を変更する
ALTER SUBSCRIPTIONnameCONNECTION 'conninfo' ALTER SUBSCRIPTIONnameSET PUBLICATIONpublication_name[, ...] [ WITH (set_publication_option[=value] [, ... ] ) ] ALTER SUBSCRIPTIONnameREFRESH PUBLICATION [ WITH (refresh_option[=value] [, ... ] ) ] ALTER SUBSCRIPTIONnameENABLE ALTER SUBSCRIPTIONnameDISABLE ALTER SUBSCRIPTIONnameSET (subscription_parameter[=value] [, ... ] ) ALTER SUBSCRIPTIONnameOWNER TO {new_owner| CURRENT_USER | SESSION_USER } ALTER SUBSCRIPTIONnameRENAME TOnew_name
ALTER SUBSCRIPTIONはCREATE SUBSCRIPTIONで指定できるサブスクリプションの属性のほとんどを変更できます。
ALTER SUBSCRIPTIONを使用するには、そのサブスクリプションを所有していなければなりません。
所有者を変更するには、新しい所有ロールの直接的あるいは間接的メンバーでもなければなりません。
新しい所有者はスーパーユーザである必要があります。
(現在は、すべてのサブスクリプションの所有者はスーパーユーザでなければならず、そのため所有者のチェックは実際には回避されます。
しかしこれは将来、変更されるかもしれません。)
name属性の変更の対象となるサブスクリプションの名前です。
CONNECTION 'conninfo'この句では、元はCREATE SUBSCRIPTIONにより設定された接続の属性を変更します。 詳細な情報はそちらを参照してください。
SET PUBLICATION publication_name
サブスクライブするパブリケーションのリストを変更します。
詳細はCREATE SUBSCRIPTIONを参照してください。
デフォルトでは、このコマンドはREFRESH PUBLICATIONのような動作もします。
set_publication_optionは、この操作についての追加のオプションを指定します。
以下のオプションがサポートされています。
refresh (boolean)
falseにすると、このコマンドはテーブルを情報を更新しません。
後で別にREFRESH PUBLICATIONを実行することになります。
デフォルトはtrueです。
さらにREFRESH PUBLICATIONの項で説明されているrefreshオプションを指定できます。
REFRESH PUBLICATION
不足しているテーブル情報をパブリッシャーから取得します。
最後のREFRESH PUBLICATION、あるいはCREATE SUBSCRIPTIONの実行の後でサブスクライブ対象のパブリケーションに追加されたテーブルの複製が、これにより開始されます。
refresh_optionは更新(refresh)の操作について追加のオプションを指定します。
以下のオプションがサポートされています。
copy_data (boolean)
サブスクライブ対象のパブリケーションにある既存のデータが、レプリケーションの開始時にコピーされるかどうかを指定します。
デフォルトはtrueです。
ENABLE以前に無効化されたサブスクリプションを有効化し、トランザクションの終了時に論理レプリケーションワーカを起動します。
DISABLE実行中のサブスクリプションを無効化し、トランザクションの終了時に論理レプリケーションワーカを停止します。
SET ( subscription_parameter [= value] [, ... ] )
この句では、元はCREATE SUBSCRIPTIONにより設定されたパラメータを変更します。
詳細な情報はそちらを参照してください。
使用できるオプションはslot_nameとsynchronous_commitです。
new_ownerサブスクリプションの新しい所有者のユーザ名です。
new_nameサブスクリプションの新しい名前です。
サブスクリプションがサブスクライブするパブリケーションをinsert_onlyに変更します。
ALTER SUBSCRIPTION mysub SET PUBLICATION insert_only;
サブスクリプションを無効化(停止)します。
ALTER SUBSCRIPTION mysub DISABLE;
ALTER SUBSCRIPTIONはPostgreSQLの拡張です。