There is really only one function with this name. A rerun of my test script with the suggested change:
xxxx_pub_dev_2_db=# SELECT version(); version --------------------------------------------------------------------------------------------------------- PostgreSQL 16.9 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-26), 64-bit (1 row) xxxx_pub_dev_2_db=# SHOW server_version; server_version ---------------- 16.9 (1 row) xxxx_pub_dev_2_db=# DROP FUNCTION if exists _sa_setup_role; DROP FUNCTION xxxx_pub_dev_2_db=# CREATE OR REPLACE FUNCTION _sa_setup_role( p_role_to_be_granted varchar) xxxx_pub_dev_2_db-# RETURNS varchar xxxx_pub_dev_2_db-# LANGUAGE plpgsql xxxx_pub_dev_2_db-# AS xxxx_pub_dev_2_db-# $function$ xxxx_pub_dev_2_db$# declare xxxx_pub_dev_2_db$# begin xxxx_pub_dev_2_db$# raise info '%',p_role_to_be_granted::varchar; xxxx_pub_dev_2_db$# return('Done'); xxxx_pub_dev_2_db$# end; xxxx_pub_dev_2_db$# $function$; CREATE FUNCTION xxxx_pub_dev_2_db=# select _sa_setup_role('af_repo_app'); ERROR: malformed array literal: "af_repo_app" LINE 1: select _sa_setup_role('af_repo_app'); ^ DETAIL: Array value must start with "{" or dimension information. xxxx_pub_dev_2_db=# select _sa_setup_role('af_repo_app'::varchar); INFO: af_repo_app _sa_setup_role ---------------- Done (1 row) xxxx_pub_dev_2_db=# \df *_sa_setup_role List of functions Schema | Name | Result data type | Argument data types | Type --------+----------------+-------------------+----------------------------------------+------ sqlapp | _sa_setup_role | character varying | p_role_to_be_granted character varying | func (1 row) xxxx_pub_dev_2_db=# xxxx_pub_dev_2_db=# On Fri, Jul 25, 2025 at 1:02 PM Adrian Klaver <adrian.kla...@aklaver.com> wrote: > On 7/25/25 09:59, Rumpi Gravenstein wrote: > > No ... just one version: > > > > > > > xxxx_pub_dev_2_db=# \df _sa_setup_role > > Do: > > \df *._sa_setup_role > > > > > -- > > Rumpi Gravenstein > > > -- > Adrian Klaver > adrian.kla...@aklaver.com > -- Rumpi Gravenstein