select table.name from table
эквивалентно
select name(table) from table
, что, поскольку name
является типом, эквивалентно
select cast(table as name) from table
Первая table
является переменной строки, содержащейвсе столбцы из соответствующей таблицы, поэтому вы получите текстовое представление строки.
Это прямо не задокументировано, так как это комбинация нескольких неясных функций (некоторые из которых восходят к PostQUEL).Фактически, это использование было запрещено в PostgreSQL 9.1 (см. примечания к выпуску в разделе «Кастинг»).