Rapido e sujo:
SELECT t::text FROM tbl t WHERE id = 1;
-
t
é um alias para a tabela e não é estritamente necessário. Você também pode usar o nome da tabela original. Mas se você tiver uma coluna com o mesmo nome, ela terá precedência.
-
Entãot
representa o tipo de linha da tabela, que é automaticamente forçado para a representação de texto na saída.
Adicionei uma conversão explícita para make étext
internamente também - caso você queira fazer alguma coisa com ele ...t::text
é a notação curta do Postgres para o padrão SQLcast (t AS text)
, que você também pode usar. Detalhes no manual.
-
Você pode querer cortar os parênteses iniciais e finais (único!) que denotam um tipo de linha:
SELECT right(left(t::text, -1), -1)) FROM tbl AS t WHERE id = 1;
-
"sujo", porque você obtém a notação de linha do Postgres, o separador passa a ser apenas a vírgula que você pediu, mas alguns valores também são escapados e / ou aspas duplas, se necessário.