バージョン8.3の主な違いは、バージョン8.3への切り替え時に問題を引き起こす可能性があることです。

サイトを新しいサーバーに転送するタスクがありました。 問題のうち、PHP5との非互換性が予想され、最終的には非常に迅速に解決されましたが、サイトはまだ上昇していませんでした。 最も単純なデータベースクエリが機能しないことが判明しました。 よく調べてみると、自動型変換は行われていないことがわかりました。



サモフバロフ氏とのやり取りの過程で、新しいバージョンには、デフォルトで、タイプからテキストへの自動変換に関するルールが実際にはないことが判明しました。

http://www.postgresql.org/docs/current/static/release-8-3.html

文字以外のデータ型は自動的にTEXTにキャストされなくなりました(Peter、Tom)



以前に起こったこと:0が '0'に変わり、文字列が比較されました(テキスト>テキスト)。 現在、自動型キャストはありません。 これはより適切なアプローチです。 アプリケーションを適合させる必要があります。



すべてを以前のように機能させたい場合は、独自の自動キャストルールint4-> text、float4-> textなどを作成できます。 CREATE CASTコマンドを使用します。 ただし、これは以前と同様に文字列の比較に過ぎないことを理解する必要があります。





私のケースで必要なすべてのタイプのルールを作成しましたが、これは理解しているように、オプションではなく、パフォーマンスに影響を与える可能性がある一時的な手段です。 その結果、要求は現在徐々に更新されており、バージョン8.3の「標準」に準拠するために、タイプが強制的に示されています。



ニコライ(通信より):

PSこのような問題は、これが商業的な魅力でない限り、公に議論されるべきです。





ニコライありがとう!



All Articles