diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/row_security_policies/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/row_security_policies/__init__.py
index a46a4884c..2e0a7558f 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/row_security_policies/__init__.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/row_security_policies/__init__.py
@@ -61,15 +61,14 @@ class RowSecurityModule(CollectionNodeModule):
         self.min_ver = 90500
         self.max_ver = None
 
-    def get_nodes(self, gid, sid, did, scid, **kwargs):
+    def get_nodes(self, **kwargs):
         """
         Generate the collection node
-        :param gid: group id
-        :param sid: server id
-        :param did: database id
-        :param scid: Schema ID
         """
-        yield self.generate_browser_collection_node(did)
+        assert ('tid' in kwargs or 'vid' in kwargs)
+        yield self.generate_browser_collection_node(
+            kwargs['tid'] if 'tid' in kwargs else kwargs['vid']
+        )
 
     @property
     def node_inode(self):
diff --git a/web/pgadmin/tools/search_objects/templates/search_objects/sql/pg/10_plus/search.sql b/web/pgadmin/tools/search_objects/templates/search_objects/sql/pg/10_plus/search.sql
index 503307a87..ac215eefd 100644
--- a/web/pgadmin/tools/search_objects/templates/search_objects/sql/pg/10_plus/search.sql
+++ b/web/pgadmin/tools/search_objects/templates/search_objects/sql/pg/10_plus/search.sql
@@ -449,6 +449,37 @@ FROM (
     JOIN pg_namespace n ON n.oid=c.collnamespace
     WHERE {{ CATALOGS.DB_SUPPORT('n') }}
 {% endif %}
+{% if all_obj %}
+    UNION
+{% endif %}
+{% if all_obj or obj_type in ['row_security_policy'] %}
+    select 'row_security_policy'::text AS obj_type, pl.polname AS obj_name, ':schema.'||n.oid||':/' || n.nspname|| '/' ||
+            case
+                WHEN t.relkind in ('r', 't', 'p') THEN
+                    (
+                        WITH RECURSIVE table_path_data as (
+                            select t.oid as oid, 0 as height, t.relkind,
+                                CASE t.relispartition WHEN true THEN ':partition.' ELSE ':table.' END || t.oid || ':/' || t.relname as path
+                            union
+                            select rel.oid, pt.height+1 as height, rel.relkind,
+                                CASE rel.relispartition WHEN true THEN ':partition.' ELSE ':table.' END
+                                || rel.oid || ':/' || rel.relname || '/' || pt.path as path
+                            from pg_class rel JOIN pg_namespace nsp ON rel.relnamespace = nsp.oid
+                            join pg_inherits inh ON inh.inhparent = rel.oid
+                            join table_path_data pt ON inh.inhrelid = pt.oid
+                        )
+                        select CASE WHEN relkind = 'p' THEN path ELSE ':table.' || t.oid || ':/' || t.relname END AS path
+                        from table_path_data order by height desc limit 1
+                    )
+            end
+            ||'/:row_security_policy.'|| pl.oid ||':/'|| pl.polname AS obj_path, n.nspname AS schema_name,
+            {{ show_node_prefs['row_security_policy'] }} AS show_node, NULL AS other_info
+            FROM pg_policy pl
+    JOIN pg_class t on pl.polrelid = t.oid and t.relkind in ('r','t','p')
+    JOIN pg_policies rw ON (pl.polname=rw.policyname AND t.relname=rw.tablename)
+    JOIN pg_namespace n on t.relnamespace = n.oid
+    where {{ CATALOGS.DB_SUPPORT('n') }}
+{% endif %}
 
 ) sn
 where lower(sn.obj_name) like '%{{ search_text }}%'
diff --git a/web/pgadmin/tools/search_objects/templates/search_objects/sql/pg/11_plus/search.sql b/web/pgadmin/tools/search_objects/templates/search_objects/sql/pg/11_plus/search.sql
index ebae55a68..4e07ff079 100644
--- a/web/pgadmin/tools/search_objects/templates/search_objects/sql/pg/11_plus/search.sql
+++ b/web/pgadmin/tools/search_objects/templates/search_objects/sql/pg/11_plus/search.sql
@@ -466,6 +466,37 @@ FROM (
     JOIN pg_namespace n ON n.oid=c.collnamespace
     WHERE {{ CATALOGS.DB_SUPPORT('n') }}
 {% endif %}
+{% if all_obj %}
+    UNION
+{% endif %}
+{% if all_obj or obj_type in ['row_security_policy'] %}
+    select 'row_security_policy'::text AS obj_type, pl.polname AS obj_name, ':schema.'||n.oid||':/' || n.nspname|| '/' ||
+            case
+                WHEN t.relkind in ('r', 't', 'p') THEN
+                    (
+                        WITH RECURSIVE table_path_data as (
+                            select t.oid as oid, 0 as height, t.relkind,
+                                CASE t.relispartition WHEN true THEN ':partition.' ELSE ':table.' END || t.oid || ':/' || t.relname as path
+                            union
+                            select rel.oid, pt.height+1 as height, rel.relkind,
+                                CASE rel.relispartition WHEN true THEN ':partition.' ELSE ':table.' END
+                                || rel.oid || ':/' || rel.relname || '/' || pt.path as path
+                            from pg_class rel JOIN pg_namespace nsp ON rel.relnamespace = nsp.oid
+                            join pg_inherits inh ON inh.inhparent = rel.oid
+                            join table_path_data pt ON inh.inhrelid = pt.oid
+                        )
+                        select CASE WHEN relkind = 'p' THEN path ELSE ':table.' || t.oid || ':/' || t.relname END AS path
+                        from table_path_data order by height desc limit 1
+                    )
+            end
+            ||'/:row_security_policy.'|| pl.oid ||':/'|| pl.polname AS obj_path, n.nspname AS schema_name,
+            {{ show_node_prefs['row_security_policy'] }} AS show_node, NULL AS other_info
+            FROM pg_policy pl
+    JOIN pg_class t on pl.polrelid = t.oid and t.relkind in ('r','t','p')
+    JOIN pg_policies rw ON (pl.polname=rw.policyname AND t.relname=rw.tablename)
+    JOIN pg_namespace n on t.relnamespace = n.oid
+    where {{ CATALOGS.DB_SUPPORT('n') }}
+{% endif %}
 
 ) sn
 where lower(sn.obj_name) like '%{{ search_text }}%'
diff --git a/web/pgadmin/tools/search_objects/templates/search_objects/sql/pg/default/search.sql b/web/pgadmin/tools/search_objects/templates/search_objects/sql/pg/default/search.sql
index 9e365c8b7..6551fa3fe 100644
--- a/web/pgadmin/tools/search_objects/templates/search_objects/sql/pg/default/search.sql
+++ b/web/pgadmin/tools/search_objects/templates/search_objects/sql/pg/default/search.sql
@@ -357,6 +357,19 @@ FROM (
     JOIN pg_namespace n ON n.oid=c.collnamespace
     WHERE {{ CATALOGS.DB_SUPPORT('n') }}
 {% endif %}
+{% if all_obj %}
+    UNION
+{% endif %}
+{% if all_obj or obj_type in ['row_security_policy'] %}
+    select 'row_security_policy'::text AS obj_type, pl.polname AS obj_name, ':schema.'|| n.oid || ':/' || n.nspname ||
+        '/:table.'|| t.oid ||':/' || t.relname || '/:row_security_policy.'|| pl.oid ||':/' || pl.polname AS obj_path, n.nspname AS schema_name,
+        {{ show_node_prefs['row_security_policy'] }} AS show_node, NULL AS other_info
+        FROM pg_policy pl
+    JOIN pg_class t on pl.polrelid = t.oid and t.relkind in ('r','t','p')
+    JOIN pg_policies rw ON (pl.polname=rw.policyname AND t.relname=rw.tablename)
+    JOIN pg_namespace n on t.relnamespace = n.oid
+    where {{ CATALOGS.DB_SUPPORT('n') }}
+{% endif %}
 
 ) sn
 where lower(sn.obj_name) like '%{{ search_text }}%'
diff --git a/web/pgadmin/tools/search_objects/templates/search_objects/sql/ppas/10_plus/search.sql b/web/pgadmin/tools/search_objects/templates/search_objects/sql/ppas/10_plus/search.sql
index 97604a794..a41a375eb 100644
--- a/web/pgadmin/tools/search_objects/templates/search_objects/sql/ppas/10_plus/search.sql
+++ b/web/pgadmin/tools/search_objects/templates/search_objects/sql/ppas/10_plus/search.sql
@@ -525,6 +525,38 @@ FROM (
     WHERE {{ CATALOGS.DB_SUPPORT('p') }}
     AND {{ CATALOGS.DB_SUPPORT('n') }}
 {% endif %}
+{% if all_obj %}
+    UNION
+{% endif %}
+{% if all_obj or obj_type in ['row_security_policy'] %}
+    select 'row_security_policy'::text AS obj_type, pl.polname AS obj_name, ':schema.'||n.oid||':/' || n.nspname|| '/' ||
+            case
+                WHEN t.relkind in ('r', 't', 'p') THEN
+                    (
+                        WITH RECURSIVE table_path_data as (
+                            select t.oid as oid, 0 as height, t.relkind,
+                                CASE t.relispartition WHEN true THEN ':partition.' ELSE ':table.' END || t.oid || ':/' || t.relname as path
+                            union
+                            select rel.oid, pt.height+1 as height, rel.relkind,
+                                CASE rel.relispartition WHEN true THEN ':partition.' ELSE ':table.' END
+                                || rel.oid || ':/' || rel.relname || '/' || pt.path as path
+                            from pg_class rel JOIN pg_namespace nsp ON rel.relnamespace = nsp.oid
+                            join pg_inherits inh ON inh.inhparent = rel.oid
+                            join table_path_data pt ON inh.inhrelid = pt.oid
+                        )
+                        select CASE WHEN relkind = 'p' THEN path ELSE ':table.' || t.oid || ':/' || t.relname END AS path
+                        from table_path_data order by height desc limit 1
+                    )
+            end
+            ||'/:row_security_policy.'|| pl.oid ||':/'|| pl.polname AS obj_path, n.nspname AS schema_name,
+            {{ show_node_prefs['row_security_policy'] }} AS show_node, NULL AS other_info
+            FROM pg_policy pl
+    JOIN pg_class t on pl.polrelid = t.oid and t.relkind in ('r','t','p')
+    JOIN pg_policies rw ON (pl.polname=rw.policyname AND t.relname=rw.tablename)
+    JOIN pg_namespace n on t.relnamespace = n.oid
+    where {{ CATALOGS.DB_SUPPORT('n') }}
+{% endif %}
+
 ) sn
 where lower(sn.obj_name) like '%{{ search_text }}%'
 {% if not show_system_objects %}
diff --git a/web/pgadmin/tools/search_objects/templates/search_objects/sql/ppas/12_plus/search.sql b/web/pgadmin/tools/search_objects/templates/search_objects/sql/ppas/12_plus/search.sql
index e567ce496..796fc30b8 100644
--- a/web/pgadmin/tools/search_objects/templates/search_objects/sql/ppas/12_plus/search.sql
+++ b/web/pgadmin/tools/search_objects/templates/search_objects/sql/ppas/12_plus/search.sql
@@ -534,6 +534,38 @@ FROM (
     AND {{ CATALOGS.DB_SUPPORT('p') }}
     AND {{ CATALOGS.DB_SUPPORT('n') }}
 {% endif %}
+{% if all_obj %}
+    UNION
+{% endif %}
+{% if all_obj or obj_type in ['row_security_policy'] %}
+    select 'row_security_policy'::text AS obj_type, pl.polname AS obj_name, ':schema.'||n.oid||':/' || n.nspname|| '/' ||
+            case
+                WHEN t.relkind in ('r', 't', 'p') THEN
+                    (
+                        WITH RECURSIVE table_path_data as (
+                            select t.oid as oid, 0 as height, t.relkind,
+                                CASE t.relispartition WHEN true THEN ':partition.' ELSE ':table.' END || t.oid || ':/' || t.relname as path
+                            union
+                            select rel.oid, pt.height+1 as height, rel.relkind,
+                                CASE rel.relispartition WHEN true THEN ':partition.' ELSE ':table.' END
+                                || rel.oid || ':/' || rel.relname || '/' || pt.path as path
+                            from pg_class rel JOIN pg_namespace nsp ON rel.relnamespace = nsp.oid
+                            join pg_inherits inh ON inh.inhparent = rel.oid
+                            join table_path_data pt ON inh.inhrelid = pt.oid
+                        )
+                        select CASE WHEN relkind = 'p' THEN path ELSE ':table.' || t.oid || ':/' || t.relname END AS path
+                        from table_path_data order by height desc limit 1
+                    )
+            end
+            ||'/:row_security_policy.'|| pl.oid ||':/'|| pl.polname AS obj_path, n.nspname AS schema_name,
+            {{ show_node_prefs['row_security_policy'] }} AS show_node, NULL AS other_info
+            FROM pg_policy pl
+    JOIN pg_class t on pl.polrelid = t.oid and t.relkind in ('r','t','p')
+    JOIN pg_policies rw ON (pl.polname=rw.policyname AND t.relname=rw.tablename)
+    JOIN pg_namespace n on t.relnamespace = n.oid
+    where {{ CATALOGS.DB_SUPPORT('n') }}
+{% endif %}
+
 ) sn
 where lower(sn.obj_name) like '%{{ search_text }}%'
 {% if not show_system_objects %}
diff --git a/web/pgadmin/tools/search_objects/templates/search_objects/sql/ppas/default/search.sql b/web/pgadmin/tools/search_objects/templates/search_objects/sql/ppas/default/search.sql
index ae1b12512..1389d546b 100644
--- a/web/pgadmin/tools/search_objects/templates/search_objects/sql/ppas/default/search.sql
+++ b/web/pgadmin/tools/search_objects/templates/search_objects/sql/ppas/default/search.sql
@@ -432,6 +432,20 @@ FROM (
     WHERE {{ CATALOGS.DB_SUPPORT('p') }}
     AND {{ CATALOGS.DB_SUPPORT('n') }}
 {% endif %}
+{% if all_obj %}
+    UNION
+{% endif %}
+{% if all_obj or obj_type in ['row_security_policy'] %}
+    select 'row_security_policy'::text AS obj_type, pl.polname AS obj_name, ':schema.'|| n.oid || ':/' || n.nspname ||
+        '/:table.'|| t.oid ||':/' || t.relname || '/:row_security_policy.'|| pl.oid ||':/' || pl.polname AS obj_path, n.nspname AS schema_name,
+        {{ show_node_prefs['row_security_policy'] }} AS show_node, NULL AS other_info
+        FROM pg_policy pl
+    JOIN pg_class t on pl.polrelid = t.oid and t.relkind in ('r','t','p')
+    JOIN pg_policies rw ON (pl.polname=rw.policyname AND t.relname=rw.tablename)
+    JOIN pg_namespace n on t.relnamespace = n.oid
+    where {{ CATALOGS.DB_SUPPORT('n') }}
+{% endif %}
+
 ) sn
 where lower(sn.obj_name) like '%{{ search_text }}%'
 {% if not show_system_objects %}
diff --git a/web/pgadmin/tools/search_objects/utils.py b/web/pgadmin/tools/search_objects/utils.py
index 26240f090..a56e1322f 100644
--- a/web/pgadmin/tools/search_objects/utils.py
+++ b/web/pgadmin/tools/search_objects/utils.py
@@ -43,7 +43,7 @@ class SearchObjectsHelper:
             'trigger_function', 'fts_template', 'collation', 'view', 'mview',
             'fts_configuration', 'extension', 'language',
             'event_trigger', 'foreign_server', 'user_mapping',
-            'foreign_data_wrapper'
+            'foreign_data_wrapper', 'row_security_policy'
         ] if node_types is None else node_types
 
     @property
