How to pass arguments in postgres to sql scripts.

From: kunwar singh <krishsingh(dot)111(at)gmail(dot)com>
To: pgsql-sql(at)lists(dot)postgresql(dot)org
Subject: How to pass arguments in postgres to sql scripts.
Date: 2024-04-27 13:03:16
Message-ID: CAJSrDUqgMx2+bhX0f9MWDT9LyC4E44wFbTiqC+wboHc__QyV_g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

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

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Samed YILDIRIM 2024-04-27 13:13:50 Re: How to pass arguments in postgres to sql scripts.
Previous Message Tom Lane 2024-04-05 19:21:10 Re: Function can not use the 'NEW' variable as a direct parameter inside trigger function?