patternsqlModerate
Add variable value in single quoted string. Expand variable within single quotes
Viewed 0 times
expandvaluequoteswithinquotedsinglevariablestringadd
Problem
I have tried different variations of the below commands but non work.
I simply want to run the following command using a variable within the location string:
What has been tried (variations):
and
and
I simply want to run the following command using a variable within the location string:
CREATE TABLESPACE data OWNER appuser
LOCATION '/var/lib/pgsql95/:variable/pg_tblspc/data';What has been tried (variations):
EXECUTE CREATE TABLESPACE data OWNER appuser
LOCATION ''/var/lib/pgsql95/' || base || '/pg_tblspc/data'';';and
PREPARE tablespace (text) AS
CREATE TABLESPACE aspire_data OWNER aspireapp
LOCATION '/var/lib/pgsql95/$1/pg_tblspc';
EXECUTE tablespace('base');and
\set myvariable 'base'
CREATE TABLESPACE aspire_data OWNER aspireapp
LOCATION '/var/lib/pgsql95/':myvariable'/pg_tblspc';Solution
Try this:
-- This will concatenate the values:
\set myvariable '/var/lib/pgsql95/' :myvariable '/pg_tblspc'
-- This will expand the variable single-quoted:
CREATE TABLESPACE aspire_data OWNER aspireapp LOCATION :'myvariable'Code Snippets
-- This will concatenate the values:
\set myvariable '/var/lib/pgsql95/' :myvariable '/pg_tblspc'
-- This will expand the variable single-quoted:
CREATE TABLESPACE aspire_data OWNER aspireapp LOCATION :'myvariable'Context
StackExchange Database Administrators Q#137518, answer score: 12
Revisions (0)
No revisions yet.