ユーザ用ツール

サイト用ツール


it技術:データベース:postgresql

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
it技術:データベース:postgresql [2025/10/16 11:13] – [サポート終了期限(EOL=End Of Life)] yajuadminit技術:データベース:postgresql [2025/12/11 10:06] (現在) – [psqlのパスワード入力省略] yajuadmin
行 471: 行 471:
 </code> </code>
  
 +==== psqlのURL指定 ====
 +psqlではURLを指定して接続する際にパスワードもURLに含めることができる。\\
 +また、この方法ではスキーマ指定もできる
 +<code bat>
 +psql "postgresql://{ホスト名}:{ポート番号}/{DB名}?user={ユーザ名}&password={パスワード}?options=--search_path%3D{schemaスキーマ}"
 +</code>
 +
 +  * postgresql:// もしくは短縮の postgres:// のどちらも許可されています。
 +  * URL の構文上意味を持つ文字は**%エンコード**します。
 +
 +^主なもの^^
 +^記号^変換^
 +|空白|%20|
 +|@|%40|
 +|&|%26|
 +|/|%2F|
 +|:|%3A|
 +|=|%3D|
 +|?|%3F|
 +|%|%25|
 +|[|%5B|
 +|]|%5D|
 ==== psqlのスクリプトエラー無視 ==== ==== psqlのスクリプトエラー無視 ====
 postgresqlの特性上、1度エラーが出ると以降のSQLは全てエラー(commit/rollbackするまで)になります。\\ postgresqlの特性上、1度エラーが出ると以降のSQLは全てエラー(commit/rollbackするまで)になります。\\
行 757: 行 779:
 CREATE INDEX idx_res_match ON res_match USING bloom (factory_cd, line_cd, seq_no, lotserial, cp_cd) CREATE INDEX idx_res_match ON res_match USING bloom (factory_cd, line_cd, seq_no, lotserial, cp_cd)
 </code> </code>
 +
 +=== PostgreSQL 18以降の場合 ===
 +PostgreSQL 18の新機能「B-treeインデックスのスキップスキャン」により、先頭以外からでもインデックスが効くようになる。
 +
 +[[https://future-architect.github.io/articles/20251014a/|PostgreSQL 18の新機能「B-treeインデックスのスキップスキャン」]]
 ==== 実行計画の取得 ==== ==== 実行計画の取得 ====
 SQLの前に「EXPLAIN」か「EXPLAIN ANALYZE」を付ける。\\ SQLの前に「EXPLAIN」か「EXPLAIN ANALYZE」を付ける。\\
it技術/データベース/postgresql.1760580787.txt.gz · 最終更新: 2025/10/16 11:13 by yajuadmin