On 6/18/19 3:23 PM, Ken Tanzer wrote:
> On Mon, Jun 17, 2019 at 4:24 PM Adrian Klaver <adrian.klaver@aklaver.com
> <mailto:adrian.klaver@aklaver.com>> wrote:
>
>
> My cheat for dealing with many/long column names is:
>
> test=# \d up_test
> Table "public.up_test"
> Column | Type | Collation | Nullable | Default
> --------+---------+-----------+----------+---------
> id | integer | | |
> col1 | boolean | | |
> col2 | integer | | |
>
>
>
> test=# \pset format unaligned
> Output format is unaligned.
> test=# \pset fieldsep ','
> Field separator is ",".
>
> select * from up_test limit 0;
> id,col1,col2
>
> Cut and paste above.
>
> test=# \pset fieldsep '|'
> Field separator is "|".
>
> test=# \pset format 'aligned'
> Output format is aligned.
>
>
> Just curious, but if you really do that often, wouldn't you be better
> off with something like this?
I could/should I just don't do the above enough to get motivated to
build a function. Most cases where I'm doing complicated updates I am
not using psql I am building then in Python from a dict.
>
> CREATE OR REPLACE FUNCTION field_list( name ) RETURNS text AS $$
>
> SELECT array_to_string(array_agg(column_name::text ORDER BY
> ordinal_position),',') FROM information_schema.columns WHERE table_name
> = $1;
>
> $$ LANGUAGE sql STABLE;
>
> Cheers,
> Ken
>
--
Adrian Klaver
adrian.klaver@aklaver.com