ログにorg.postgresql.util.PSQLException: ERROR: type "e" does not exist.....と出力されAmazon Redshiftのオブジェクトやデータの参照ができないことがあります。
これはPostgreSQL JDBCドライバを使用してAmazon Redshiftに接続している時に発生します。
原因:
Yellowfinのバージョン7.4.10以降、またはバージョン8.0.2以降から同梱されているPostgreSQLのJDBCドライバが新しいバージョンに置きかわります。
アップデートインストールの場合も新しいドライバに置きかわります。
過去の古いドライバはAmazon Redshiftと互換性を持っていましたが、新しいドライバはAmazon Redshiftと互換性がないためデータベースへの問い合わせがエラーとなります。
AWSでは下記のようにJDBCについて声明を掲載しております。
”Amazon Redshift は PostgreSQL に基づいているため、以前は JDBC4 Postgresql の ドライバーバージョン 8.4.703 および psqlODBC バージョン 9.x ドライバーの使用をお勧めしていました。現在これらのドライバーを使用している場合は、それ以降の新しい Amazon Redshift 固有のドライバーに移行することをお勧めします。”
エラーが発生している状態でYellowfinのビューやレポートにアクセスを続けるとコンテンツが破損することがあります。
後述の回避方法をYellowfinのバージョン7.4.10以降、またはバージョン8.0.2以降にバージョンアップする前に適用することを強くお勧めします。
回避方法:
Amazon Redshiftに接続しているデータソースのJDBCドライバをAmazon RedshiftのJDBCドライバに変更します。
Amazon RedshiftのJDBCへの変更方法については下記の記事を参照してください。
関連情報:
Amazon RedshiftのJDBCドライバに変更することでエンコードの問題が発生することがあります。
下記の記事も合わせて確認および対応をお願いいたします。
ログにString contains invalid or unsupported UTF8 codepoints.....と出力されAmazon Redshiftのデータが参照できません。