JohnDoe Asked: 2021-11-18 00:58:35 +0800 CST2021-11-18 00:58:35 +0800 CST 2021-11-18 00:58:35 +0800 CST 列出当前用户拥有的 Postgres 物化视图 select grant 772 随着select matviewname from pg_matviews我得到数据库中的所有物化视图。如何过滤结果以仅获取当前用户具有选择授权(=读取权限)的那些? postgresql materialized-view 1 个回答 Voted Best Answer a_horse_with_no_name 2021-11-18T01:16:10+08:002021-11-18T01:16:10+08:00 您可以使用该功能has_table_privilege()来检查: select mv.* from pg_catalog.pg_matviews mv where has_table_privilege(format('%I.%I', mv.schemaname, mv.matviewname), 'select') 带有两个参数的版本会为当前用户检查这个。或者,您可以使用具有三个参数的版本并显式传递用户名。
您可以使用该功能
has_table_privilege()
来检查:带有两个参数的版本会为当前用户检查这个。或者,您可以使用具有三个参数的版本并显式传递用户名。