[pgpool-general-jp: 1280] Re: pgpool-IIについて質問です。
Yugo Nagata
nagata @ sraoss.co.jp
2014年 5月 30日 (金) 18:25:49 JST
長田です。
On Mon, 26 May 2014 19:16:33 +0900
Inoue Takuma <sessat7 @ gmail.com> wrote:
> よろしくお願いいたします。井上です。この内容を見て少しでもわかる方おられましたら、ご教授願います。
>
> pgpool-IIのパラレルクエリが、geometry型を含むデータベースに、対応しているのか。ということです。
> system_db.sql
> dblink.sql
> user.sql(これは自分で作る。)
> を、PostGISテンプレートから作った、データベースに適用して、usr.sqlの中に定義したデータベースを、pgpool経由で、データベースを作り、接続します。そして、geometry項目を含む、テーブルを、user.sqlに定義したように作ろうとすると、geometry型が存在しない。dist_defテーブルに、geometry型はない。というエラーになり、テーブルが作れません。
> パラレルクエリのシステムデータベースに、PostGISの、テンプレート作成時の手順で設定してもダメでした。やはり対応していないのでしょうか。またこの場合、UPDATEが必要なのですが、それも対応しているのかよろしくお願いいたします。
特に geometry 型だとダメだという制限はありません。
実際に使った *.sql ファイルと、実際に行った操作、および出力されたエラーメッセージを提示いただければ、
解析させていただくことが可能です。
>
>
> 次に、INSERTするデータに、空白(つまりカラムが空)の場合、パラレルクエリでは、INSERTできなかったのですが、空白がないデータしか対応していないのでしょうか。
具体的にはどのようなSQLクエリでしょうか。
>
> それと、ANYELEMENTのところですが、CHARACTER VARINGを使って、最初の質問の、
>
> $$ SELECT $1 % 2 $$
character varing 型に % 演算子はないのでできません。
>
> というのはできるのでしょうか。
>
>
> 最後に、
>
> CREATE OR REPLACE FUNCTION pgpool_catalog.dist_def_rule (val CHARACTER VARING(8))RETURN INTEGER AS'
> SELECT CASE WHEN $1=pgpool THEN 0
> WHEN $1=Postgres THEN 1
> ELSE 2
> END'LANGUAGE SQL;
>
> というのは、ありでしょうか。これも3分割できると思うのです。よろしくお願いいたします。
あり、です。ただし文字列の比較なので
SELECT CASE WHEN $1='pgpool' THEN 0
WHEN $1='Postgres' THEN 1
と、シングルクォーテーション '' でくくってあげる必要があります。
>
>
>
> 環境は、postgresql9.3.4 pgpool-II1.3です。
> なぜこの組み合わせかというと、リリースされたすべてのバージョンを試した中で、私が安定しているように感じたからです。
>
> 質問しようかどうしようかかなり迷ったのですが、一人で考えていてもどうしようもないように思えたので、長文になりましたが、このメールを書きました。
>
> よろしくお願いいたします。
>
> 井上
>
>
>
--
Yugo Nagata <nagata @ sraoss.co.jp>
pgpool-general-jp メーリングリストの案内