【问题标题】:postgresql: for a given table name what is schema name?postgresql:对于给定的表名,架构名称是什么?
【发布时间】:2015-06-03 13:43:21
【问题描述】:

我的数据库中有一个表名 student 和 35 个模式。 我怎样才能得到表学生存在的模式? (在不同的架构中可能不止一个)。

我已经尝试过pg_class,但我不知道如何从那里获取架构名称。

【问题讨论】:

标签: sql postgresql select data-dictionary


【解决方案1】:

您可以通过information_schema.tables查询:

SELECT table_catalog, table_schema 
FROM   information_schema.tables 
WHERE  table_name = 'student'

【讨论】:

  • table_catalog 是什么意思?它也适用于视图吗?
  • @John table_catalog 是包含该表的数据库的名称。如果您已经知道它,则可以从查询中省略它。是的,这也适用于视图。
【解决方案2】:
select schemaname,relname from pg_stat_user_tables;

例子:

dvdrental=# select schemaname,relname from pg_stat_user_tables;
schemaname relname
public actor
public category
public payment
public film
public staff

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-12
    • 1970-01-01
    • 2013-07-18
    • 2015-03-09
    • 2018-01-09
    • 2011-11-25
    • 2013-08-28
    • 1970-01-01
    相关资源
    最近更新 更多