Обсуждение: How can i pass variable in dblink_connect_u ?

Поиск
Список
Период
Сортировка

How can i pass variable in dblink_connect_u ?

От
aditya desai
Дата:
Hi All,
how can I pass variables in dblink_connect_u ?

Current code hardcoded DB name:
perform * from dblink_connect_u('myconn','dbname=mydb');

Expected:
databasename=current_database();
perform * from dblink_connect_u('myconn','dbname=databasename');

databasename is getting considered as text.

Thanks in advance

Regards,
Aditya.

Re: How can i pass variable in dblink_connect_u ?

От
Joe Conway
Дата:
On 2/1/22 05:42, aditya desai wrote:
> Hi All,
> how can I pass variables in dblink_connect_u ?
> 
> Current code hardcoded DB name:
> perform * from dblink_connect_u('myconn','dbname=mydb');
> 
> Expected:
> databasename=current_database();
> perform * from dblink_connect_u('myconn','dbname=databasename');
> 
> databasename is getting considered as text.

Correct, it is a string literal. So just create the string literal using 
string manipulation functionality -- e.g.:

SELECT
  dblink_connect_u('myconn','dbname=' ||
  current_database());
  dblink_connect_u
------------------
  OK
(1 row)

HTH,

Joe

-- 
Crunchy Data - http://crunchydata.com
PostgreSQL Support for Secure Enterprises
Consulting, Training, & Open Source Development



Re: How can i pass variable in dblink_connect_u ?

От
aditya desai
Дата:
Thanks Joe

On Tue, Feb 1, 2022 at 7:11 PM Joe Conway <mail@joeconway.com> wrote:
On 2/1/22 05:42, aditya desai wrote:
> Hi All,
> how can I pass variables in dblink_connect_u ?
>
> Current code hardcoded DB name:
> perform * from dblink_connect_u('myconn','dbname=mydb');
>
> Expected:
> databasename=current_database();
> perform * from dblink_connect_u('myconn','dbname=databasename');
>
> databasename is getting considered as text.

Correct, it is a string literal. So just create the string literal using
string manipulation functionality -- e.g.:

SELECT
  dblink_connect_u('myconn','dbname=' ||
  current_database());
  dblink_connect_u
------------------
  OK
(1 row)

HTH,

Joe

--
Crunchy Data - http://crunchydata.com
PostgreSQL Support for Secure Enterprises
Consulting, Training, & Open Source Development