On 6/18/19 3:23 PM, Ken Tanzer wrote:
On Mon, Jun 17, 2019 at 4:24 PM Adrian Klaver <adrian.kla...@aklaver.com <mailto:adrian.kla...@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.kla...@aklaver.com


Reply via email to