PostgreSQL 10リリース







実際、すでに2日が過ぎていますが、Habrに関する記事はまだ誰も書いていないので、この省略をなくさなければなりません。







では、このバージョンのPostgreSQLの新機能は何ですか?







まず、バージョン管理自体が変更されました。 「トップ10」の前に、9.xのマイナーバージョンが多く見られました。これらは約1年に1回リリースされ、同時にマイナーなものではない重大な変更が導入されました。 したがって、バージョン10から、10、11、12などの番号に決定されました。 ところで、MySQLは同じパスをたどり、5.7から8.0にジャンプしたようです







さて、これがすべてささいなことです。最後に行きましょう。







論理複製



これは誰もが長い間待っていたものです。 さまざまな拡張機能をスローモーション(トリガーの複製)やその他の松葉杖に置き換えます。







これで、個々のテーブルを他のボックスから他のデータベースに複製できます。







レプリケーションは、 CREATE PUBLICATIONおよびCREATE SUBSCRIPTIONコマンドを使用して行われます。 すべてが非常に簡単です。







この機能が非常に新しいことは明らかであるため、現時点では論理レプリケーションにいくつかの機能がありません。









それにもかかわらず、これはまだ大きな前進であり、場合によってはスローを投げることができます!







パーティショニング



テーブルの継承によって以前のパーティションを強化できる場合、トップ10には、宣言パーティションと呼ばれるこのための組み込みツールがありました。







これを行うには、 PARTITON BY RANGE



(またはLIST



)キーワードがメインテーブルに追加されます。これは、このテーブルがパーティション分割されていることを示します(またはロシア語でこれをどのように言えますか?)。







特定のパーティションの場合、 PARTITION OF ... FOR VALUES FROM (...) TO (...)



式はデータの範囲を設定します。







パーティションには、実稼働環境で使用する前に留意する必要があるいくつかの制限があります。PostgreSQL10での宣言型パーティションの制限







ID列



要するに、書く機会







 id int GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY
      
      





の代わりに







 id serial PRIMARY KEY
      
      





それは何を与えますか?

事実は、シリアルという単語はおおよそDEFAULT nextval( 'シーケンス名')構造の別名です。 すなわち 基本的に個別のテーブル、個別のシーケンス。 便利かもしれませんが、できません。 たとえば、これは、テーブルに挿入する権利(GRANT INSERT)を付与する場合、個別にシーケンスの付与を付与する必要があるという事実につながります。







ところで、新しいレコードはSQL標準に準拠しています。







その他





変更点の完全なリストはここにあります 。







誰かがすでに戦闘でv10を試してみた場合は、コメントであなたの印象を共有してください。







更新 バージョンシステムはあまり良くないと考えられています。 PostgreSQL Xをトレンドに呼んでいました:)








All Articles