public inbox for [email protected]
help / color / mirror / Atom feedFrom: hubert depesz lubaczewski <[email protected]>
To: Subramanian,Ramachandran <[email protected]>
Cc: [email protected] <[email protected]>
Subject: Re: How to surround a selected value with double quotes?
Date: Mon, 22 Jun 2026 12:32:21 +0200
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
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 \
> FROM \
> pg_class PGCL, \
> information_schema.tables INTB \
> WHERE \
> PGCL.relname=INTB.table_name \
> AND \
> PGCL.relkind='r' \
> AND \
> age(PGCL.relfrozenxid) > "$SAFE_XID_GAP" \
> ORDER BY \
> 1 DESC ;"
Some more comments, this time related to how you write bash/shell scripts.
1. you don't need to end line with \ if the value is in quotes - this is
needed only if you split single command and it's options
2. if you have long string, multiline, it's better to use here-doc.
like:
psql … << _END_OF_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
FROM
pg_class PGCL,
information_schema.tables INTB
WHERE
PGCL.relname=INTB.table_name
AND
PGCL.relkind='r'
AND
age(PGCL.relfrozenxid) > "$SAFE_XID_GAP"
ORDER BY
1 DESC
_END_OF_SQL_
3. if you really need to put the multi-line value in a variable, you can
do it using:
read -r -d '' LIST_OLDEST_UNFROZEN_XID_SQL << _END_OF_SQL_
…
_END_OF_SQL_
Best regards,
depesz
view thread (6+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected]
Subject: Re: How to surround a selected value with double quotes?
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox