★PostgreSQLカンファレンス2024 12月6日開催/チケット販売中★
他のバージョンの文書 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

ALTER SUBSCRIPTION

ALTER SUBSCRIPTION — サブスクリプションの定義を変更する

概要

ALTER SUBSCRIPTION name CONNECTION 'conninfo'
ALTER SUBSCRIPTION name SET PUBLICATION publication_name [, ...] [ WITH ( set_publication_option [= value] [, ... ] ) ]
ALTER SUBSCRIPTION name REFRESH PUBLICATION [ WITH ( refresh_option [= value] [, ... ] ) ]
ALTER SUBSCRIPTION name ENABLE
ALTER SUBSCRIPTION name DISABLE
ALTER SUBSCRIPTION name SET ( subscription_parameter [= value] [, ... ] )
ALTER SUBSCRIPTION name OWNER TO { new_owner | CURRENT_USER | SESSION_USER }
ALTER SUBSCRIPTION name RENAME TO new_name

説明

ALTER SUBSCRIPTIONCREATE 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_namesynchronous_commitです。

new_owner

サブスクリプションの新しい所有者のユーザ名です。

new_name

サブスクリプションの新しい名前です。

サブスクリプションがサブスクライブするパブリケーションをinsert_onlyに変更します。

ALTER SUBSCRIPTION mysub SET PUBLICATION insert_only;

サブスクリプションを無効化(停止)します。

ALTER SUBSCRIPTION mysub DISABLE;

互換性

ALTER SUBSCRIPTIONPostgreSQLの拡張です。

関連項目

CREATE SUBSCRIPTION, DROP SUBSCRIPTION, CREATE PUBLICATION, ALTER PUBLICATION