public inbox for [email protected]
help / color / mirror / Atom feedFrom: kunwar singh <[email protected]>
To: [email protected]
Subject: How to pass arguments in postgres to sql scripts.
Date: Sat, 27 Apr 2024 09:03:16 -0400
Message-ID: <CAJSrDUqgMx2+bhX0f9MWDT9LyC4E44wFbTiqC+wboHc__QyV_g@mail.gmail.com> (raw)
Hi friends, Question: How to pass arguments in postgres to sql scripts.
Context. When I am monitoring my production Oracle databases I have a lot
of simple sql scripts (which require one or more arguments) which make my
monitoring/troubleshooting life simpler. How can I achieve the same in
postgres? We are migrating our Oracle databases to Postgres and I am
modifying my scripts to do the same in Postgres.
Oracle
======
cat appjobcheck.sql
SELECT
SID,
SYS_CONTEXT.GET_CURRENT_SCHEMA() AS "SCHEMA", -- Similar to datname
USERNAME,
PROGRAM AS "APPLICATION_NAME",
STATUS,
SQL_ID, -- Use V$SQL to get full query text based on SQL_ID
LOGON_TIME AS "BACKEND_START",
SQL_EXEC_START AS "QUERY_START",
FROM
V$SESSION
WHERE
STATUS = 'ACTIVE' -- Filter to active sessions
AND TYPE != 'BACKGROUND'; -- Exclude background processes
AND program='&1';
The way to invoke from sqlplus is .
SQL> @appjobcheck batchprocessapp1 ---- batchprocessapp1 is what I want to
monitor
Postgres
==========
cat appjobcheck.sql
SELECT
pid,
datname,
usename,
application_name,
state,
query,
backend_start,
query_start
FROM pg_stat_activity where application_name='&1';
The way I am trying invoke from postgres is .
postgres=> \i appjobcheck.sql batchprocessapp1 ---- batchprocessapp1 is
what I want to monitor
pid | datname | usename | application_name | state | query | backend_start
| query_start
-----+---------+---------+------------------+-------+-------+---------------+-------------
(0 rows)
\i: extra argument "batchprocessapp1" ignored
--
Cheers,
Kunwar
view thread (3+ 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]
Subject: Re: How to pass arguments in postgres to sql scripts.
In-Reply-To: <CAJSrDUqgMx2+bhX0f9MWDT9LyC4E44wFbTiqC+wboHc__QyV_g@mail.gmail.com>
* 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