so 15. 6. 2019 v 16:20 odesílatel Jean Louis <bugs@gnu.support> napsal:
Dear Pavel,
Ahoj.
* Pavel Stehule <pavel.stehule@gmail.com> [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