PostgreSQLのクライアント接続と問い合わせ


🗻 クライアント/サーバ間の接続・通信

PostgreSQLのクライアント/サーバ間の接続の流れです。

  • クライアントからPostgreSQLに接続要求
  • クライアント/サーバ間で認証を実施
  • PostgreSQLがバックエンドプロセスを生成
  • クライアントとバックエンドプロセス間の接続を確立

🐞 問い合わせ

クライアントからのSQLクエリの問い合わせ処理の流れです。

機能 説明
パーサ/字句解析 SQLがどういった構文で構成されているかの解析を行います
パーサ/構文解析 構文解析の結果がSQLの記述ルールに準拠しているかの解析を行います。問題があればエラーを返します
パーサ/実在確認 テーブルやカラムがDB上に存在するかのチェックを行います。問題がなければツリー構造に変換
リライタ SQLを書き換えるルールがDBに設定されている場合に書き換えを実行します
プランナー 最適な実行計画の生成。テーブルのアクセス方法や結合方法を選択します。クエリツリーから、パス(全件スキャン、インデックス、テーブル結合)単位のコスト計算を行い、最小コストを問い合わせプランにします
エグゼキュータ 実行計画にしたがってDMLにもとづいてデータを抽出します

🐡 参考リンク

🖥 VULTRおすすめ

VULTR」はVPSサーバのサービスです。日本にリージョンがあり、最安は512MBで2.5ドル/月($0.004/時間)で借りることができます。4GBメモリでも月20ドルです。 最近はVULTRのヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!

📚 おすすめの書籍