Thread: BUG #17957: psql-16beta1 \df+ does not show the function body
The following bug has been logged on the website: Bug reference: 17957 Logged by: Boris Z Email address: bzm@2bz.de PostgreSQL version: 16beta1 Operating system: OSX, Linux Description: Hi, The release notes do not mention \df+. https://www.postgresql.org/docs/16/release-16.html#RELEASE-16-PSQL for testing I used this function, but any user function will do. CREATE OR REPLACE FUNCTION test_function() RETURNS bigint AS $$ SELECT 1; $$ LANGUAGE sql STABLE PARALLEL SAFE; When using psql (16beta1) =# \df+ test_function -[ RECORD 1 ]-------+-------------- Schema | public Name | test_function Result data type | bigint Argument data types | Type | func Volatility | stable Parallel | safe Owner | bz Security | invoker Access privileges | Language | sql Internal name | Description | using psql-15.3 it works as expected =# \df+ test_function -[ RECORD 1 ]-------+-------------- Schema | public Name | test_function Result data type | bigint Argument data types | Type | func Volatility | stable Parallel | safe Owner | bz Security | invoker Access privileges | Language | sql Source code | + | SELECT 1;+ | Description |
On Thu, Jun 1, 2023 at 05:57:19PM +0000, PG Bug reporting form wrote: > The following bug has been logged on the website: > > Bug reference: 17957 > Logged by: Boris Z > Email address: bzm@2bz.de > PostgreSQL version: 16beta1 > Operating system: OSX, Linux > Description: > > Hi, > > The release notes do not mention \df+. > https://www.postgresql.org/docs/16/release-16.html#RELEASE-16-PSQL > > for testing I used this function, but any user function will do. > > CREATE OR REPLACE FUNCTION test_function() > RETURNS bigint > AS $$ > SELECT 1; > $$ LANGUAGE sql > STABLE > PARALLEL SAFE; > > When using psql (16beta1) > =# \df+ test_function > -[ RECORD 1 ]-------+-------------- > Schema | public > Name | test_function > Result data type | bigint > Argument data types | > Type | func > Volatility | stable > Parallel | safe > Owner | bz > Security | invoker > Access privileges | > Language | sql > Internal name | > Description | > > using psql-15.3 it works as expected > =# \df+ test_function > -[ RECORD 1 ]-------+-------------- > Schema | public > Name | test_function > Result data type | bigint > Argument data types | > Type | func > Volatility | stable > Parallel | safe > Owner | bz > Security | invoker > Access privileges | > Language | sql > Source code | + > | SELECT 1;+ > | > Description | We had this commit in PG 16: Author: Tom Lane <tgl@sss.pgh.pa.us> 2023-03-02 [3dfae91f7] Show "internal name" not "source code" in psql's \df+ co Show "internal name" not "source code" in psql's \df+ command. Our previous habit of showing the full function body is really pretty unfriendly for tabular viewing of functions, and now that we have \sf and \ef commands there seems no good reason why \df+ has to do it. It still seems to make sense to show prosrc for internal and C-language functions, since in those cases prosrc is just the C function name; but then let's rename the column to "Internal name" which is a more accurate descriptor. Isaac Morland Discussion: https://postgr.es/m/CAMsGm5eqKc6J1=Lwn=ZONG=6ZDYWRQ4cgZQLqMuZGB1aVt_JBg@mail.gmail.com I didn't think anyone would mind the change so I didn't document it in the release notes --- should I? -- Bruce Momjian <bruce@momjian.us> https://momjian.us EDB https://enterprisedb.com Only you can decide what is important to you.
Bruce Momjian <bruce@momjian.us> writes: > On Thu, Jun 1, 2023 at 05:57:19PM +0000, PG Bug reporting form wrote: >> The release notes do not mention \df+. > We had this commit in PG 16: > Show "internal name" not "source code" in psql's \df+ command. > I didn't think anyone would mind the change so I didn't document it in > the release notes --- should I? I think it needs to be mentioned, since it's a nontrivial user-visible behavioral change. I'm not sure it's a compatibility item, but it ought to be there somewhere. regards, tom lane
On Thu, Jun 1, 2023 at 06:18:09PM -0400, Tom Lane wrote: > Bruce Momjian <bruce@momjian.us> writes: > > On Thu, Jun 1, 2023 at 05:57:19PM +0000, PG Bug reporting form wrote: > >> The release notes do not mention \df+. > > > We had this commit in PG 16: > > > Show "internal name" not "source code" in psql's \df+ command. > > > I didn't think anyone would mind the change so I didn't document it in > > the release notes --- should I? > > I think it needs to be mentioned, since it's a nontrivial user-visible > behavioral change. I'm not sure it's a compatibility item, but it > ought to be there somewhere. Added, patch attached. -- Bruce Momjian <bruce@momjian.us> https://momjian.us EDB https://enterprisedb.com Only you can decide what is important to you.