2

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;
4

1 に答える 1