I have written this procedure in PostgreSQL.
I have below variable values stored in a separate lookup table(schema1.instance_lookup). How can I assign these values into a loop in the procedure instead of hardcoding them in the procedure itself? -
- instance-Endpoint
- Pwd
- username
- dbinstanceidentifier
- Appname
Procedure -
CREATE OR REPLACE PROCEDURE schema1.pg_parameters(
)
LANGUAGE 'plpgsql'
AS $BODY$
DECLARE
x text;
BEGIN
INSERT INTO schema1.PG_PARAMETERS Select * FROM DBLINK('host=instance-Endpoint dbname=databasename password=Pwd user=username', 'SELECT ''dbinstanceidentifier'' as instance, name,setting,''Appname'' as application, current_timestamp as timestamp,pending_restart FROM pg_settings') AS T1(INSTANCE text, NAME text, SETTING text,application text,timestamp timestamp,pending_restart boolean);
INSERT INTO schema1.PG_PARAMETERS Select * FROM DBLINK('host=instance-Endpoint dbname=databasename password=Pwd user=username', 'SELECT ''dbinstanceidentifier'' as instance,name,setting,''Appname'' as application, current_timestamp as timestamp,pending_restart FROM pg_settings') AS T1(INSTANCE text, NAME text, SETTING text,application text,timestamp timestamp,pending_restart boolean);
INSERT INTO schema1.PG_PARAMETERS Select * FROM DBLINK('host=instance-Endpoint dbname=databasename password=Pwd user=market', 'SELECT ''dbinstanceidentifier'' as instance, name,setting, ''Appname'' as application, current_timestamp as timestamp,pending_restart FROM pg_settings') AS T1(INSTANCE text, NAME text, SETTING text,application text,timestamp timestamp,pending_restart boolean);
INSERT INTO schema1.PG_PARAMETERS Select * FROM DBLINK('host=instance-Endpoint dbname=databasename password=Pwd user=username', 'SELECT ''dbinstanceidentifier'' as instance, name,setting,''Appname'' as application, current_timestamp as timestamp,pending_restart FROM pg_settings') AS T1(INSTANCE text, NAME text, SETTING text,application text,timestamp timestamp,pending_restart boolean);
INSERT INTO schema1.PG_PARAMETERS Select * FROM DBLINK('host=instance-Endpoint dbname=databasename password=Pwd user=username', 'SELECT ''dbinstanceidentifier'' as instance,name,setting,''Appname'' as application, current_timestamp as timestamp,pending_restart FROM pg_settings') AS T1(INSTANCE text, NAME text, SETTING text,application text,timestamp timestamp,pending_restart boolean);
end;
$BODY$;