Get the name of a row's source table when querying the parent it inherits from

前端 未结 2 1749
面向向阳花
面向向阳花 2020-12-03 15:54

I have a Postgres database with several tables that inherit from one other. I can SELECT from the parent table to get results from all it\'s children, but need

2条回答
  •  南笙
    南笙 (楼主)
    2020-12-03 16:35

    To identify the source table of a particular row, use the tableoid, like you found yourself already.
    A cast to regclass retrieves the actual name, automatically schema-qualified where needed according to the current search_path.

    SELECT *, tableoid::regclass::text AS table_name
    FROM   master.tbl
    WHERE  ;
    

    More:

    • Find out which schema based on table values
    • Select (retrieve) all records from multiple schemas using Postgres
    • How does the search_path influence identifier resolution and the "current schema"

提交回复
热议问题