PostgreSQL9.6からPostgreSQL12.xバージョンアップに伴う仕様変更

PostgreSQL9.6からPostgreSQL12.xバージョンアップに伴う仕様変更

9.6→10.x

RDS(PostgreSQL)が強制的にバージョンアップされるようで、関数の仕様変更など影響を調査しましたのでまとめました。

to_dateが厳密になりました。2020年3月32日なら2020年4月1日と返ってきていましたが、10.x以降エラーとなります。

to_timestampが厳密になりました。2020年3月31日25時なら2020年4月1日1時と返ってきていましたが、10.x以降エラーとなります。

make_dateがマイナス年を許容するようになりました。許容するようになったので、バージョンアップに影響はないと思われます。

coalesce,case内で集合関数が使えなくなりました。

10.x→11.x

to_number()がテンプレート区切りが一致しないときに文字を消費するのが防止されました。

to_date()、to_number()およびto_timestamp()を、各テンプレート文字に対する1文字を読み飛ばすように修正されました。

to_char()、to_number()およびto_timestamp()のテンプレート文字列で、ダブルクォート内のバックスラッシュの扱いが調整されました。

11.x→12.x

random()、setseed()関数がプラットフォームによらず統一した動作をするようになりました。

substring(.. from … for ..)関数が標準に従ったマッチングの欲張り動作をするように変更されました。

substring(文字列,数値,数値)の場合は影響ありません。正規表現を使用している場合のみマッチングの動作が変わるようです。

参考サイト

https://www.postgresql.jp/document/10/html/release-10.html

https://www.postgresql.jp/document/11/html/release-11.html

https://www.postgresql.jp/document/12/html/release-12.html

  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA