diff --git a/docs/en_US/compound_trigger_dialog.rst b/docs/en_US/compound_trigger_dialog.rst
index f8e0f21d9..c6d825cac 100644
--- a/docs/en_US/compound_trigger_dialog.rst
+++ b/docs/en_US/compound_trigger_dialog.rst
@@ -24,6 +24,13 @@ Use the fields in the *General* tab to identify the compound trigger:
   The name will be displayed in the *pgAdmin* tree control.
 * Store notes about the compound trigger in the *Comment* field.
 
+.. image:: images/compound_trigger_general_enabled.png
+    :alt: Trigger enabled in dialog tab
+    :align: center
+
+* *Trigger enabled* field is available in compound trigger dialog once the trigger is created.
+  You can select one of the four options available.
+
 Click the *Events* tab to continue.
 
 .. image:: images/compound_trigger_events.png
diff --git a/docs/en_US/images/compound_trigger_general_enabled.png b/docs/en_US/images/compound_trigger_general_enabled.png
new file mode 100644
index 0000000000000000000000000000000000000000..d350a88453114f8af00ff5f209d0d917afcd3308
GIT binary patch
diff --git a/docs/en_US/images/trigger_definition_enabled.png b/docs/en_US/images/trigger_definition_enabled.png
new file mode 100644
index 0000000000000000000000000000000000000000..fccb905ac128e39e1efa55b97ccbb859c2649032
GIT binary patch
diff --git a/docs/en_US/trigger_dialog.rst b/docs/en_US/trigger_dialog.rst
index 0efbc13de..5c1859383 100644
--- a/docs/en_US/trigger_dialog.rst
+++ b/docs/en_US/trigger_dialog.rst
@@ -48,6 +48,13 @@ Use the fields in the *Definition* tab to define the trigger:
   arguments to the function when the trigger is executed. The arguments are
   literal string constants.
 
+.. image:: images/trigger_definition_enabled.png
+    :alt: Trigger enabled in dialog tab
+    :align: center
+
+* *Trigger enabled* field is available in trigger dialog once the trigger is created.
+  You can select one of the four options available.
+
 Click the *Events* tab to continue.
 
 .. image:: images/trigger_events.png
@@ -96,4 +103,4 @@ The example demonstrates creating a trigger named *log_update*.
 * 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 configuration parameters.
\ No newline at end of file
+* Click the *Reset* button to restore configuration parameters.
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/__init__.py
index f519205d2..af0e02d8c 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/__init__.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/__init__.py
@@ -1228,7 +1228,7 @@ class TableView(BaseTableView, DataTypeReader, VacuumSettings):
             request.data, encoding='utf-8'
         )
         # Convert str 'true' to boolean type
-        is_enable = json.loads(data['enable'])
+        is_enable_trigger = data['is_enable_trigger']
 
         try:
             SQL = render_template(
@@ -1245,7 +1245,7 @@ class TableView(BaseTableView, DataTypeReader, VacuumSettings):
                 "/".join([
                     self.table_template_path, 'enable_disable_trigger.sql'
                 ]),
-                data=data, is_enable_trigger=is_enable
+                data=data, is_enable_trigger=is_enable_trigger
             )
             status, res = self.conn.execute_scalar(SQL)
             if not status:
@@ -1253,8 +1253,9 @@ class TableView(BaseTableView, DataTypeReader, VacuumSettings):
 
             return make_json_response(
                 success=1,
-                info=gettext("Trigger(s) have been enabled") if is_enable
-                else gettext("Trigger(s) have been disabled"),
+                info=gettext("Trigger(s) have been disabled")
+                if is_enable_trigger == 'D'
+                else gettext("Trigger(s) have been enabled"),
                 data={
                     'id': tid,
                     'scid': scid
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/__init__.py
index 9f4476850..d72cc83f2 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/__init__.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/__init__.py
@@ -372,9 +372,9 @@ class CompoundTriggerView(PGChildNodeView):
             rset['rows'][0]['oid'],
             tid,
             rset['rows'][0]['name'],
-            icon="icon-compound_trigger" if
-            rset['rows'][0]['is_enable_trigger'] else
-            "icon-compound_trigger-bad"
+            icon="icon-compound_trigger-bad" if
+            rset['rows'][0]['is_enable_trigger'] == 'D' else
+            "icon-compound_trigger"
         )
 
         return make_json_response(
@@ -412,8 +412,9 @@ class CompoundTriggerView(PGChildNodeView):
                     row['oid'],
                     tid,
                     row['name'],
-                    icon="icon-compound_trigger" if row['is_enable_trigger']
-                    else "icon-compound_trigger-bad"
+                    icon="icon-compound_trigger-bad"
+                    if row['is_enable_trigger'] == 'D'
+                    else "icon-compound_trigger"
                 ))
 
         return make_json_response(
@@ -736,9 +737,9 @@ class CompoundTriggerView(PGChildNodeView):
                     new_trid,
                     tid,
                     name,
-                    icon="icon-%s" % self.node_type if
-                    data['is_enable_trigger'] else
-                    "icon-%s-bad" % self.node_type
+                    icon="icon-%s-bad" % self.node_type if
+                    data['is_enable_trigger'] == 'D' else
+                    "icon-%s" % self.node_type
                 )
             )
         except Exception as e:
@@ -889,7 +890,7 @@ class CompoundTriggerView(PGChildNodeView):
         SQL = sql_header + '\n\n' + SQL.strip('\n')
 
         # If compound trigger is disbaled then add sql code for the same
-        if not data['is_enable_trigger']:
+        if data['is_enable_trigger'] != 'O':
             SQL += '\n\n'
             SQL += render_template("/".join([self.template_path,
                                              'enable_disable_trigger.sql']),
@@ -917,7 +918,7 @@ class CompoundTriggerView(PGChildNodeView):
         )
 
         # Convert str 'true' to boolean type
-        is_enable_flag = json.loads(data['enable'])
+        is_enable_trigger = data['is_enable_trigger']
 
         try:
 
@@ -940,7 +941,7 @@ class CompoundTriggerView(PGChildNodeView):
             # current compound trigger which is disabled already so we need to
             # alter the 'is_enable_trigger' flag so that we can render
             # correct SQL for operation
-            o_data['is_enable_trigger'] = is_enable_flag
+            o_data['is_enable_trigger'] = is_enable_trigger
 
             # Adding parent into data dict, will be using it while creating sql
             o_data['schema'] = self.schema
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/static/js/compound_trigger.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/static/js/compound_trigger.js
index 592f08a8c..0f74895cf 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/static/js/compound_trigger.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/static/js/compound_trigger.js
@@ -108,7 +108,7 @@ define('pgadmin.node.compound_trigger', [
           $.ajax({
             url: obj.generate_url(i, 'enable' , d, true),
             type:'PUT',
-            data: {'enable' : true},
+            data: {'is_enable_trigger' : 'O'},
             dataType: 'json',
           })
             .done(function(res) {
@@ -146,7 +146,7 @@ define('pgadmin.node.compound_trigger', [
           $.ajax({
             url: obj.generate_url(i, 'enable' , d, true),
             type:'PUT',
-            data: {'enable' : false},
+            data: {'is_enable_trigger' : 'D'},
             dataType: 'json',
           })
             .done(function(res) {
@@ -185,13 +185,20 @@ define('pgadmin.node.compound_trigger', [
           type: 'int', disabled: true, mode: ['properties'],
         },{
           id: 'is_enable_trigger', label: gettext('Trigger enabled?'),
-          type: 'switch', mode: ['edit', 'properties'],
+          mode: ['edit', 'properties'],
           disabled: function() {
             if(this.node_info && ('catalog' in this.node_info || 'view' in this.node_info)) {
               return true;
             }
             return false;
           },
+          options: [
+            {label: 'Enable', value: 'O'},
+            {label: 'Enable Replica', value: 'R'},
+            {label: 'Enable Always', value: 'A'},
+            {label: 'Disable', value: 'D'},
+          ],
+          control: 'select2', select2: { allowClear: false, width: '100%' },
         },{
           type: 'nested', control: 'fieldset', mode: ['create','edit', 'properties'],
           label: gettext('FOR Events'), group: gettext('Events'), contentClass: 'row',
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/test_compound_triggers_put.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/test_compound_triggers_put.py
index 526bd9840..296f99757 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/test_compound_triggers_put.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/test_compound_triggers_put.py
@@ -45,12 +45,20 @@ class CompoundTriggersUpdateTestCase(BaseTestGenerator):
               })),
         ('Enable compound trigger',
          dict(url='/browser/compound_trigger/obj/',
-              data={"is_enable_trigger": True},
+              data={"is_enable_trigger": 'O'},
               disable_trigger=True
               )),
+        ('Enable always compound trigger',
+         dict(url='/browser/compound_trigger/obj/',
+              data={"is_enable_trigger": 'A'}
+              )),
+        ('Enable replica compound trigger',
+         dict(url='/browser/compound_trigger/obj/',
+              data={"is_enable_trigger": 'R'}
+              )),
         ('Disable compound trigger',
          dict(url='/browser/compound_trigger/obj/',
-              data={"is_enable_trigger": False}
+              data={"is_enable_trigger": 'D'}
               )),
     ]
 
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/enable_disable_triggers.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/enable_disable_triggers.js
index fe346de87..ddf296ad0 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/enable_disable_triggers.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/enable_disable_triggers.js
@@ -10,10 +10,10 @@
 import axios from 'axios';
 
 export function disableTriggers(tree, alertify, generateUrl, args) {
-  return setTriggers(tree, alertify, generateUrl, args, {enable: 'false' });
+  return setTriggers(tree, alertify, generateUrl, args, {is_enable_trigger: 'D' });
 }
 export function enableTriggers(tree, alertify, generateUrl, args) {
-  return setTriggers(tree, alertify, generateUrl, args, {enable: 'true' });
+  return setTriggers(tree, alertify, generateUrl, args, {is_enable_trigger: 'O' });
 }
 
 function setTriggers(tree, alertify, generateUrl, args, params) {
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/compound_triggers/sql/ppas/12_plus/enable_disable_trigger.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/compound_triggers/sql/ppas/12_plus/enable_disable_trigger.sql
index b7009272d..174a37be4 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/compound_triggers/sql/ppas/12_plus/enable_disable_trigger.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/compound_triggers/sql/ppas/12_plus/enable_disable_trigger.sql
@@ -1,2 +1,3 @@
+{% set enable_map = {'R':'ENABLE REPLICA', 'A':'ENABLE ALWAYS', 'O':'ENABLE', 'D':'DISABLE'} %}
 ALTER TABLE {{ conn|qtIdent(data.schema, data.table) }}
-    {% if data.is_enable_trigger == True %}ENABLE{% else %}DISABLE{% endif %} TRIGGER {{ conn|qtIdent(data.name) }};
\ No newline at end of file
+    {{ enable_map[data.is_enable_trigger] }} TRIGGER {{ conn|qtIdent(data.name) }};
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/compound_triggers/sql/ppas/12_plus/nodes.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/compound_triggers/sql/ppas/12_plus/nodes.sql
index 6b9b084bd..cee1d6376 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/compound_triggers/sql/ppas/12_plus/nodes.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/compound_triggers/sql/ppas/12_plus/nodes.sql
@@ -1,4 +1,4 @@
-SELECT t.oid, t.tgname as name, (CASE WHEN tgenabled = 'O' THEN true ElSE false END) AS is_enable_trigger
+SELECT t.oid, t.tgname as name, t.tgenabled AS is_enable_trigger
 FROM pg_trigger t
 
     WHERE NOT tgisinternal
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/compound_triggers/sql/ppas/12_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/compound_triggers/sql/ppas/12_plus/properties.sql
index dae839728..6acd6aa7d 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/compound_triggers/sql/ppas/12_plus/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/compound_triggers/sql/ppas/12_plus/properties.sql
@@ -1,4 +1,4 @@
-SELECT t.oid,t.tgname AS name, t.xmin, t.tgtype, t.tgattr, relname,
+SELECT t.oid,t.tgname AS name, t.xmin, t.tgenabled AS is_enable_trigger, t.tgtype, t.tgattr, relname,
     CASE WHEN relkind = 'r' THEN TRUE ELSE FALSE END AS parentistable,
     nspname, des.description,
     regexp_replace(regexp_replace(pg_get_triggerdef(t.oid),
@@ -6,9 +6,8 @@ SELECT t.oid,t.tgname AS name, t.xmin, t.tgtype, t.tgattr, relname,
     ) AS prosrc,
     COALESCE(substring(pg_get_triggerdef(t.oid), 'WHEN (.*) \nCOMPOUND'), NULL) AS whenclause,
 {% if datlastsysoid %}
-    (CASE WHEN t.oid <= {{ datlastsysoid}}::oid THEN true ElSE false END) AS is_sys_trigger,
+    (CASE WHEN t.oid <= {{ datlastsysoid}}::oid THEN true ElSE false END) AS is_sys_trigger
 {% endif %}
-    (CASE WHEN tgenabled = 'O' THEN true ElSE false END) AS is_enable_trigger
 FROM pg_trigger t
     JOIN pg_class cl ON cl.oid=tgrelid
     JOIN pg_namespace na ON na.oid=relnamespace
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/compound_triggers/sql/ppas/12_plus/update.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/compound_triggers/sql/ppas/12_plus/update.sql
index bce89f525..6a2298523 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/compound_triggers/sql/ppas/12_plus/update.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/compound_triggers/sql/ppas/12_plus/update.sql
@@ -38,6 +38,7 @@ COMMENT ON TRIGGER {{ conn|qtIdent(data.name) }} ON {{ conn|qtIdent(o_data.nspna
     IS {{data.description|qtLiteral}};
 {% endif %}
 {% if data.is_enable_trigger is defined  and o_data.is_enable_trigger != data.is_enable_trigger %}
+{% set enable_map = {'R':'ENABLE REPLICA', 'A':'ENABLE ALWAYS', 'O':'ENABLE', 'D':'DISABLE'} %}
 ALTER TABLE {{ conn|qtIdent(o_data.nspname, o_data.relname) }}
-    {% if data.is_enable_trigger == True %}ENABLE{% else %}DISABLE{% endif %} TRIGGER {{ conn|qtIdent(data.name) }};
+    {{ enable_map[data.is_enable_trigger] }} TRIGGER {{ conn|qtIdent(data.name) }};
 {% endif %}
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/default/enable_disable_trigger.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/default/enable_disable_trigger.sql
index a4ab15401..d85d04e8f 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/default/enable_disable_trigger.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/default/enable_disable_trigger.sql
@@ -1,2 +1,3 @@
+{% set enable_map = {'O':'ENABLE', 'D':'DISABLE'} %}
 ALTER TABLE {{ conn|qtIdent(data.schema, data.name) }}
-    {% if is_enable_trigger == True %}ENABLE{% else %}DISABLE{% endif %} TRIGGER ALL;
\ No newline at end of file
+    {{ enable_map[is_enable_trigger] }} TRIGGER ALL;
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/9.1_plus/nodes.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/9.1_plus/nodes.sql
index 59372cce3..ef06054e0 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/9.1_plus/nodes.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/9.1_plus/nodes.sql
@@ -1,6 +1,5 @@
-SELECT t.oid, t.tgname as name, (CASE WHEN tgenabled = 'O' THEN true ElSE false END) AS is_enable_trigger
+SELECT t.oid, t.tgname as name, t.tgenabled AS is_enable_trigger
 FROM pg_trigger t
-
     WHERE NOT tgisinternal
     AND tgrelid = {{tid}}::OID
 {% if trid %}
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/9.1_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/9.1_plus/properties.sql
index 6d17cb65e..eda53eb5c 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/9.1_plus/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/9.1_plus/properties.sql
@@ -1,4 +1,4 @@
-SELECT t.oid,t.tgname AS name, t.xmin, t.*, relname, CASE WHEN relkind = 'r' THEN TRUE ELSE FALSE END AS parentistable,
+SELECT t.oid,t.tgname AS name, t.xmin, t.tgenabled AS is_enable_trigger, t.*, relname, CASE WHEN relkind = 'r' THEN TRUE ELSE FALSE END AS parentistable,
     nspname, des.description, l.lanname, p.prosrc, p.proname AS tfunction,
     COALESCE(substring(pg_get_triggerdef(t.oid), 'WHEN (.*) EXECUTE PROCEDURE'),
     substring(pg_get_triggerdef(t.oid), 'WHEN (.*)  \$trigger')) AS whenclause,
@@ -7,8 +7,7 @@ SELECT t.oid,t.tgname AS name, t.xmin, t.*, relname, CASE WHEN relkind = 'r' THE
 {% if datlastsysoid %}
     (CASE WHEN t.oid <= {{ datlastsysoid}}::oid THEN true ElSE false END) AS is_sys_trigger,
 {% endif %}
-    (CASE WHEN tgconstraint != 0::OID THEN true ElSE false END) AS is_constraint_trigger,
-    (CASE WHEN tgenabled = 'O' THEN true ElSE false END) AS is_enable_trigger
+    (CASE WHEN tgconstraint != 0::OID THEN true ElSE false END) AS is_constraint_trigger
 FROM pg_trigger t
     JOIN pg_class cl ON cl.oid=tgrelid
     JOIN pg_namespace na ON na.oid=relnamespace
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/enable_disable_trigger.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/enable_disable_trigger.sql
index b7009272d..174a37be4 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/enable_disable_trigger.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/enable_disable_trigger.sql
@@ -1,2 +1,3 @@
+{% set enable_map = {'R':'ENABLE REPLICA', 'A':'ENABLE ALWAYS', 'O':'ENABLE', 'D':'DISABLE'} %}
 ALTER TABLE {{ conn|qtIdent(data.schema, data.table) }}
-    {% if data.is_enable_trigger == True %}ENABLE{% else %}DISABLE{% endif %} TRIGGER {{ conn|qtIdent(data.name) }};
\ No newline at end of file
+    {{ enable_map[data.is_enable_trigger] }} TRIGGER {{ conn|qtIdent(data.name) }};
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/nodes.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/nodes.sql
index 2a10badf2..03610acb6 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/nodes.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/nodes.sql
@@ -1,4 +1,4 @@
-SELECT t.oid, t.tgname as name, (CASE WHEN tgenabled = 'O' THEN true ElSE false END) AS is_enable_trigger
+SELECT t.oid, t.tgname as name, t.tgenabled AS is_enable_trigger
 FROM pg_trigger t
     WHERE tgrelid = {{tid}}::OID
 {% if trid %}
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/update.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/update.sql
index 05af50e27..3b8d64545 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/update.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/gpdb/default/update.sql
@@ -45,6 +45,7 @@ COMMENT ON TRIGGER {{ conn|qtIdent(data.name) }} ON {{ conn|qtIdent(o_data.nspna
     IS {{data.description|qtLiteral}};
 {% endif %}
 {% if data.is_enable_trigger is defined  and o_data.is_enable_trigger != data.is_enable_trigger %}
+{% set enable_map = {'R':'ENABLE REPLICA', 'A':'ENABLE ALWAYS', 'O':'ENABLE', 'D':'DISABLE'} %}
 ALTER TABLE {{ conn|qtIdent(o_data.nspname, o_data.relname) }}
-    {% if data.is_enable_trigger == True %}ENABLE{% else %}DISABLE{% endif %} TRIGGER {{ conn|qtIdent(data.name) }};
+    {{ enable_map[data.is_enable_trigger] }} TRIGGER {{ conn|qtIdent(data.name) }};
 {% endif %}
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/pg/10_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/pg/10_plus/properties.sql
index 3be4c82cd..d6500f3a1 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/pg/10_plus/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/pg/10_plus/properties.sql
@@ -1,4 +1,4 @@
-SELECT t.oid,t.tgname AS name, t.xmin, t.*, relname, CASE WHEN relkind = 'r' THEN TRUE ELSE FALSE END AS parentistable,
+SELECT t.oid,t.tgname AS name, t.xmin, t.tgenabled AS is_enable_trigger, t.*, relname, CASE WHEN relkind = 'r' THEN TRUE ELSE FALSE END AS parentistable,
     nspname, des.description, l.lanname, p.prosrc, p.proname AS tfunction,
     COALESCE(substring(pg_get_triggerdef(t.oid), 'WHEN (.*) EXECUTE PROCEDURE'),
     substring(pg_get_triggerdef(t.oid), 'WHEN (.*)  \$trigger')) AS whenclause,
@@ -8,7 +8,6 @@ SELECT t.oid,t.tgname AS name, t.xmin, t.*, relname, CASE WHEN relkind = 'r' THE
     (CASE WHEN t.oid <= {{ datlastsysoid}}::oid THEN true ElSE false END) AS is_sys_trigger,
 {% endif %}
     (CASE WHEN tgconstraint != 0::OID THEN true ElSE false END) AS is_constraint_trigger,
-    (CASE WHEN tgenabled = 'O' THEN true ElSE false END) AS is_enable_trigger,
     tgoldtable,
     tgnewtable
 FROM pg_trigger t
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/pg/9.1_plus/nodes.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/pg/9.1_plus/nodes.sql
index 59372cce3..ef06054e0 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/pg/9.1_plus/nodes.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/pg/9.1_plus/nodes.sql
@@ -1,6 +1,5 @@
-SELECT t.oid, t.tgname as name, (CASE WHEN tgenabled = 'O' THEN true ElSE false END) AS is_enable_trigger
+SELECT t.oid, t.tgname as name, t.tgenabled AS is_enable_trigger
 FROM pg_trigger t
-
     WHERE NOT tgisinternal
     AND tgrelid = {{tid}}::OID
 {% if trid %}
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/pg/9.1_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/pg/9.1_plus/properties.sql
index 6d17cb65e..eda53eb5c 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/pg/9.1_plus/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/pg/9.1_plus/properties.sql
@@ -1,4 +1,4 @@
-SELECT t.oid,t.tgname AS name, t.xmin, t.*, relname, CASE WHEN relkind = 'r' THEN TRUE ELSE FALSE END AS parentistable,
+SELECT t.oid,t.tgname AS name, t.xmin, t.tgenabled AS is_enable_trigger, t.*, relname, CASE WHEN relkind = 'r' THEN TRUE ELSE FALSE END AS parentistable,
     nspname, des.description, l.lanname, p.prosrc, p.proname AS tfunction,
     COALESCE(substring(pg_get_triggerdef(t.oid), 'WHEN (.*) EXECUTE PROCEDURE'),
     substring(pg_get_triggerdef(t.oid), 'WHEN (.*)  \$trigger')) AS whenclause,
@@ -7,8 +7,7 @@ SELECT t.oid,t.tgname AS name, t.xmin, t.*, relname, CASE WHEN relkind = 'r' THE
 {% if datlastsysoid %}
     (CASE WHEN t.oid <= {{ datlastsysoid}}::oid THEN true ElSE false END) AS is_sys_trigger,
 {% endif %}
-    (CASE WHEN tgconstraint != 0::OID THEN true ElSE false END) AS is_constraint_trigger,
-    (CASE WHEN tgenabled = 'O' THEN true ElSE false END) AS is_enable_trigger
+    (CASE WHEN tgconstraint != 0::OID THEN true ElSE false END) AS is_constraint_trigger
 FROM pg_trigger t
     JOIN pg_class cl ON cl.oid=tgrelid
     JOIN pg_namespace na ON na.oid=relnamespace
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/pg/default/enable_disable_trigger.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/pg/default/enable_disable_trigger.sql
index b7009272d..174a37be4 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/pg/default/enable_disable_trigger.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/pg/default/enable_disable_trigger.sql
@@ -1,2 +1,3 @@
+{% set enable_map = {'R':'ENABLE REPLICA', 'A':'ENABLE ALWAYS', 'O':'ENABLE', 'D':'DISABLE'} %}
 ALTER TABLE {{ conn|qtIdent(data.schema, data.table) }}
-    {% if data.is_enable_trigger == True %}ENABLE{% else %}DISABLE{% endif %} TRIGGER {{ conn|qtIdent(data.name) }};
\ No newline at end of file
+    {{ enable_map[data.is_enable_trigger] }} TRIGGER {{ conn|qtIdent(data.name) }};
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/pg/default/nodes.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/pg/default/nodes.sql
index 2a10badf2..03610acb6 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/pg/default/nodes.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/pg/default/nodes.sql
@@ -1,4 +1,4 @@
-SELECT t.oid, t.tgname as name, (CASE WHEN tgenabled = 'O' THEN true ElSE false END) AS is_enable_trigger
+SELECT t.oid, t.tgname as name, t.tgenabled AS is_enable_trigger
 FROM pg_trigger t
     WHERE tgrelid = {{tid}}::OID
 {% if trid %}
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/pg/default/update.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/pg/default/update.sql
index 05af50e27..3b8d64545 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/pg/default/update.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/pg/default/update.sql
@@ -45,6 +45,7 @@ COMMENT ON TRIGGER {{ conn|qtIdent(data.name) }} ON {{ conn|qtIdent(o_data.nspna
     IS {{data.description|qtLiteral}};
 {% endif %}
 {% if data.is_enable_trigger is defined  and o_data.is_enable_trigger != data.is_enable_trigger %}
+{% set enable_map = {'R':'ENABLE REPLICA', 'A':'ENABLE ALWAYS', 'O':'ENABLE', 'D':'DISABLE'} %}
 ALTER TABLE {{ conn|qtIdent(o_data.nspname, o_data.relname) }}
-    {% if data.is_enable_trigger == True %}ENABLE{% else %}DISABLE{% endif %} TRIGGER {{ conn|qtIdent(data.name) }};
+    {{ enable_map[data.is_enable_trigger] }} TRIGGER {{ conn|qtIdent(data.name) }};
 {% endif %}
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/10_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/10_plus/properties.sql
index 3be4c82cd..d6500f3a1 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/10_plus/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/10_plus/properties.sql
@@ -1,4 +1,4 @@
-SELECT t.oid,t.tgname AS name, t.xmin, t.*, relname, CASE WHEN relkind = 'r' THEN TRUE ELSE FALSE END AS parentistable,
+SELECT t.oid,t.tgname AS name, t.xmin, t.tgenabled AS is_enable_trigger, t.*, relname, CASE WHEN relkind = 'r' THEN TRUE ELSE FALSE END AS parentistable,
     nspname, des.description, l.lanname, p.prosrc, p.proname AS tfunction,
     COALESCE(substring(pg_get_triggerdef(t.oid), 'WHEN (.*) EXECUTE PROCEDURE'),
     substring(pg_get_triggerdef(t.oid), 'WHEN (.*)  \$trigger')) AS whenclause,
@@ -8,7 +8,6 @@ SELECT t.oid,t.tgname AS name, t.xmin, t.*, relname, CASE WHEN relkind = 'r' THE
     (CASE WHEN t.oid <= {{ datlastsysoid}}::oid THEN true ElSE false END) AS is_sys_trigger,
 {% endif %}
     (CASE WHEN tgconstraint != 0::OID THEN true ElSE false END) AS is_constraint_trigger,
-    (CASE WHEN tgenabled = 'O' THEN true ElSE false END) AS is_enable_trigger,
     tgoldtable,
     tgnewtable
 FROM pg_trigger t
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/12_plus/nodes.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/12_plus/nodes.sql
index b625ff433..b37909214 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/12_plus/nodes.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/12_plus/nodes.sql
@@ -1,6 +1,5 @@
-SELECT t.oid, t.tgname as name, (CASE WHEN tgenabled = 'O' THEN true ElSE false END) AS is_enable_trigger
+SELECT t.oid, t.tgname as name, t.tgenabled AS is_enable_trigger
 FROM pg_trigger t
-
     WHERE NOT tgisinternal
     AND tgrelid = {{tid}}::OID
     AND tgpackageoid = 0
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/12_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/12_plus/properties.sql
index 8c61f5cf3..b9da5d1d9 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/12_plus/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/12_plus/properties.sql
@@ -1,4 +1,4 @@
-SELECT t.oid,t.tgname AS name, t.xmin, t.*, relname, CASE WHEN relkind = 'r' THEN TRUE ELSE FALSE END AS parentistable,
+SELECT t.oid,t.tgname AS name, t.xmin, t.tgenabled AS is_enable_trigger, t.*, relname, CASE WHEN relkind = 'r' THEN TRUE ELSE FALSE END AS parentistable,
     nspname, des.description, l.lanname, p.prosrc, p.proname AS tfunction,
     COALESCE(substring(pg_get_triggerdef(t.oid), 'WHEN (.*) EXECUTE PROCEDURE'),
     substring(pg_get_triggerdef(t.oid), 'WHEN (.*)  \$trigger')) AS whenclause,
@@ -8,7 +8,6 @@ SELECT t.oid,t.tgname AS name, t.xmin, t.*, relname, CASE WHEN relkind = 'r' THE
     (CASE WHEN t.oid <= {{ datlastsysoid}}::oid THEN true ElSE false END) AS is_sys_trigger,
 {% endif %}
     (CASE WHEN tgconstraint != 0::OID THEN true ElSE false END) AS is_constraint_trigger,
-    (CASE WHEN tgenabled = 'O' THEN true ElSE false END) AS is_enable_trigger,
     tgoldtable,
     tgnewtable
 FROM pg_trigger t
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/9.1_plus/nodes.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/9.1_plus/nodes.sql
index 59372cce3..ef06054e0 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/9.1_plus/nodes.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/9.1_plus/nodes.sql
@@ -1,6 +1,5 @@
-SELECT t.oid, t.tgname as name, (CASE WHEN tgenabled = 'O' THEN true ElSE false END) AS is_enable_trigger
+SELECT t.oid, t.tgname as name, t.tgenabled AS is_enable_trigger
 FROM pg_trigger t
-
     WHERE NOT tgisinternal
     AND tgrelid = {{tid}}::OID
 {% if trid %}
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/9.1_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/9.1_plus/properties.sql
index 6d17cb65e..eda53eb5c 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/9.1_plus/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/9.1_plus/properties.sql
@@ -1,4 +1,4 @@
-SELECT t.oid,t.tgname AS name, t.xmin, t.*, relname, CASE WHEN relkind = 'r' THEN TRUE ELSE FALSE END AS parentistable,
+SELECT t.oid,t.tgname AS name, t.xmin, t.tgenabled AS is_enable_trigger, t.*, relname, CASE WHEN relkind = 'r' THEN TRUE ELSE FALSE END AS parentistable,
     nspname, des.description, l.lanname, p.prosrc, p.proname AS tfunction,
     COALESCE(substring(pg_get_triggerdef(t.oid), 'WHEN (.*) EXECUTE PROCEDURE'),
     substring(pg_get_triggerdef(t.oid), 'WHEN (.*)  \$trigger')) AS whenclause,
@@ -7,8 +7,7 @@ SELECT t.oid,t.tgname AS name, t.xmin, t.*, relname, CASE WHEN relkind = 'r' THE
 {% if datlastsysoid %}
     (CASE WHEN t.oid <= {{ datlastsysoid}}::oid THEN true ElSE false END) AS is_sys_trigger,
 {% endif %}
-    (CASE WHEN tgconstraint != 0::OID THEN true ElSE false END) AS is_constraint_trigger,
-    (CASE WHEN tgenabled = 'O' THEN true ElSE false END) AS is_enable_trigger
+    (CASE WHEN tgconstraint != 0::OID THEN true ElSE false END) AS is_constraint_trigger
 FROM pg_trigger t
     JOIN pg_class cl ON cl.oid=tgrelid
     JOIN pg_namespace na ON na.oid=relnamespace
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/default/enable_disable_trigger.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/default/enable_disable_trigger.sql
index b7009272d..174a37be4 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/default/enable_disable_trigger.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/default/enable_disable_trigger.sql
@@ -1,2 +1,3 @@
+{% set enable_map = {'R':'ENABLE REPLICA', 'A':'ENABLE ALWAYS', 'O':'ENABLE', 'D':'DISABLE'} %}
 ALTER TABLE {{ conn|qtIdent(data.schema, data.table) }}
-    {% if data.is_enable_trigger == True %}ENABLE{% else %}DISABLE{% endif %} TRIGGER {{ conn|qtIdent(data.name) }};
\ No newline at end of file
+    {{ enable_map[data.is_enable_trigger] }} TRIGGER {{ conn|qtIdent(data.name) }};
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/default/nodes.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/default/nodes.sql
index 2a10badf2..03610acb6 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/default/nodes.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/default/nodes.sql
@@ -1,4 +1,4 @@
-SELECT t.oid, t.tgname as name, (CASE WHEN tgenabled = 'O' THEN true ElSE false END) AS is_enable_trigger
+SELECT t.oid, t.tgname as name, t.tgenabled AS is_enable_trigger
 FROM pg_trigger t
     WHERE tgrelid = {{tid}}::OID
 {% if trid %}
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/default/update.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/default/update.sql
index 05af50e27..3b8d64545 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/default/update.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/default/update.sql
@@ -45,6 +45,7 @@ COMMENT ON TRIGGER {{ conn|qtIdent(data.name) }} ON {{ conn|qtIdent(o_data.nspna
     IS {{data.description|qtLiteral}};
 {% endif %}
 {% if data.is_enable_trigger is defined  and o_data.is_enable_trigger != data.is_enable_trigger %}
+{% set enable_map = {'R':'ENABLE REPLICA', 'A':'ENABLE ALWAYS', 'O':'ENABLE', 'D':'DISABLE'} %}
 ALTER TABLE {{ conn|qtIdent(o_data.nspname, o_data.relname) }}
-    {% if data.is_enable_trigger == True %}ENABLE{% else %}DISABLE{% endif %} TRIGGER {{ conn|qtIdent(data.name) }};
+    {{ enable_map[data.is_enable_trigger] }} TRIGGER {{ conn|qtIdent(data.name) }};
 {% endif %}
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/__init__.py
index 191bc3820..ecc231725 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/__init__.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/__init__.py
@@ -410,8 +410,8 @@ class TriggerView(PGChildNodeView):
             rset['rows'][0]['oid'],
             tid,
             rset['rows'][0]['name'],
-            icon="icon-trigger" if
-            rset['rows'][0]['is_enable_trigger'] else "icon-trigger-bad"
+            icon="icon-trigger-bad" if
+            rset['rows'][0]['is_enable_trigger'] == 'D' else "icon-trigger"
         )
 
         return make_json_response(
@@ -449,8 +449,8 @@ class TriggerView(PGChildNodeView):
                     row['oid'],
                     tid,
                     row['name'],
-                    icon="icon-trigger" if row['is_enable_trigger']
-                    else "icon-trigger-bad"
+                    icon="icon-trigger-bad" if row['is_enable_trigger'] == 'D'
+                    else "icon-trigger"
                 ))
 
         return make_json_response(
@@ -804,9 +804,9 @@ class TriggerView(PGChildNodeView):
                     new_trid,
                     tid,
                     name,
-                    icon="icon-%s" % self.node_type if
-                    data['is_enable_trigger'] else
-                    "icon-%s-bad" % self.node_type
+                    icon="icon-%s-bad" % self.node_type if
+                    data['is_enable_trigger'] == 'D' else
+                    "icon-%s" % self.node_type
                 )
             )
         except Exception as e:
@@ -999,7 +999,7 @@ class TriggerView(PGChildNodeView):
         SQL = sql_header + '\n\n' + SQL.strip('\n')
 
         # If trigger is disbaled then add sql code for the same
-        if not data['is_enable_trigger']:
+        if data['is_enable_trigger'] != 'O':
             SQL += '\n\n'
             SQL += render_template("/".join([self.template_path,
                                              'enable_disable_trigger.sql']),
@@ -1025,8 +1025,7 @@ class TriggerView(PGChildNodeView):
             request.data, encoding='utf-8'
         )
 
-        # Convert str 'true' to boolean type
-        is_enable_flag = json.loads(data['enable'])
+        is_enable_trigger = data['is_enable_trigger']
 
         try:
 
@@ -1049,7 +1048,7 @@ class TriggerView(PGChildNodeView):
             # current trigger which is disabled already so we need to
             # alter the 'is_enable_trigger' flag so that we can render
             # correct SQL for operation
-            o_data['is_enable_trigger'] = is_enable_flag
+            o_data['is_enable_trigger'] = is_enable_trigger
 
             # Adding parent into data dict, will be using it while creating sql
             o_data['schema'] = self.schema
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/static/js/trigger.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/static/js/trigger.js
index a38894f6d..3ab6072c3 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/static/js/trigger.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/static/js/trigger.js
@@ -108,7 +108,7 @@ define('pgadmin.node.trigger', [
           $.ajax({
             url: obj.generate_url(i, 'enable' , d, true),
             type:'PUT',
-            data: {'enable' : true},
+            data: {'is_enable_trigger' : 'O'},
             dataType: 'json',
           })
             .done(function(res) {
@@ -146,7 +146,7 @@ define('pgadmin.node.trigger', [
           $.ajax({
             url: obj.generate_url(i, 'enable' , d, true),
             type:'PUT',
-            data: {'enable' : false},
+            data: {'is_enable_trigger' : 'D'},
             dataType: 'json',
           })
             .done(function(res) {
@@ -187,13 +187,20 @@ define('pgadmin.node.trigger', [
           type: 'int', disabled: true, mode: ['properties'],
         },{
           id: 'is_enable_trigger', label: gettext('Trigger enabled?'),
-          type: 'switch', mode: ['edit', 'properties'], group: gettext('Definition'),
+          mode: ['edit', 'properties'], group: gettext('Definition'),
           disabled: function() {
             if(this.node_info && ('catalog' in this.node_info || 'view' in this.node_info)) {
               return true;
             }
             return false;
           },
+          options: [
+            {label: 'Enable', value: 'O'},
+            {label: 'Enable Replica', value: 'R'},
+            {label: 'Enable Always', value: 'A'},
+            {label: 'Disable', value: 'D'},
+          ],
+          control: 'select2', select2: { allowClear: false, width: '100%' },
         },{
           id: 'is_row_trigger', label: gettext('Row trigger?'),
           type: 'switch', group: gettext('Definition'),
@@ -352,7 +359,6 @@ define('pgadmin.node.trigger', [
               return view_options;
             }
           },
-          // If create mode then by default open composite type
           control: 'select2', select2: { allowClear: false, width: '100%' },
           disabled: function(m) {
             // If contraint trigger is set to True then only enable it
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/tests/test_triggers_put.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/tests/test_triggers_put.py
index ed0d0c352..fbcd02b65 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/tests/test_triggers_put.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/tests/test_triggers_put.py
@@ -28,7 +28,18 @@ class TriggersUpdateTestCase(BaseTestGenerator):
     """This class will update trigger under table node."""
     skip_on_database = ['gpdb']
     scenarios = [
-        ('Put trigger Node URL', dict(url='/browser/trigger/obj/'))
+        ('Put trigger Node URL', dict(
+            url='/browser/trigger/obj/',
+            data={"description": "This is test comment."})),
+        ('Enable Always compound trigger',
+         dict(url='/browser/trigger/obj/',
+              data={"is_enable_trigger": 'A'})),
+        ('Enable Replica compound trigger',
+         dict(url='/browser/trigger/obj/',
+              data={"is_enable_trigger": 'R'})),
+        ('Disable compound trigger',
+         dict(url='/browser/trigger/obj/',
+              data={"is_enable_trigger": 'D'})),
     ]
 
     def setUp(self):
@@ -72,15 +83,14 @@ class TriggersUpdateTestCase(BaseTestGenerator):
                                                          self.trigger_name)
         if not trigger_response:
             raise Exception("Could not find the trigger to update.")
-        data = {"id": self.trigger_id,
-                "description": "This is test comment."
-                }
+
+        self.data.update({"id": self.trigger_id})
         response = self.tester.put(
             "{0}{1}/{2}/{3}/{4}/{5}/{6}".format(self.url, utils.SERVER_GROUP,
                                                 self.server_id, self.db_id,
                                                 self.schema_id, self.table_id,
                                                 self.trigger_id),
-            data=json.dumps(data),
+            data=json.dumps(self.data),
             follow_redirects=True
         )
         self.assertEquals(response.status_code, 200)
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/utils.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/utils.py
index 2201f0a60..d721eaf4b 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/utils.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/utils.py
@@ -1075,7 +1075,7 @@ class BaseTableView(PGChildNodeView, BasePartitionTable):
             trigger_sql = sql_header + '\n\n' + trigger_sql.strip('\n')
 
             # If trigger is disabled then add sql code for the same
-            if not data['is_enable_trigger']:
+            if data['is_enable_trigger'] != 'O':
                 trigger_sql += '\n\n'
                 trigger_sql += render_template("/".join([
                     self.trigger_template_path,
@@ -1155,7 +1155,7 @@ class BaseTableView(PGChildNodeView, BasePartitionTable):
                     sql_header + '\n\n' + compound_trigger_sql.strip('\n')
 
                 # If trigger is disabled then add sql code for the same
-                if not data['is_enable_trigger']:
+                if data['is_enable_trigger'] != 'O':
                     compound_trigger_sql += '\n\n'
                     compound_trigger_sql += render_template("/".join(
                         [self.compound_trigger_template_path,
diff --git a/web/regression/javascript/table/enable_disable_triggers_spec.js b/web/regression/javascript/table/enable_disable_triggers_spec.js
index cc6591bbd..256689958 100644
--- a/web/regression/javascript/table/enable_disable_triggers_spec.js
+++ b/web/regression/javascript/table/enable_disable_triggers_spec.js
@@ -106,7 +106,7 @@ describe('#enableTriggers', () => {
         it('call backend with the correct parameters', (done) => {
           enableTriggers(tree, alertify, generateUrlSpy, {item: [{id: 'table1'}]});
           setTimeout(() => {
-            expect(networkMockCalledWith.data).toEqual(JSON.stringify({enable: 'true'}));
+            expect(networkMockCalledWith.data).toEqual(JSON.stringify({is_enable_trigger: 'O'}));
             done();
           }, 0);
         });
@@ -234,7 +234,7 @@ describe('#disableTriggers', () => {
         it('call backend with the correct parameters', (done) => {
           disableTriggers(tree, alertify, generateUrlSpy, {item: [{id: 'table1'}]});
           setTimeout(() => {
-            expect(networkMockCalledWith.data).toEqual(JSON.stringify({enable: 'false'}));
+            expect(networkMockCalledWith.data).toEqual(JSON.stringify({is_enable_trigger: 'D'}));
             done();
           }, 0);
         });
