Re: How to surround a selected value with double quotes?

hubert depesz lubaczewski <depesz@depesz.com>

From: hubert depesz lubaczewski <depesz@depesz.com>
To: "Subramanian,Ramachandran" <ramachandran.subramanian@alte-leipziger.de>
Cc: "pgsql-novice@lists.postgresql.org" <pgsql-novice@lists.postgresql.org>
Date: 2026-06-22T10:09:29Z
Lists: pgsql-novice
On Mon, Jun 22, 2026 at 07:46:09AM +0000, Subramanian,Ramachandran wrote:
> #Build the SQL needed to get the list of tables that are approaching the SAFE_XID_GAP
> LIST_OLDEST_UNFROZEN_XID_SQL=" SELECT   \
>        cast (age(PGCL.relfrozenxid) as integer) as GAP, \
>        INTB.table_catalog as DB_NAME,   \
>        "$PORT_NO" , \
>        CONCAT('"',INTB.table_schema,'"') || '.' ||  \
>        CONCAT('"',PGCL.relname,'"') as TABLE_NAME,      \
>        pg_table_size(PGCL.oid) as TABLE_SIZE \

*NEVER* concatenate identifiers. It will lead to bugs. Instead use
format() function (I find it MUCH simpler than quote_ident):

In your case, instead of the concat calls (why concat, if you can do ||,
anyway?

select
    format('%I.%I', INTB.table_schema, PGCL.relname)
FROM
…

depesz