1

PostgreSQL でのシーケンスの実装の詳細に興味があります。その理由は、それらがSERIAL型のバックグラウンドで使用されているからです。ここでソース ファイルを確認しました (Google 検索で見つかりました: 「postgresql ソース コード シーケンス」)。ただし、このファイルがどのバージョンの PG に関連しているかは明確ではありません。問題の核心である function の一般的なコード フローは理解していますnextval_internalが、PG のコード ベースは大きく、この問題を最大限に調査する時間はありません。

私は知りたいです:

  • シーケンスに関する永続化ポリシーは何ですか? それらは PG サーバーの起動時にどのようにロードされ、サーバーのクラッシュ/電源障害後の事故を防ぐためにサーバーの存続期間中どのように保持されますか?
  • シーケンスの使用に関連するランタイム コストはどのくらいですか? 何らかのディスク I/O が常に発生するのか、それともまったく発生しないのか?
  • テーブルを定義し、アプリケーション コードを記述する際に注意すべきシーケンスの使用上の欠点は何ですか?
4

1 に答える 1