[pgpool-general-jp: 1301] Re: LATERALを使用すると pgpool-IIでParseエラーが発生する

yasuyuki.moriwaki @ gmail.com yasuyuki.moriwaki @ gmail.com
2014年 9月 9日 (火) 09:38:00 JST


石井様

ご回答ありがとうございます。
3.4の新機能についても、ありがとうございました。
アプリやデータベースで、負荷分散の挙動をコントロールできると
大変助かります。
リリースお待ちしております。



2014年9月9日 8:27 Tatsuo Ishii <ishii @ sraoss.co.jp>:

> 石井です。
>
> pgpool-II にはPostgreSQLのSQLパーサが移植されており、pgpool-II 3.3系に
> はPostgreSQL 9.2のSQLパーサが移植されています。ですので、pgpool-II 3.3
> 系はLATERALが理解できません。
>
> 現在開発中の pgpool-II 3.4にはPostgreSQL 9.4のパーサが移植されているの
> でLATERALを含むSQL文でも正しく負荷分散されるようになります。
>
> ちなみに3.4では、アプリケーション名をやデータベース名によって負荷分散の
> 挙動をコントロールできるようになります。たとえば、
>
> app_name_redirect_preference_list =
> 'psql:primary,myapp[0-4]:1,myapp[5-9]:standby'
>
> と書いておくと、
>
> psqlから送信されたクエリは必ずprimaryで実行
>
> myapp[0-4]という正規表現に一致するアプリケーション名から送信されたクエ
> リはDBノード1で実行
>
> myapp[5-9]という正規表現に一致するアプリケーション名から送信されたクエ
> リはstanbyのどれかで実行
>
> となります。以下のような使い方を想定しています。
>
> - レプリケーション遅延が許されないマスタ更新アプリはprimaryで実行
>
> - 解析系の重いクエリを実行するアプリは特定のDBノードのみで実行し、他の
>   スタンバイにはクエリを投げないようにする
> --
> Tatsuo Ishii
> SRA OSS, Inc. Japan
> English: http://www.sraoss.co.jp/index_en.php
> Japanese:http://www.sraoss.co.jp
>
> > はじめまして、森脇と申します。
> >
> > pgpool-IIのLATERAL句の扱いに関して、情報お待ちでしたら教えてください。
> >
> > 以下の実行環境で LATERALを使用したSQLを実行すると、
> > pgpoolのログに「Parse: Unable to parse the query:」が出力されます。
> >
> > ------------------------------------
> > ■実行環境
> >
> > ・CentOS 6.5
> > ・PostgreSQL 9.3.1
> > ・pgpool-II 3.3.4
> > ------------------------------------
> >
> > pgpool-II は、現時点のバージョンでは、LATERAL を使用すると、
> > Parseエラーとして扱ってしまうという状況なのでしょうか?
> > それとも、PostgreSQL や OS等のバージョンとの兼ね合いがあるのでしょうか?
> >
> > よろしくお願いします。
> >
> >
> なお、PostgreSQL側では実行エラーとはならず正常に結果を受け取ることができますが、Parseエラーがとなると、ロードバランスがうまく行われないため、解決しておきたいと考えております。
>
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <http://www.sraoss.jp/pipermail/pgpool-general-jp/attachments/20140909/d65dfc97/attachment-0001.html>


pgpool-general-jp メーリングリストの案内