変数を使う

\set name valueを使います。例えば以下でtablenamepostsという値を設定しています。

postgres=# \set tablename posts

設定できたかどうかは\setと実行します。恐らく最後に出てくるはずです。

postgres=# \set
...
tablename = 'posts'

何か-を挟んだもの(table-nameみたいな)変数名はうまく SQL の中で使えなかったので、避けたほうがいいかもしれないです。

では、使ってみます。

postgres=# create table :tablename (content text);
CREATE TABLE

postgres=# insert into :tablename values ('aaa');
INSERT 0 1

postgres=# select * from :tablename;
 content
---------
 aaa
(1 row)

「もう必要ないな」となったら\unset nameで削除できます。

postgres-# \unset tablename

postgres=# \set
...