当前位置: 首页 > 知识库问答 >
问题:

如何使用R从Postgres DB中列出表而不是视图?

祁和通
2023-03-14

中?DBI::dbListTables我们可以阅读:

这应该包括视图和临时对象

的确如此。

但是,如何仅查看表,而不查看视图?

如果有必要,我正在使用驱动程序RPostgres::Postgres()。


共有1个答案

黄毅
2023-03-14

我建议系统目录视图pg_tables查看以下表格:

dbGetQuery(con, "SELECT * FROM pg_tables")

手册:

视图pg_tables提供了对数据库中每个表的有用信息的访问。

不包含视图、物化视图或临时表,仅包含常规表(包括未标记的表)。见:

  • 如何检查给定模式中是否存在表

您可能想要排除系统表,只检索模式和表名:

dbGetQuery(con, "SELECT schemaname, tablename FROM pg_catalog.pg_tables WHERE schemaname !~ '^pg_' AND schemaname <> 'information_schema'")

我为catalog表添加了显式模式限定:pg\u catalog。pg_表格。通常不需要,但为了防止出现混乱的搜索路径设置。见:

  • search_path如何影响标识符解析和当前模式

pg_views视图-如果您需要:

dbGetQuery(con, "SELECT * FROM pg_views")

视图pg_views提供对数据库中每个视图的有用信息的访问。

 类似资料:
  • 问题内容: 我需要在大型数据集上运行nltk.pos_tag,并且需要使其输出像斯坦福标记器提供的那样。 例如,在运行以下代码时,我有: 输出为:[[‘We’,’PRP’),(’are’,’VBP’),(’going’,’VBG’),(’out.Just’,’IN’),(’you ‘,’PRP’),(’and’,’CC’),(’me’,’PRP’),(’。’,’。’)] 在这种情况下,我需要像这样

  • 我正在使用R和包连接到PostgreSQL数据库。db有许多模式,我想知道哪些表与特定的模式相关联。 到目前为止,我已经尝试: 这些都不起作用。 这个相关的问题也存在:使用R在postgres中设置模式名称,这将通过在连接处定义模式来解决这个问题。然而,它还没有得到回答!

  • 问题内容: 从两个列表中选择列表的最快,最优雅的方法是什么? 我有 我想要 我当时在考虑使用map而不是zip,但我不知道是否有一些标准库方法作为第一个参数。 我可以为此定义自己的功能,并使用map,我的问题是是否已经实现了某些功能。 否 也是答案。 问题答案: 如果您要压缩2个以上的列表(就此而言,甚至压缩2个),一种可读的方式将是: 这使用列表推导并将列表(元组)中的每个元素转换为列表。

  • 我试图访问MyModelClass上的getter方法,但我的代码返回

  • 本文向大家介绍如何从R中的列表中子集唯一值?,包括了如何从R中的列表中子集唯一值?的使用技巧和注意事项,需要的朋友参考一下 我们知道R中的列表可以具有不同数据类型的多个元素,但它们也可以相同。无论我们具有相同类型的元素还是不同的元素,我们都可能希望使用唯一值对列表进行子集设置,尤其是在我们认为值必须相同的情况下。为此,我们可以使用独特的功能。 示例 请看以下列表- 输出结果 在列表List1中找到

  • 本文向大家介绍如何在R中合并列表?,包括了如何在R中合并列表?的使用技巧和注意事项,需要的朋友参考一下 当我们有多个列表但它们具有相似的数据类型时,我们可能想要合并或合并这些列表。这将有助于使用,因为我们可以使用一个列表名称执行计算,而不是将其应用于多个列表名称。我们可以借助mapply函数组合多个列表。 示例 请看以下列表- 现在假设,我们还有一个列表,即List3,然后可以按照如下所示的相同方