Marc Mamin <M.Mamin@xxxxxxxxxxxx> writes: > It is possible to cast a row to text, but is there a way to revert that? Well, you can surely cast it back to the rowtype, but I think that answer doesn't really help you. What you seem to need is not casting to a rowtype, but "bursting" the rowtype variable into individual columns. > create temp table test like pg_class; > WHITH dummy as (SELECT (c.*)::text t from pg_class c limit 10) > INSERT INTO test > SELECT ??? > FROM dummy; The trick here is to use the rowtype result as a single variable, and burst it later: regression=# create temp table test (like pg_class); CREATE TABLE regression=# with dummy as (select c from pg_class c limit 10) regression-# insert into test select (c).* from dummy; INSERT 0 10 BTW, I assume there's a reason for not simply doing insert into test select * from pg_class c limit 10; or even with dummy as (select * from pg_class c limit 10) insert into test select * from dummy; regards, tom lane -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general