在单引号字符串中添加变量值。在单引号内展开变量

Ste*_*ios 6 postgresql psql

我尝试了以下命令的不同变体,但不起作用。我只想使用位置字符串中的变量运行以下命令:

CREATE TABLESPACE data OWNER appuser
  LOCATION '/var/lib/pgsql95/:variable/pg_tblspc/data';
Run Code Online (Sandbox Code Playgroud)

已经尝试过的(变化):

EXECUTE CREATE TABLESPACE data OWNER appuser
  LOCATION ''/var/lib/pgsql95/' || base || '/pg_tblspc/data'';';
Run Code Online (Sandbox Code Playgroud)

PREPARE tablespace (text) AS
  CREATE TABLESPACE aspire_data OWNER aspireapp
  LOCATION '/var/lib/pgsql95/$1/pg_tblspc';

EXECUTE tablespace('base');
Run Code Online (Sandbox Code Playgroud)

\set myvariable 'base'
CREATE TABLESPACE aspire_data OWNER aspireapp
  LOCATION '/var/lib/pgsql95/':myvariable'/pg_tblspc';
Run Code Online (Sandbox Code Playgroud)

Pet*_*aut 9

尝试这个:

-- 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'
Run Code Online (Sandbox Code Playgroud)