Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1t9pSV-00CPuR-Jr for pgsql-general@arkaria.postgresql.org; Sat, 09 Nov 2024 17:41:15 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1t9pSS-0038k7-TS for pgsql-general@arkaria.postgresql.org; Sat, 09 Nov 2024 17:41:13 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1t9pSS-0038jz-D1 for pgsql-general@lists.postgresql.org; Sat, 09 Nov 2024 17:41:13 +0000 Received: from mail-northcentralusazlp170110003.outbound.protection.outlook.com ([2a01:111:f403:c105::3] helo=CH1PR09CU001.outbound.protection.outlook.com) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1t9pSN-0010G4-8w for pgsql-general@lists.postgresql.org; Sat, 09 Nov 2024 17:41:11 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mw9tTSs/+VA6l9Zb8PmqRW4/A8d1fJIa2mn3FonGHvrzn1BxrPnHNh1zmSgto6YIToKDA19SiddcLQt0icv7+AvtMPmCAUg2wuaHzTAkLY/XGjGuWU5UTVriFTl2MIIDeeOF707Lil6MYj5lG6z9cyA3UIArR+X7bOhRnDGKy7toaD+cnppNcyg2PYWSrTXU4Lb10wodMC0uc+n7Cvx+I3m9pEy1M6Rw3ZbLEXW932iFihGMXdSJb0yCEOS+bMPI2t1H3T49OYMBd+xgrbIc1GLI5nMsBp7CZDqjqXBKu6BcgDVw3BTClwPwrwnUn9FWM0yx5LHmgr9ybQW44SN0qw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=lbtk0+5fWMUppZGcUmyXyagMEnM1Xw1GbJN1oA6d0/0=; b=iQlsSlDBIgdJNZ+DZOIYEv5xwv6dGrlj20CFlIrUQGF402smM5e5mamdmQe4NPbAcUDf2BjNV0969yUC9fOEY01h8ayZGJ3akerTPbPvG4B5cqR8aLMG647Kg+KnSycbBEuxiHdqkoYmnm85jlLIHef/L4/3i0O9MmYSyB3FiX6z8AFsT5Okh1K9SG5LqoaEdaIIQu7Pjb/U1R3sCRCd+4Km75nJ7vX9tgKubrY53o6ZUMJR5GmziwJn3PE9h1pzqk7Ezmpx0YiJk1D02XF8Cj0V4px6GCEDIJZ4gpuNQef10q9oUAQJH1UHMhBv81DS/gBLnZ69Om/5v3B2kkgSRA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=fnal.gov; dmarc=pass action=none header.from=fnal.gov; dkim=pass header.d=fnal.gov; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fnal.gov; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lbtk0+5fWMUppZGcUmyXyagMEnM1Xw1GbJN1oA6d0/0=; b=AS3/WtuTDvzAY1sqQ0e0l2z3awOaTRAb5aWmw3zyc1t+pM+PNawsQyG1dcgLCap61pUgqbvNUMdVguEu2MCaPMyQnbehhBRKHo4YpRyOvqwW0/rH04kzM9lFhI78bfjk/OUK0YmMCCB8UUAbg3tgkTarqbYi9zceT/BKCFml2oxldmiPwxvLt47O1sSu7OVbj8XdEgOOmtX22zDf7cQ8NOJNUin+3T71ufyxRmmONnQhkNv8SfX12IgZp65+jJmoBznTp9gar/q9DMfRqij8TIqB3wBLiV4DaaaVjr+aQQ83NPmsBRT/MIzkkUEOla508+GEbUCgqbGfmRi8owyPoQ== Received: from DM8PR09MB6677.namprd09.prod.outlook.com (2603:10b6:5:2ee::12) by SJ0PR09MB11460.namprd09.prod.outlook.com (2603:10b6:a03:507::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8137.26; Sat, 9 Nov 2024 17:41:03 +0000 Received: from DM8PR09MB6677.namprd09.prod.outlook.com ([fe80::cdab:8e31:245:e366]) by DM8PR09MB6677.namprd09.prod.outlook.com ([fe80::cdab:8e31:245:e366%4]) with mapi id 15.20.8114.028; Sat, 9 Nov 2024 17:41:03 +0000 From: Murthy Nunna To: "pgsql-general@lists.postgresql.org" Subject: Bash function from psql (v14) Thread-Topic: Bash function from psql (v14) Thread-Index: AdsyzojsqiDclhyMT/+2qpeBPhPW3A== Date: Sat, 9 Nov 2024 17:41:02 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=fnal.gov; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM8PR09MB6677:EE_|SJ0PR09MB11460:EE_ x-ms-office365-filtering-correlation-id: 0547ffce-2232-4891-37e3-08dd00e5ae5a x-fermilab-ob: 1 x-fermilab-sender-location: inside x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|366016|8096899003|38070700018; x-microsoft-antispam-message-info: =?us-ascii?Q?Oc2/PWNdovcSoreQjmfj5gFUgmMesIkhBa9kpuz5QiAGS7BVnBrVTqlqpP/1?= =?us-ascii?Q?AwtOFPLg4iN5Y5s+e5lr1jlFuaagFznKYlVUOEnSrN5qNVuv7ezULsrfq6V7?= =?us-ascii?Q?X3wdGtwNjNrdu3jMfRHJFO0+J/pVhqJNjaI8xS+9cMsxXTNUAy1/m592L68K?= =?us-ascii?Q?hspAC0e/ErU6xt4ggg1gD7GllS3Obmu91r+NbjgPFfUkGeJ5NC0ZeGkr57q6?= =?us-ascii?Q?e8ambwj9lnvwgQBEs056MCL3r3HFH1A8m8q4tuuZwDrbWpAY5JvDyksqMh7B?= =?us-ascii?Q?Fg7+7BQStniWF0l0iGBdRzU1LD7MFmwM+UY12kSmpvmd+qQ22Ron0Wm0hgq3?= =?us-ascii?Q?uRoGvnb+aOBC2ASZz1LiNJowEZfqrUz7hUJBqa/pPx/8KX83K/xJnMArovvD?= =?us-ascii?Q?01K4coC39ykrsBZq4I64i9DXtlRr3rYHC8vOAu+p+haqLJ6mxa81eWK2cNx7?= =?us-ascii?Q?CtMOrY4Je5l47WTbfC/evU/ptn5cqTOcGjDhrul9oSnEXVyMBtXY9HdOBCPh?= =?us-ascii?Q?cs1FTqMIAYqBx/CW+tQ98N93GYCePYtnmyhlTG2Nh+CC+OCejB0rDyDSOAYM?= =?us-ascii?Q?bRvwcAGkFGZcjxb0ilvJx9OdK+TeLva0EvEyQ0gRlflwhHto7jwOV6ZvcNyG?= =?us-ascii?Q?YNUYL3kIgVJc3qSi+R1NxjGXvhG2di4HRiXxqQ9QXRxOyyTGUgpC8MgYRSSu?= =?us-ascii?Q?1inmUpKIgWU7sc19fySUMZ/EaoSrsJtk9y/vhMoYa+YeHsn0d1zj24hMTotY?= =?us-ascii?Q?MUk+amZN1UZtH9w7xQh8gqw4i5Xq4Xptv4I/M6HrGaLAbLvOE/yAK6Eavtwc?= =?us-ascii?Q?b+Pktsca9+KIJciuEdi6F/TZ+QkAPX8fAybIRp3PMRTSl+ZS4n1fk63owRbq?= =?us-ascii?Q?ssNcyh9WNM0iYiPrKc5w13PjKaRme9Oa2Lsm6HJbKFw26MSkQbJGd+MerUwG?= =?us-ascii?Q?d7EQfQfWXY1wUxdn1BCzei/sfg4S7DookUbQi/bf86M2pz9PsKTM4tXKRpzg?= =?us-ascii?Q?jhqJpabfeJhqxr4dooxg+ZfY7k8rGi1tpZXBa89ZAV9vxolyTbY1kt5IXbm8?= =?us-ascii?Q?cLvuT1/aDh38+MJn9G9Ykl3gbid9HA3/Ai/RRThCev+4tXwEXiRXjLIj2vqR?= =?us-ascii?Q?WjRdkOlIpc4r8wwPoo7EzJMkXtSZvvgrlB/2flhrZQrdoUWJ6KYA3CKAQbC2?= =?us-ascii?Q?6hDIZ4bCKYEJqktKdZjj56gnYDvbGm7OqUsr/K9W8GJFwMgVV7a0tuGSWmzh?= =?us-ascii?Q?JquC2zyWCqrlPGuehLzB7ViwsRMxvNP2tZRkiKplPV+MZiFn9qZjwtrbFJBc?= =?us-ascii?Q?G+LIEnR75yV/HTRoM3cqcH2uO1FyRGgJBsd+mbVNMsYo21gpjHJCfmqZC42U?= =?us-ascii?Q?lJ1ocDY=3D?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM8PR09MB6677.namprd09.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(8096899003)(38070700018);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?pJYJqC3zQopo2aGKfeOj2rCUM5RpvQTuf3dzNac/WAA63l3rgMKUfyb5Kx1G?= =?us-ascii?Q?rnsNBbkHTAlOOz6hYok3IbkuE/QVnBREqkTmOjOQbJGjQiaI69qwICo2PYfQ?= =?us-ascii?Q?LPX6T+jC/uyrOd1GHjZqkUgewA8k5vaWn62rSuYttHLd2pR3tqMYXunHf0HI?= =?us-ascii?Q?HqjOjCoHvY3qi5VP92GF+hup4Qu9uFzRsGlUWYAdMWVB212uDrf6HRr67BIO?= =?us-ascii?Q?44hoRPAx97WOTPi2Sg9xKXSAFD+T0sOE9XWwcypZeQwH30q/dPEUjWD+RUQI?= =?us-ascii?Q?6KZftLQgJVOX8K00Y+YTyG7parVHB4mCJKFsnnlX8rekAO5Zh+YH4Oxxt21X?= =?us-ascii?Q?yX8B4FtZiOLKTOcpoq77WaKEKlPhTVhjiYRvVJdorF9KoU37lXVUXOYD1gKf?= =?us-ascii?Q?X2eSdR+C+rL7wN/jynzOPmJF+Ep2I1/tKMytnJj7fKI+l5TurHiboGYSovbN?= =?us-ascii?Q?HnjaogL13RhuwwY7thVtimqiNxemMezA8VQWsMkT8ufcNpktE0foXuvgWuou?= =?us-ascii?Q?+sYmAlFnwPthzHTMJA2DEXLs6Fu5VJLZE1vHWWuy7BnFUhOmp1ZXiRGZ6nN/?= =?us-ascii?Q?iysTMexp3l7ta0r4q41QhcR4EyX835u9ULD1FAZU0YIQ+3lfiuqOUGSLJ4p6?= =?us-ascii?Q?KBc8ecQ6lN2I/9awcmEXnBc1++plpgWf0NGySMlVXXzzwvHKp/b4Lowq00jX?= =?us-ascii?Q?8mpvkyR8U07K2O9uLVy6yaPVCxPLodUaD1IEEGWM9vXh9uWSdtimNNysdlFd?= =?us-ascii?Q?yl0ZkGKMnO92zUAV661popSs78X/z0IFs0zwqmmGEY/oZq0sLU9QodgH0mve?= =?us-ascii?Q?THl4Z+66rdWvo43oAuV2Vd0ksb2mLlbf3VQyi78m9SNt1/j0ejcz4LX6EByP?= =?us-ascii?Q?VQw65MHK6ERC0y/RVdC1CKQzp5UxnrAYbu2Y0/BJcweaYpWV+GNNjfar7jTC?= =?us-ascii?Q?vMoE4IilorxxsV/2qgjHDEJ9jJkpKUKJFhA/J2l+OqY6m4Jr/RyyF8db7QT5?= =?us-ascii?Q?y7ZMJwFG4yotLc+PL1j1USnUHGer8v1RK0a/sA8y+W/bY6u+gMCjr1EE2lkS?= =?us-ascii?Q?zKB8KAFxfBR3mCTES06DtZr/ehDw3hPy71PRL1zS6UnOQ34U84YXZlbYAXgm?= =?us-ascii?Q?lYs5Rd7q68OFI6xUJPJzAwi5J1lYLPMbVtsKO4TQy1gGk8FgqzMWgmx80hgD?= =?us-ascii?Q?JIq1ONL283vPfehC4TPZ/BEveDHM++WVEujr61Zy0dOI0xN4EAYcrYSgzS2t?= =?us-ascii?Q?g9WDqkd2qJZnS6mNIHOL0cmz6YxUUB6QSz63jFhqDGKzek1CcbY30h5wWhXt?= =?us-ascii?Q?CT8DGL6UjbsV+CSj+K21ySZgK7SpR7RoxDVvVerDQTF9AOkBH2ZvGAAi2Wd0?= =?us-ascii?Q?AJbND735RVSHcZZjEghJC6e+AfMSo/pCArT29rVFUtEA10hqYw0zxBGC+Y93?= =?us-ascii?Q?q+NCOJbThkIDbODysVuVRs7+kCarxPcnS6+cll6q7JDCm7r6AL7FYaFvk832?= =?us-ascii?Q?muH1vu/tCtbiuIgEC1KjfnAcDwWR2j/zcu8UJB0xamhGCs0idPMzwrwD6SDa?= =?us-ascii?Q?4HNg3ltd+mFvTi1TjGJNh8y2au5w1XftqYvZ+DXo?= Content-Type: multipart/alternative; boundary="_000_DM8PR09MB6677887ED1DA5D9494E2055CB85E2DM8PR09MB6677namp_" MIME-Version: 1.0 X-OriginatorOrg: fnal.gov X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8PR09MB6677.namprd09.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0547ffce-2232-4891-37e3-08dd00e5ae5a X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Nov 2024 17:41:02.8728 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9d5f83d3-d338-4fd3-b1c9-b7d94d70255a X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR09MB11460 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_000_DM8PR09MB6677887ED1DA5D9494E2055CB85E2DM8PR09MB6677namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi, I am trying to code bash function and call it from psql. But it is failing.= How can I get this to work. Creating a separate script instead of a functi= on works, but I do not want to do that. I have too many variables to be pas= sed back and forth. Any ideas? #!/bin/bash psql -d postgres -p 5433 <<-PSQLBLOCK \! run-bash-function -- This doesn't= work PSQLBLOCK # Run the function outside PSQLBLOCK. This works! run-bash-function exit $? # Create bash function run-bash-function () { echo "in bash function" } # end of bash script Run the above script: ./test-bash-function.sh sh: line 1: run-bash-function: command not found in bash function --_000_DM8PR09MB6677887ED1DA5D9494E2055CB85E2DM8PR09MB6677namp_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Hi,

 

I am trying to code= bash function and call it from psql. But it is failing. How can I get this= to work. Creating a separate script instead of a function works, but I do = not want to do that. I have too many variables to be passed back and forth. Any ideas?

 

#!/bin/bash

psql -d postgres&nb= sp; -p 5433 <<-PSQLBLOCK

\! run-bash-functio= n            &n= bsp;            = ;            &n= bsp;  -- This doesn’t work

PSQLBLOCK

 

# Run the function = outside PSQLBLOCK. This works!

run-bash-function

exit $?<= /span>

 

# Create bash funct= ion

run-bash-function (= )

{=

  echo "i= n bash function"

}=

# end of bash scrip= t

 

 

Run the above scrip= t:

./test-bash-functio= n.sh

sh: line 1: run-bas= h-function: command not found

in bash function

 

--_000_DM8PR09MB6677887ED1DA5D9494E2055CB85E2DM8PR09MB6677namp_--