[GENERAL] potential extension of psql's \df+ ? - Mailing list pgsql-general

From Karsten Hilbert
Subject [GENERAL] potential extension of psql's \df+ ?
Date
Msg-id 20170419095522.zbdwwibyvppzlbeq@hermes.hilbert.loc
Whole thread Raw
Responses Re: [GENERAL] potential extension of psql's \df+ ?
List pgsql-general
Hi all !

Every so often, when working with functions, errors get
reported with context information similar to this:

    Context: PL/pgSQL function "test_function" line 5 at SQL statement

Often, the function source is kept under version control (or
in a file annotated, commented, etc in certain ways) such
that the file line number does not correspond to the function
source line number.

In such cases, a typical approach would be to go and do

    \df+ test_function

which nicely produces function metadata and source as
contained in the database. For non-trivial functions it is,
however, slightly cumbersome to count the line numbers
onscreen (let alone line break settings).

Hence I wonder whether an approach along these lines:

    select
        row_number() over ()
        || src_line
    from (
        select
            unnest(string_to_array(prosrc, E'\n')) as src_line
        from
            pg_proc
        where
            proname = 'FUNC_NAME'
    ) as func_src;

would be a worthwhile change to the query "\df+" uses ?

(Resorting to "\ef" won't align temp file lines with function
source line numbers either, because pgsql boilerplate is
needed for function definition etc.)

Thanks for considering,
Karsten
--
GPG key ID E4071346 @ eu.pool.sks-keyservers.net
E167 67FD A291 2BEA 73BD  4537 78B9 A9F9 E407 1346


pgsql-general by date:

Previous
From: Moreno Andreo
Date:
Subject: Re: [GENERAL] # of connections and architecture design
Next
From: Pavel Stehule
Date:
Subject: Re: [GENERAL] potential extension of psql's \df+ ?