On 29 March 2017 at 08:01, Craig Ringer <cr...@2ndquadrant.com> wrote:
> I just notice that I failed to remove the docs changes regarding > dropping slots becoming db-specific, so I'll post a follow-up for that > in a sec. Attached. -- Craig Ringer http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
From 5fe01aef643905ec1f6dcffd0f5d583809fc9a21 Mon Sep 17 00:00:00 2001 From: Craig Ringer <cr...@2ndquadrant.com> Date: Wed, 29 Mar 2017 08:03:06 +0800 Subject: [PATCH] Documentation amendments for slot drop on db drop The "Cleanup slots during drop database" patch incorrectly documented that dropping logical slots must now be done from the database the slot was created on. This was the case in an earlier variant of the patch, but not the committed version. Also document that idle logical replication slots will be dropped by DROP DATABASE. --- doc/src/sgml/func.sgml | 3 +-- doc/src/sgml/protocol.sgml | 2 -- doc/src/sgml/ref/drop_database.sgml | 7 +++++++ 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index 78508d7..ba6f8dd 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -18876,8 +18876,7 @@ postgres=# SELECT * FROM pg_walfile_name_offset(pg_stop_backup()); <entry> Drops the physical or logical replication slot named <parameter>slot_name</parameter>. Same as replication protocol - command <literal>DROP_REPLICATION_SLOT</>. For logical slots, this must - be called when connected to the same database the slot was created on. + command <literal>DROP_REPLICATION_SLOT</>. </entry> </row> diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index 5f97141..b3a5026 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -2034,8 +2034,6 @@ The commands accepted in walsender mode are: <para> Drops a replication slot, freeing any reserved server-side resources. If the slot is currently in use by an active connection, this command fails. - If the slot is a logical slot that was created in a database other than - the database the walsender is connected to, this command fails. </para> <variablelist> <varlistentry> diff --git a/doc/src/sgml/ref/drop_database.sgml b/doc/src/sgml/ref/drop_database.sgml index 740aa31..3427139 100644 --- a/doc/src/sgml/ref/drop_database.sgml +++ b/doc/src/sgml/ref/drop_database.sgml @@ -81,6 +81,13 @@ DROP DATABASE [ IF EXISTS ] <replaceable class="PARAMETER">name</replaceable> <xref linkend="app-dropdb"> instead, which is a wrapper around this command. </para> + + <para> + Active <link linkend="logicaldecoding-replication-slots">logical + replication slots</> count as connections and will prevent a + database from being dropped. Inactive slots will be automatically + dropped when the database is dropped. + </para> </refsect1> <refsect1> -- 2.5.5
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers