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 to get the name of the table that each result originates from.
The method found here does not work since I am only querying the one table, and do not know which children will be in the results ahead of time.
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 <some_condition>;
More:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With