diff --git a/docs/en_US/images/publication_definition.png b/docs/en_US/images/publication_definition.png
new file mode 100644
index 0000000000000000000000000000000000000000..c0245aed8e4e8b2b5e1ad25d242f884b21a86299
GIT binary patch
diff --git a/docs/en_US/images/publication_general.png b/docs/en_US/images/publication_general.png
new file mode 100644
index 0000000000000000000000000000000000000000..f712ce68a1dd53ed016797a3ee81815ec89c766f
GIT binary patch
diff --git a/docs/en_US/images/publication_sql.png b/docs/en_US/images/publication_sql.png
new file mode 100644
index 0000000000000000000000000000000000000000..0c345358964202c70196f26543f6b514da7ae5f4
GIT binary patch
diff --git a/docs/en_US/images/subscription_connection.png b/docs/en_US/images/subscription_connection.png
new file mode 100644
index 0000000000000000000000000000000000000000..b1d05a7996a157ff360ece983d092281c3cc75e7
GIT binary patch
diff --git a/docs/en_US/images/subscription_general.png b/docs/en_US/images/subscription_general.png
new file mode 100644
index 0000000000000000000000000000000000000000..01f7f9ed31b9bd1a21719d66273edc6de24b4e4d
GIT binary patch
diff --git a/docs/en_US/images/subscription_sql.png b/docs/en_US/images/subscription_sql.png
new file mode 100644
index 0000000000000000000000000000000000000000..13faad390018739f4ba09df6dfcbe33c7989916b
GIT binary patch
diff --git a/docs/en_US/images/subscription_with.png b/docs/en_US/images/subscription_with.png
new file mode 100644
index 0000000000000000000000000000000000000000..c5d154c4bc931499122bf7ac2c493dc0f6be4989
GIT binary patch
diff --git a/docs/en_US/managing_database_objects.rst b/docs/en_US/managing_database_objects.rst
index e336d6437..25200a7ab 100644
--- a/docs/en_US/managing_database_objects.rst
+++ b/docs/en_US/managing_database_objects.rst
@@ -35,8 +35,10 @@ node, and select *Create Cast...*
    materialized_view_dialog
    package_dialog
    procedure_dialog
+   publication_dialog
    schema_dialog
    sequence_dialog
+   subscription_dialog
    synonym_dialog
    trigger_function_dialog
    type_dialog
diff --git a/docs/en_US/publication_dialog.rst b/docs/en_US/publication_dialog.rst
new file mode 100644
index 000000000..da2fd75a1
--- /dev/null
+++ b/docs/en_US/publication_dialog.rst
@@ -0,0 +1,56 @@
+.. _publication_dialog:
+
+***************************
+`Publication Dialog`:index:
+***************************
+
+`Logical replication <https://www.postgresql.org/docs/13/logical-replication.html>`_ uses a *publish* and *subscribe* model with one or more *subscribers* subscribing to one or more *publications* on a publisher node.
+
+Use the *publication* dialog to create a publication. A publication is a set of changes generated from a table or a group of tables, and might also be described as a change set or replication set.
+
+The *publication* dialog organizes the development of a publication through the following dialog tabs: *General* and *Definition*. The *SQL* tab displays the SQL code generated by dialog selections.
+
+.. image:: images/publication_general.png
+    :alt: Publication dialog general tab
+    :align: center
+
+Use the fields in the *General* tab to identify the publication:
+
+* Use the *Name* field to add a descriptive name for the publication. The name will be displayed in the *pgAdmin* tree control.
+* The *Owner* field takes the name of the user automatically as current connected user. You can change the owner after creating publication using alter publication.
+
+Click the *Definition* tab to continue.
+
+.. image:: images/publication_definition.png
+    :alt: Publication dialog definition tab
+    :align: center
+
+Use the *Definition* tab to set properties for the publication:
+
+* Move the switch next to *All tables?* to *Yes* to replicate all the tables of the database, including tables created in the future.
+* Move the switch next to *Only table?* to *Yes* to replicate only the listed tables excluding all its descendant tables.
+* Specify a table or list of tables separated by a comma in *Tables* field to replicate all the listed table.
+* Use the *With* section to determine which DML operations will be published by the new publication to the subscribers. Move the switch next to *INSERT*, *UPDATE*, *DELETE*, or *TRUNCATE* to *No* if you do not want to replicate any of these DML operations from Publication to Subscription. By default, all the switches are set to *Yes* allowing all the DML operations.
+
+.. note:: A published table must have a “replica identity” configured in order to be able to replicate UPDATE and DELETE operations. You can change with ALTER TABLE statement. For more information on replica identity see `Logical Replication Publication <https://www.postgresql.org/docs/13/logical-replication-publication.html>`_.
+
+Click the *SQL* tab to continue.
+
+Your entries in the *Publication* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
+
+**Example**
+
+The following is an example of the sql command generated by user selections in
+the *Publication* dialog:
+
+.. image:: images/publication_sql.png
+    :alt: Publication dialog sql tab
+    :align: center
+
+The example creates a publication named *pub1* that is owned by *postgres*. It
+allows replication of all the DML operations.
+
+* Click the *Info* button (i) to access online help.
+* Click the *Save* button to save work.
+* Click the *Cancel* button to exit without saving work.
+* Click the *Reset* button to restore all the default settings.
diff --git a/docs/en_US/subscription_dialog.rst b/docs/en_US/subscription_dialog.rst
new file mode 100644
index 000000000..106fbacf5
--- /dev/null
+++ b/docs/en_US/subscription_dialog.rst
@@ -0,0 +1,70 @@
+.. subscription_dialog:
+
+****************************
+`Subscription Dialog`:index:
+****************************
+
+Use the *Subscription* dialog to create a subscription. A subscription defines the connection to another database and set of publications (one or more) to which it wants to subscribe.
+
+The *subscription* dialog organizes the development of a subscription through the following dialog tabs: *General*, *Connection* and *With*. The *SQL* tab displays the SQL code generated by dialog selections.
+
+.. image:: images/subscription_general.png
+    :alt: Subscription dialog general tab
+    :align: center
+
+Use the fields in the *General* tab to identify the subscription:
+
+* Use the *Name* field to add a descriptive name for the subscription. The name will be displayed in the *pgAdmin* tree control.
+* The *Owner* field takes the name of the user automatically as current connected user. You can change the owner after creating subscription using alter subscription. Please note that owner of the subscription has superuser privileges.
+
+Click the *Connection* tab to continue.
+
+.. image:: images/subscription_connection.png
+    :alt: Subscription dialog connection tab
+    :align: center
+
+Use the *Connection* tab to define the connection string to the publisher:
+
+* Use the *Host name/address* field to provide the valid hostname or ip address of the publication.
+* Use the *Port* field to provide port number to connect at Postgres Server in which publication is residing.
+* Use the *Username* field to provide the name of the user to connect to the publication.
+* Use the *Password* to provide the password of the user.
+* Use the *Database* field to connect to the database in which publication is residing.
+* Use the *Connection timeout* field to specify the maximum wait for connection, in seconds. Zero or not specified means wait indefinetly. It is not recommended to use a timeout of less than 2 seconds.
+* Use the *Passfile* field to specify the location of a password file (.pgpass). A .pgpass file allows a user to login without providing a password when they connect.  For more information, see `Section 33.15 of the Postgres documentation <https://www.postgresql.org/docs/current/libpq-pgpass.html>`_.
+* Use the *Publication* field to specify the publication name on the publishers to subscribe to. Click on the refresh button at the end to load the names of the existing publications and then select from the list. You can also write the name of the known publication in the field.
+
+Click the *With* tab to continue.
+
+.. image:: images/subscription_with.png
+    :alt: Subscription dialog with tab
+    :align: center
+
+Use the *With* tab to define some parameters for a subscription:
+
+* The *Copy data?* switch specifies whether the existing data in the publications that are being subscribed to should be copied once the replication starts. By default it is set to *Yes*.
+* The *Create slot?* switch specifies whether the command should create the replication slot on the publisher. By default it is set to *Yes*. Please note: if your publisher and subscriber both are inside same PostgreSQL server then is is set to *No* by default.
+* The *Enabled?* switch specifies whether the subscription should be actively replicating, or whether it should be just setup but not started yet. By default it is set to *Yes*.
+* The *Connect?* specifies whether the CREATE SUBSCRIPTION should connect to the publisher at all. By default, it is set to *Yes*. Setting this to *No* will change default values of enabled, create_slot and copy_data to *No*.
+* Use the *Slot Name* field to specify the name of the replication slot to use. By default, it uses the name of the subscription for the slot name.
+* Use the *Synchronous commit* field to override the synchronous_commit setting. By default, it is set to *off*. It is safe to use off for logical replication: If the subscriber loses transactions because of missing synchronization, the data will be sent again from the publisher.
+
+Click the *SQL* tab to continue.
+
+Your entries in the *Subscription* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
+
+**Example**
+
+The following is an example of the sql command generated by user selections in
+the *Subscription* dialog:
+
+.. image:: images/subscription_sql.png
+    :alt: Subscription dialog sql tab
+    :align: center
+
+The example creates a subscription named *pub1_sub1* that is owned by *postgres*. It will replicate the data from the publication *pub1*.
+
+* Click the *Info* button (i) to access online help.
+* Click the *Save* button to save work.
+* Click the *Cancel* button to exit without saving work.
+* Click the *Reset* button to restore all the default settings.
