Postgres テーブルを作成して変更したいのですが、そもそも存在しない場合に限ります。これはアプリの起動時に一度だけ実行されるため、これは関数であるべきではないと思います。を使用してpg-promise nodejs libからこのコードを実行しようとしclient.none(sql, params)
ましたが、エラーが発生syntax error at or near "IF"
したため、他の実行方法である必要があるか、SQLに根本的な欠陥があると推測しています。ありがとう!
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;