Translate

PostgreSQL Server11 から12に乗り換えるべきか?

PostgreSQL Server11 から12に乗り換えるべきか?


PostgreSQLの12がリリースされて

 新型コロナウイルスネタばかりが気になっていた今日このごろ、PostgreSQL Server12もリリースされて、もうすぐで半年となる。

※PostgreSQL Server = 通称ポスグレと呼ぶ

 そろそろ11から12に乗り換えようとして、...いや乗り換えた。


元々、PostgreSQL Server12では、ストリーミング・ロジカル・レプリケーションが搭載されるみたいな事がPosgre9位に言われていた。

 結論から言うと、12では実装がまだのようだった。(May be eternal?)

 だけど、11までに搭載されている、ストリーミングレプリケーション、ロジカルレプリケーションもかなり強力で、フォークされているものなら双方向通信をサポートしているものもある。

 無料でここまで使えるのだから、はっきり行って、全く文句は無い。わがままなだけだ。

 MySQLと何が違うの?と使う前は疑問に思って、よく流行り言葉でランプ環境(LAMP)と行って、MySQLに走りがちだけれども、ライセンス形態はOracleがMySQLを買収してからライセンス解釈が不安定になっており、単純明快無料で使えるPostgreSQL Server12が唯一安定していると思う。



11→12に乗り換えるメリットは?

 

 細かく書くと、無料の分で複雑な事はしたくないとか、PosgreSQLのホームページのリリースノートを見た方が良いとそっけないので、オイラ~使いで乗り換えるメリットを簡単に述べると...

 既存のSQLの発行での問い合わせでも、パフォーマンスが向上するかもしれないと言う事。

SQL問い合わせで無駄なORDER句は処理が省略される等

 ORDER句を使っているだけで、ORDERする意味が無い場合にはわざわざ処理をするという振る舞いが省略される為、通常のSQLでもパフォーマンスが向上について期待されるのだ。

 SQLServerで高速化させていたクラスタ化でも、PostgreSQL Server12ではさらにパフォーマンスが向上しているとあるが.. PostgreSQLではメンテ工数がSQLServer程の工数では済まないから、今回もスルー。

 他には照合機能が、SQL Serverみたいに近づいたと思う。

 Oracle(オラクル)で名寄せすると、特定の文字コードは化けるとか色々意識で、しっかりと計画しないと名寄漏れがしやすかった。

 その為、名寄せ作業はSQLServerでやると、無駄な意識が不要(照合順序の設定がデフォルトのままだと)なので、名寄せ事故を起こさない為にSQL Serverを使用するようにしている。

 PostgreSQLにも照合の設定をすれば、大文字小文字等細かい区分けがされず、アクセントも区分けされずの「非決定的照合」で国際化も進んだ。

 おもしろそうな機能では、JSON Path方式も用意された。

 OracleでXMLスキーマーが導入された時、XMLスキーマーを導入すると、データーベースのバックアップが行えない不具合に見舞われて、Oracleと色々問い合わせたら不具合で当面はバックアップ出来ませんとか、訳の分からない対応されたから、今ではすっかりアンチオラクル派になったが...


 という事情で、XMLの簡略式であるJSONPath方式もちょっと怖いというか、オラクルのそれでトラウマになっている。

 Oracleとは違うので問題無いとは思うのだけれども、新機能を使った時の、バックアップとリストアの検証が必要以上に神経を使うので、今回も新機能についてはスルーしようと思う。


 

 管理ツールであるPGAdmin(SQL Serverで言うところのSSMS<SQL Server Management System>)は、PostgreSQL Server11の時と同じでバージョン4のようだ。

 そして、相変わらずのWEB型。

 オイラ~個人的にはWEB型だと、WEB Serverみたいなのが重くて好きじゃないのだけれども、仕方ない。

 パソコンが遅くなる要因のひとつな訳だが、今ではCorei-7+メモリ12G+NVIDIA GFroce 1030まで搭載してパワーアップ済みだから、全然軽々動作した。


 とりあえず、新型コロナウイルスの発生地域情報でもデータベース化して、Posgre12の機能を色々試して見ようと思う。


このブログの人気の投稿

VBAのADOで「パラメーターが少なすぎます。xを指定してください。」と表示された場合の原因

ACCESSでバーコードスキャンしたら自動でイベントを起こす方法

PostgreSQL 11 でpg_dumpallを使ってバックアップしたデータをリストアするとき文字化けの対処法

ACCESSのVBAを実行するとACCESSが強制終了する事がある

VBSでマクロの実行時に警告を非表示にする方法

ACCESSでバーコードをスキャンして登録更新する簡単なサンプル

ACCESSのVBAでADOを利用したバインド変数を利用したデータベース連携方法

ACCESSのVBAでリストビュー(ListView)を使う為の設定 | Office365

pgAdmin 4が遅いのは仕方がない | PostgreSQL things.

ACCESSA-VBA | DLookupでテーブルから特定の値を取得する方法