diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/utils.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/utils.py
index 9497e58..0513e6e 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/utils.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/utils.py
@@ -12,6 +12,7 @@
 from pgadmin.browser.collection import CollectionNodeModule
 from pgadmin.browser.utils import PGChildNodeView
 from flask import render_template
+from pgadmin.utils.ajax import internal_server_error
 
 class SchemaChildModule(CollectionNodeModule):
     """
@@ -139,3 +140,110 @@ class DataTypeReader:
             return False, str(e)
 
         return True, res
+
+
+def trigger_definition(data):
+    """
+    This functional will set the trigger definition
+
+    Args:
+        data: Properties data
+
+    Returns:
+        Updated properties data with trigger definition
+    """
+
+    # Here we are storing trigger definition
+    # We will use it to check trigger type definition
+    trigger_definition = {
+        'TRIGGER_TYPE_ROW':         (1 << 0),
+        'TRIGGER_TYPE_BEFORE':      (1 << 1),
+        'TRIGGER_TYPE_INSERT':      (1 << 2),
+        'TRIGGER_TYPE_DELETE':      (1 << 3),
+        'TRIGGER_TYPE_UPDATE':      (1 << 4),
+        'TRIGGER_TYPE_TRUNCATE':    (1 << 5),
+        'TRIGGER_TYPE_INSTEAD':     (1 << 6)
+    }
+
+    # Fires event definition
+    if data['tgtype'] & trigger_definition['TRIGGER_TYPE_BEFORE']:
+        data['fires'] = 'BEFORE'
+    elif data['tgtype'] & trigger_definition['TRIGGER_TYPE_INSTEAD']:
+        data['fires'] = 'INSTEAD OF'
+    else:
+        data['fires'] = 'AFTER'
+
+    # Trigger of type definition
+    if data['tgtype'] & trigger_definition['TRIGGER_TYPE_ROW']:
+        data['is_row_trigger'] = True
+    else:
+        data['is_row_trigger'] = False
+
+    # Event definition
+    if data['tgtype'] & trigger_definition['TRIGGER_TYPE_INSERT']:
+        data['evnt_insert'] = True
+    else:
+        data['evnt_insert'] = False
+
+    if data['tgtype'] & trigger_definition['TRIGGER_TYPE_DELETE']:
+        data['evnt_delete'] = True
+    else:
+        data['evnt_delete'] = False
+
+    if data['tgtype'] & trigger_definition['TRIGGER_TYPE_UPDATE']:
+        data['evnt_update'] = True
+    else:
+        data['evnt_update'] = False
+
+    if data['tgtype'] & trigger_definition['TRIGGER_TYPE_TRUNCATE']:
+        data['evnt_turncate'] = True
+    else:
+        data['evnt_turncate'] = False
+
+    return data
+
+
+def parse_rule_definition(res):
+    """
+    This function extracts:
+    - events
+    - do_instead
+    - statements
+    - condition
+    from the defintion row, forms an array with fields and returns it.
+    """
+    res_data = []
+    try:
+        res_data = res['rows'][0]
+        data_def = res_data['definition']
+        import re
+        # Parse data for event
+        e_match = re.search(r"ON\s+(.*)\s+TO", data_def)
+        event_data = e_match.group(1) if e_match is not None else None
+        event = event_data if event_data is not None else ''
+
+        # Parse data for do instead
+        inst_match = re.search(r"\s+(INSTEAD)\s+", data_def)
+        instead_data = inst_match.group(1) if inst_match is not None else None
+        instead = True if instead_data is not None else False
+
+        # Parse data for condition
+        condition_match = re.search(r"(?:WHERE)\s+(.*)\s+(?:DO)", data_def)
+        condition_data = condition_match.group(1) \
+            if condition_match is not None else None
+        condition = condition_data if condition_data is not None else ''
+
+        # Parse data for statements
+        statement_match = re.search(
+            r"(?:DO\s+)(?:INSTEAD\s+)?((.|\n)*)", data_def)
+        statement_data = statement_match.group(1) if statement_match else None
+        statement = statement_data if statement_data is not None else ''
+
+        # set columns parse data
+        res_data['event'] = event.lower().capitalize()
+        res_data['do_instead'] = instead
+        res_data['statements'] = statement
+        res_data['condition'] = condition
+    except Exception as e:
+        return internal_server_error(errormsg=str(e))
+    return res_data
