so 15. 6. 2019 v 16:20 odesílatel Jean Louis <bugs@gnu.support> napsal:
Dear Pavel,
Ahoj.
* Pavel Stehule <pavel.stehule@xxxxxxxxx> [2019-06-15 11:37]:
> you can write own function that will do what you want
>
> create or replace function rec_concat_fields(record, text)
> returns text as $$
> begin
> return string_agg(value, '|') from json_each_text(row_to_json($1));
> end
> $$ language plpgsql;
>
> postgres=# select rec_concat_fields(foo.*, '*') from foo;
> ┌───────────────────┐
> │ rec_concat_fields │
> ╞═══════════════════╡
> │ ahoj|svete │
> └───────────────────┘
> (1 row)
>
I have tried that one, not working quite;
create or replace function concat_fields(record, text)
returns text as $$
begin
return string_agg(value, ' ') from json_each_text(row_to_json($1));
end
$$ language plpgsql;
rcdbusiness$# ERROR: PL/pgSQL functions cannot accept type record
depends on Postgres version. I have 12, but probably it should to work with Postgres 10, 11
Pavel
Jean