diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/trigger/sql/9.1_plus/update.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/trigger/sql/9.1_plus/update.sql
index e27d2dc..86a7ba1 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/trigger/sql/9.1_plus/update.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/trigger/sql/9.1_plus/update.sql
@@ -3,28 +3,37 @@ ALTER TRIGGER {{ conn|qtIdent(o_data.name) }} ON {{ conn|qtIdent(o_data.nspname,
     RENAME TO {{ conn|qtIdent(data.name) }};
 
 {% endif %}
-{% if data.prosrc is defined and o_data.lanname == 'edbspl' and o_data.prosrc != data.prosrc %}
+{% if ((data.prosrc is defined or data.is_row_trigger is defined or data.evnt_insert is defined or data.evnt_delete is defined or data.evnt_update is defined or data.fires is defined) and o_data.lanname == 'edbspl' and (o_data.prosrc != data.prosrc or data.is_row_trigger != o_data.is_row_trigger or data.evnt_insert != o_data.evnt_insert or data.evnt_delete != o_data.evnt_delete or data.evnt_update != o_data.evnt_update or o_data.fires != data.fires))  %}
 {% set or_flag = False %}
 CREATE OR REPLACE TRIGGER {{ conn|qtIdent(data.name) }}
-    {{o_data.fires}} {% if o_data.evnt_insert %}INSERT{% set or_flag = True %}
-{% endif %}{% if o_data.evnt_delete %}
+    {% if data.fires is defined %} {{data.fires}} {% else %}{{o_data.fires}}{% endif %} {% if data.evnt_insert is not defined %} {% if o_data.evnt_insert %}INSERT{% set or_flag = True %}
+{% endif %}{% else %}{% if data.evnt_insert %}INSERT{% set or_flag = True %}{% endif %}{% endif %}{% if data.evnt_delete is not defined %}{% if o_data.evnt_delete %}
 {% if or_flag %} OR {% endif %}DELETE{% set or_flag = True %}
-{% endif %}{% if o_data.evnt_truncate %}
+{% endif %}{% else %} {% if data.evnt_delete %}
+{% if or_flag %} OR {% endif %}DELETE{% set or_flag = True %} {%endif %}{% endif %}{% if data.evnt_truncate is not defined %}{% if o_data.evnt_truncate %}
 {% if or_flag %} OR {% endif %}TRUNCATE{% set or_flag = True %}
-{% endif %}{% if o_data.evnt_update %}
+{% endif %}{% else %} {% if data.evnt_truncate %}
+{% if or_flag %} OR {% endif %}TRUNCATE{% set or_flag = True %} {%endif %} {% endif %}{% if data.evnt_update is not defined %}{% if o_data.evnt_update %}
 {% if or_flag %} OR {% endif %}UPDATE {% if o_data.columns|length > 0 %}OF {% for c in o_data.columns %}{% if loop.index != 1 %}, {% endif %}{{ conn|qtIdent(c.column) }}{% endfor %}{% endif %}
+{% endif %}{% else %} {% if data.evnt_update %}
+{% if or_flag %} OR {% endif %}UPDATE {% if o_data.columns|length > 0 %}OF {% for c in o_data.columns %}{% if loop.index != 1 %}, {% endif %}{{ conn|qtIdent(c.column) }}{% endfor %}{% endif %}{% endif %}
 {% endif %}
 
     ON {{ conn|qtIdent(data.schema, data.table) }}
 {% if o_data.tgdeferrable %}
     DEFERRABLE{% if o_data.tginitdeferred %} INITIALLY DEFERRED{% endif %}
-{% endif %}
-    FOR EACH{% if o_data.is_row_trigger %} ROW{% else %} STATEMENT{% endif %}
+{% endif %}{% if data.is_row_trigger is not defined %}
+    FOR EACH{% if o_data.is_row_trigger %} ROW{% else %} STATEMENT{% endif %} {% else %}
+    FOR EACH{% if data.is_row_trigger %} ROW{% else %} STATEMENT{% endif %} {% endif %}
 {% if o_data.whenclause %}
     WHEN {{ o_data.whenclause }}
 {% endif %}
 
+{% if (data.prosrc is not defined) %}
+{{ o_data.prosrc }};
+{% else %}
 {{ data.prosrc }};
+{% endif %}
 
 {% if data.description is not defined and o_data.description %}
 COMMENT ON TRIGGER {{ conn|qtIdent(data.name) }} ON {{ conn|qtIdent(o_data.nspname, o_data.relname) }}
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 20a874e..baa2f78 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
@@ -739,10 +739,19 @@ class TriggerView(PGChildNodeView):
             if not status:
                 return internal_server_error(errormsg=res)
 
+            # We need oid to add object in browser tree and if user
+            # update the trigger then new OID is getting generated
+            # so we need to return new OID of trigger.
+            SQL = render_template("/".join([self.template_path, 'get_oid.sql']),
+                                  tid=tid, data=data)
+            status, new_trid = self.conn.execute_scalar(SQL)
+            if not status:
+                return internal_server_error(errormsg=new_trid)
+
             return jsonify(
                 node=self.blueprint.generate_browser_node(
-                    trid,
-                    scid,
+                    new_trid,
+                    tid,
                     name,
                     icon="icon-%s" % self.node_type
                 )
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/templates/trigger/js/trigger.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/templates/trigger/js/trigger.js
index d5c5698..c0527e6 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/templates/trigger/js/trigger.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/templates/trigger/js/trigger.js
@@ -216,6 +216,11 @@ function($, _, S, pgAdmin, pgBrowser, Backform, alertify) {
                     return false;
                 }
             } else {
+                // Check if it is row trigger then enabled it.
+                var is_row_trigger = m.get('is_row_trigger');
+                if (!_.isUndefined(is_row_trigger) && m.node_info['server']['server_type'] == 'ppas') {
+                  return false;
+                }
                 // Disable it
                 return true;
             }
@@ -335,6 +340,11 @@ function($, _, S, pgAdmin, pgBrowser, Backform, alertify) {
                 return false;
             }
         } else {
+            // Check if it is row trigger then enabled it.
+            var fires_ = m.get('fires');
+            if (!_.isUndefined(fires_) && m.node_info['server']['server_type'] == 'ppas') {
+              return false;
+            }
             // Disable it
             return true;
         }
@@ -348,6 +358,9 @@ function($, _, S, pgAdmin, pgBrowser, Backform, alertify) {
             group: '{{ _('Events') }}',
             control: Backform.CustomSwitchControl,
             disabled: function(m) {
+                var evn_insert = m.get('evnt_insert');
+                if (!_.isUndefined(evn_insert) && m.node_info['server']['server_type'] == 'ppas')
+                  return false;
                 return m.inSchemaWithModelCheck.apply(this, [m]);
             }
         },{
@@ -356,6 +369,9 @@ function($, _, S, pgAdmin, pgBrowser, Backform, alertify) {
             group: '{{ _('Events') }}',
             control: Backform.CustomSwitchControl,
             disabled: function(m) {
+                var evn_update = m.get('evnt_update');
+                if (!_.isUndefined(evn_update) && m.node_info['server']['server_type'] == 'ppas')
+                  return false;
                 return m.inSchemaWithModelCheck.apply(this, [m]);
             }
         },{
@@ -364,6 +380,9 @@ function($, _, S, pgAdmin, pgBrowser, Backform, alertify) {
             group: '{{ _('Events') }}',
             control: Backform.CustomSwitchControl,
             disabled: function(m) {
+                var evn_delete = m.get('evnt_delete');
+                if (!_.isUndefined(evn_delete) && m.node_info['server']['server_type'] == 'ppas')
+                  return false;
                 return m.inSchemaWithModelCheck.apply(this, [m]);
             }
         },{
