diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/check_constraint/sql/9.2_plus/nodes.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/check_constraint/sql/9.2_plus/nodes.sql
index e3ac2505b..c859975e9 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/check_constraint/sql/9.2_plus/nodes.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/check_constraint/sql/9.2_plus/nodes.sql
@@ -1,5 +1,5 @@
 SELECT c.oid, conname as name,
-    NOT convalidated as convalidated
+    NOT convalidated as convalidated, conislocal
     FROM pg_catalog.pg_constraint c
 WHERE contype = 'c'
     AND conrelid = {{ tid }}::oid
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/check_constraint/sql/9.2_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/check_constraint/sql/9.2_plus/properties.sql
index 08a1aa5fc..5673b1312 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/check_constraint/sql/9.2_plus/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/check_constraint/sql/9.2_plus/properties.sql
@@ -1,6 +1,6 @@
 SELECT c.oid, conname as name, relname, nspname, description as comment,
        pg_catalog.pg_get_expr(conbin, conrelid, true) as consrc,
-       connoinherit, NOT convalidated as convalidated
+       connoinherit, NOT convalidated as convalidated, conislocal
     FROM pg_catalog.pg_constraint c
     JOIN pg_catalog.pg_class cl ON cl.oid=conrelid
     JOIN pg_catalog.pg_namespace nl ON nl.oid=relnamespace
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/check_constraint/sql/default/nodes.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/check_constraint/sql/default/nodes.sql
index 020eecca0..424706199 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/check_constraint/sql/default/nodes.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/check_constraint/sql/default/nodes.sql
@@ -1,4 +1,4 @@
-SELECT c.oid, conname as name
+SELECT c.oid, conname as name, conislocal
     FROM pg_catalog.pg_constraint c
 WHERE contype = 'c'
     AND conrelid = {{ tid }}::oid
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/check_constraint/sql/default/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/check_constraint/sql/default/properties.sql
index ef0d65e22..19bd6fba7 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/check_constraint/sql/default/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/check_constraint/sql/default/properties.sql
@@ -1,5 +1,5 @@
 SELECT c.oid, conname as name, relname, nspname, description as comment ,
-       pg_catalog.pg_get_expr(conbin, conrelid, true) as consrc
+       pg_catalog.pg_get_expr(conbin, conrelid, true) as consrc, conislocal
     FROM pg_catalog.pg_constraint c
     JOIN pg_catalog.pg_class cl ON cl.oid=conrelid
     JOIN pg_catalog.pg_namespace nl ON nl.oid=relnamespace
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/foreign_key/sql/9.1_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/foreign_key/sql/9.1_plus/properties.sql
index ce2c5a1fe..610100093 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/foreign_key/sql/9.1_plus/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/foreign_key/sql/9.1_plus/properties.sql
@@ -16,7 +16,8 @@ SELECT ct.oid,
       nr.nspname as refnsp,
       cr.relname as reftab,
       description as comment,
-      convalidated
+      convalidated,
+      conislocal
 FROM pg_catalog.pg_constraint ct
 JOIN pg_catalog.pg_class cl ON cl.oid=conrelid
 JOIN pg_catalog.pg_namespace nl ON nl.oid=cl.relnamespace
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/foreign_key/sql/default/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/foreign_key/sql/default/properties.sql
index 0a2b4f484..a827b783f 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/foreign_key/sql/default/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/foreign_key/sql/default/properties.sql
@@ -17,7 +17,8 @@ SELECT
       cl.relname as fktab,
       nr.nspname as refnsp,
       cr.relname as reftab,
-      description as comment
+      description as comment,
+      conislocal
 FROM pg_catalog.pg_constraint ct
 JOIN pg_catalog.pg_class cl ON cl.oid=conrelid
 JOIN pg_catalog.pg_namespace nl ON nl.oid=cl.relnamespace
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/index_constraint/sql/11_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/index_constraint/sql/11_plus/properties.sql
index b1d5c69c5..220a3d84f 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/index_constraint/sql/11_plus/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/index_constraint/sql/11_plus/properties.sql
@@ -14,6 +14,7 @@ SELECT cls.oid,
     END AS comment,
     condeferrable,
     condeferred,
+    conislocal,
     substring(pg_catalog.array_to_string(cls.reloptions, ',') from 'fillfactor=([0-9]*)') AS fillfactor
 FROM pg_catalog.pg_index idx
 JOIN pg_catalog.pg_class cls ON cls.oid=indexrelid
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/index_constraint/sql/default/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/index_constraint/sql/default/properties.sql
index 0307e46c6..83ade7ff0 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/index_constraint/sql/default/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/index_constraint/sql/default/properties.sql
@@ -14,6 +14,7 @@ SELECT cls.oid,
     END AS comment,
     condeferrable,
     condeferred,
+    conislocal,
     substring(pg_catalog.array_to_string(cls.reloptions, ',') from 'fillfactor=([0-9]*)') AS fillfactor
 FROM pg_catalog.pg_index idx
 JOIN pg_catalog.pg_class cls ON cls.oid=indexrelid
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 c93f4a861..93a6616b4 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
@@ -294,20 +294,25 @@ class BaseTableView(PGChildNodeView, BasePartitionTable, VacuumSettings):
                 idxcons_utils.get_index_constraints(self.conn, did, tid, ctype)
             if status:
                 for cons in constraints:
-                    data.setdefault(
-                        index_constraints[ctype], []).append(cons)
+                    if not self.\
+                            _is_partition_and_constraint_inherited(cons, data):
+                        data.setdefault(
+                            index_constraints[ctype], []).append(cons)
 
         # Add Foreign Keys
         status, foreign_keys = fkey_utils.get_foreign_keys(self.conn, tid)
         if status:
             for fk in foreign_keys:
-                data.setdefault('foreign_key', []).append(fk)
+                if not self._is_partition_and_constraint_inherited(fk, data):
+                    data.setdefault('foreign_key', []).append(fk)
 
         # Add Check Constraints
         status, check_constraints = \
             check_utils.get_check_constraints(self.conn, tid)
         if status:
-            data['check_constraint'] = check_constraints
+            for cc in check_constraints:
+                if not self._is_partition_and_constraint_inherited(cc, data):
+                    data.setdefault('check_constraint', []).append(cc)
 
         # Add Exclusion Constraint
         status, exclusion_constraints = \
@@ -316,6 +321,23 @@ class BaseTableView(PGChildNodeView, BasePartitionTable, VacuumSettings):
             for ex in exclusion_constraints:
                 data.setdefault('exclude_constraint', []).append(ex)
 
+    @staticmethod
+    def _is_partition_and_constraint_inherited(constraint, data):
+
+        """
+        This function will check whether a constraint is local or
+        inherited only for partition table
+        :param constraint: given constraint
+        :param data: partition table data
+        :return: True or False based on condition
+        """
+        # check whether the table is partition or not, then check conislocal
+        if 'relispartition' in data and data['relispartition'] is True:
+            if 'conislocal' in constraint \
+                    and constraint['conislocal'] is False:
+                return True
+        return False
+
     def get_table_dependents(self, tid):
         """
         This function get the dependents and return ajax response
@@ -820,7 +842,7 @@ class BaseTableView(PGChildNodeView, BasePartitionTable, VacuumSettings):
             main_sql.append(rules_sql)
 
     def _get_resql_for_partitions(self, data, rset, json_resp,
-                                  diff_partition_sql, main_sql):
+                                  diff_partition_sql, main_sql, did):
         """
         ##########################################
         # Reverse engineered sql for PARTITIONS
@@ -828,6 +850,7 @@ class BaseTableView(PGChildNodeView, BasePartitionTable, VacuumSettings):
         """
 
         sql_header = ''
+        partition_sql_arr = []
         if len(rset['rows']):
             if json_resp:
                 sql_header = "\n-- Partitions SQL"
@@ -900,18 +923,48 @@ class BaseTableView(PGChildNodeView, BasePartitionTable, VacuumSettings):
                 part_data['vacuum_toast'] = \
                     copy.deepcopy(self.parse_vacuum_data(
                         self.conn, row, 'toast'))
+
+                scid = row['schema_id']
+                schema = part_data['schema']
+                table = part_data['name']
+
+                # Get all the supported constraints for partition table
+                self._add_constrints_to_output(part_data, did, row['oid'])
+
                 partition_sql += render_template("/".join(
                     [self.partition_template_path, self._CREATE_SQL]),
                     data=part_data, conn=self.conn) + '\n'
 
-            # Add into main sql
-            partition_sql = re.sub(self.pattern, self.double_newline,
-                                   partition_sql).strip('\n')
-            partition_main_sql = partition_sql.strip('\n')
+                partition_sql = re.sub(self.pattern, self.double_newline,
+                                       partition_sql).strip('\n')
+
+                partition_main_sql = partition_sql.strip('\n')
+
+                # Add into partition sql to partition array
+                partition_sql_arr.append(partition_main_sql)
+
+                # Get Reverse engineered sql for ROW SECURITY POLICY
+                self._get_resql_for_row_security_policy(scid, row['oid'],
+                                                        json_resp,
+                                                        partition_sql_arr,
+                                                        schema, table)
+
+                # Get Reverse engineered sql for Triggers
+                self._get_resql_for_triggers(row['oid'], json_resp,
+                                             partition_sql_arr, schema, table)
+
+                # Get Reverse engineered sql for Compound Triggers
+                self._get_resql_for_compound_triggers(row['oid'],
+                                                      partition_sql_arr,
+                                                      schema, table)
+
+                # Get Reverse engineered sql for Rules
+                self._get_resql_for_rules(row['oid'], partition_sql_arr, table,
+                                          json_resp)
+
             if not diff_partition_sql:
-                main_sql.append(
-                    sql_header + self.double_newline + partition_main_sql
-                )
+                main_sql.append(sql_header + '\n')
+                main_sql += partition_sql_arr
 
     def get_reverse_engineered_sql(self, **kwargs):
         """
@@ -964,7 +1017,7 @@ class BaseTableView(PGChildNodeView, BasePartitionTable, VacuumSettings):
                 return internal_server_error(errormsg=rset)
 
             self._get_resql_for_partitions(data, rset, json_resp,
-                                           diff_partition_sql, main_sql)
+                                           diff_partition_sql, main_sql, did)
 
         sql = '\n'.join(main_sql)
 
