私は複数のデータベースに対して実行する予定のPostgresスクリプトを持っています。サンプルSQLは変数のみ適切にテーブル定義に代入していない取得しないのはなぜ私が
psql -d db -p 5432 -U username -h localhost -f test.sql --variable=CRS=3857
関数を使ったpostgresスクリプトのpsql変数の置換
としてランタイム上でそれを置き換えることができるように、私は内部の変数を入れている
CREATE FUNCTION point() RETURNS trigger
LANGUAGE plpgsql
AS $$
BEGIN
NEW.the_geom:=ST_SetSRID(geom, :CRS) ;
RETURN NEW;
END
$$;
CREATE TABLE admin (
gid integer NOT NULL,
geom geometry(Polygon,:CRS)
);
のような関数やテーブルを持っていますしたがって、関数定義
のbashとして呼び出せるファイルは、plpgsqlに ':'演算子とsqlが含まれていない可能性がありますか? –