2
我想创建一个Postgres表并对其进行修改,但前提是它不存在。我不认为这应该是一个功能,因为这应用程序启动过程中只运行一次。我试图使用client.none(sql, params)
来执行pg-promise nodejs lib这段代码,但它给了我一个错误syntax error at or near "IF"
,所以我猜它必须是其他执行方法,否则我的SQL有根本的缺陷。谢谢!在不创建函数的情况下使用PL/pgSQL条件
BEGIN
IF NOT EXISTS (
SELECT 1 FROM information_schema.tables
WHERE table_schema = $1 AND table_name = $2
) THEN
CREATE TABLE $2~ (zoom smallint, idx bigint, tile bytea, PRIMARY KEY (zoom, idx));
ALTER TABLE $2~ ALTER COLUMN tile SET STORAGE EXTERNAL;
END IF;
END;
[匿名代码块(https://www.postgresql.org/docs/9.6/static/sql-do.html) – Abelisto
@Abelisto,这正是我所寻找的,谢谢!你能做出答案,我会解决它吗? – Yurik