在
但我怎么才能只看到表,而排除视图呢?
如果有影响,我正在使用
?DBI::dbListTables
中,我们可以读到:
实际上确实是这样的。这应该包括视图和临时对象
但我怎么才能只看到表,而排除视图呢?
如果有影响,我正在使用
RPostgres :: Postgres()
驱动程序。?DBI::dbListTables
中,我们可以读到:
实际上确实是这样的。这应该包括视图和临时对象
RPostgres :: Postgres()
驱动程序。我建议使用系统目录视图pg_tables
查看表:
dbGetQuery(con, "SELECT * FROM pg_tables")
视图
pg_tables
提供了有关数据库中每个表的有用信息。
不包含视图、物化视图或临时表,只包括常规表(包括UNLOGGED
表)。请参见:
您可能希望排除系统表,并仅检索模式和表名称:
dbGetQuery(con, "SELECT schemaname, tablename FROM pg_catalog.pg_tables WHERE schemaname !~ '^pg_' AND schemaname <> 'information_schema'")
pg_catalog.pg_tables
添加了显式模式限定。通常情况下不需要,但是为了防止search_path
设置出现问题。请参考以下链接:pg_views
用于视图-如果您需要。dbGetQuery(con, "SELECT * FROM pg_views")
pg_views
提供了有关数据库中每个视图的有用信息。
dbGetQuery
来获取表和视图? - tonytonovdbGetQuery(con, "SELECT * FROM information_schema.tables WHERE table_schema = 'public' AND table_type = 'BASE TABLE'")
- user2957945