[11/15開催: PostgreSQL Conference Japan 2019 参加受付中] 
他のバージョンの文書 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

DROP SUBSCRIPTION

DROP SUBSCRIPTION — サブスクリプションを削除する

概要

DROP SUBSCRIPTION [ IF EXISTS ] name [ CASCADE | RESTRICT ]

説明

DROP SUBSCRIPTIONはデータベースクラスタからサブスクリプションを削除します。

スーパーユーザのみがサブスクリプションを削除できます。

サブスクリプションがレプリケーションスロットに紐付けられている場合、DROP SUBSCRIPTIONをトランザクションブロックの内側で実行することはできません。 (スロットの設定を解除するにはALTER SUBSCRIPTIONを使うことができます。)

パラメータ

name

削除対象のサブスクリプションの名前です。

CASCADE
RESTRICT

サブスクリプションに依存するものはないので、これらのキーワードは何も効果がありません。

注釈

リモートホストのレプリケーションスロットに紐付けられているサブスクリプション(これが通常の状態です)を削除するとき、DROP SUBSCRIPTIONはその操作の一部として、リモートホストに接続し、レプリケーションスロットを削除しようとします。 リモートホスト上でサブスクリプションに割り当てられたリソースを解放するために、これが必要となります。 リモートホストに到達できない、あるいはリモートのレプリケーションスロットが削除できない、存在しない、存在したことがない、という理由で削除に失敗した場合、DROP SUBSCRIPTIONコマンドは失敗します。 この状況において先へ進むためには、ALTER SUBSCRIPTION ... SET (slot_name = NONE)を実行してサブスクリプションとレプリケーションスロットの紐付けを解除してください。 その後ならDROP SUBSCRIPTIONはリモートホスト上で何のアクションも起こそうとしません。 リモートのレプリケーションスロットがそれでも存在する場合、それを手作業で削除すべきであることに注意してください。 そうしなければ、WALを保存し続け、最終的にはディスクを一杯にしてしまうかもしれません。 31.2.1も参照してください。

サブスクリプションがレプリケーションスロットと紐付けられている場合、DROP SUBSCRIPTIONをトランザクションブロックの内側で実行することはできません。

サブスクリプションを削除します。

DROP SUBSCRIPTION mysub;

互換性

DROP SUBSCRIPTIONPostgreSQLの拡張です。

関連項目

CREATE SUBSCRIPTION, ALTER SUBSCRIPTION