suer TIL

Databases

DATABASE
2026-07-22 2026-07-22
eye catch

【PostgreSQL】指定したテーブルのインデックスを確認する

SQLでインデックスを確認する PostgreSQLで指定したテーブルのインデックスを確認するにはpg_indexesシステムカタログをSELECTする。 SELECT * FROM pg_indexes WHERE tablename = 'テーブル名'; 例えばusersテーブルのインデックスを確認するには以下のように実行する。
DATABASE
2024-12-15 2024-12-15
eye catch

【PostgreSQL】psqlコマンドの結果をシェルスクリプトで利用する(psql -qtAF)

結果が1行1列のみの場合 psqlコマンドでクエリを実行した結果をシェルスクリプトで利用するには、-qtAオプションを指定すると扱いやすくなる。 $ psql -qtA -U 接続ユーザ -d データベース名 -c "クエリ(SQL)" 例えばcount(*)で集計した結果は以下のような出力となる
DATABASE
2024-05-28 2024-05-28
eye catch

【PostgreSQL】postgresql.confの場所を探す(show config_file)

PostgreSQLの設定ファイルの場所を探すコマンド(show config_file) PostgreSQLの設定ファイルpostgresql.confはOSやインストール方法によって場所が異なる。 稼働しているPostgreSQLの設定ファイルの場所を確認するには以下のコマンドを実行する。
DATABASE
2024-05-21 2024-05-21
eye catch

【PostgreSQL】SQLでテーブル一覧を取得する

SQLでテーブル一覧を取得する PostgreSQLでテーブル一覧を取得するにはinformation_schema.tablesテーブルを参照する。 SELECT table_name FROM information_schema.tables WHERE table_type = 'BASE TABLE' AND table_schema = 'public' ORDER BY table_name; table_schemaの条件にはスキーマ名を指定する。 スキーマ名で絞らない場合pg_catalogスキーマのシステムテーブルも取得されるため指定しておくとよい。
DATABASE
2024-03-19 2024-05-12
eye catch

【PostgreSQL】psqlコマンドでcsv, tsv形式でクエリ結果を出力する

CSV形式でクエリ結果を出力する psqlコマンドでクエリ結果をCSV形式で出力するには以下のようにする。 psql -h ホスト名 -U ユーザ名 -d データベース名 -c "SQL" -A -F ',' > output.csv オプションは以下の通り。
DATABASE
2024-03-19 2024-03-19
eye catch

【PostgreSQL】テーブルのレコード件数を高速に概算する

高速なレコード件数の取得 PostgreSQLで大量のレコードを含むテーブルでcount関数を使って件数取得すると時間がかかる。 SELECT count(*) FROM テーブル名; 統計情報ビューの一種であるpg_stat_user_tablesを使うと高速にレコード件数を取得できる。
DATABASE
2024-03-15 2024-03-16
eye catch

【PostgreSQL】json文字列の要素を追加・更新する(jsonb_set, jsonb_insert)

jsonb_set関数 jsonb_set関数はJSON文字列の要素を更新する関数。 以下の書式で定義される。 jsonb_set(target, path, new_value, [create_missing]) target: 更新対象のJSON path: 更新する要素のパス new_value: 更新する値 create_missing: パスで指定したキーが無い場合に追加しない場合はfalseを指定する 更新する要素のパス 要素のパスは{}の中にカンマ区切りで指定する。 キーバリューの場合はキー名、配列の場合はインデックスを指定する。
DATABASE
2024-03-03 2024-03-03
eye catch

【PostgreSQL】標準入力で受け取った構文エラーのSQLをpsqlで実行したときのステータスコードを0以外にする

psqlでエラーが出てもステータスコードが0になるパターン psqlコマンドでSQLファイルから標準入力で受け取って実行するには以下のようにする。 $ psql -U usename -d dbname < test.sql 上記でtest.sqlの内容を受け取ってSQLを実行する。
DATABASE
2024-01-31 2024-01-31
eye catch

【PostgreSQL】SQLでカラム情報一覧を取得する

SQLでカラム情報一覧を取得する information_schema.columnsテーブルにカラム情報が格納されているので、これを参照する。 testdb=# select column_name, column_name, is_nullable, data_type from information_schema.columns where table_name = 'テーブル名' order by ordinal_position; テーブルと共に取得する方法は以下を参照。 » 【PostgreSQL】SQLでテーブル一覧を取得する
DATABASE
2023-08-05 2024-03-19
eye catch

【PostgreSQL】text 型のカラムに json 型としてクエリする

PostgreSQLのtext型のカラムにjson型としてクエリする 以下のデータからJSONデータを抽出したテーブルを表示する。 ここでsettingカラムの型はtextとする。 # select * from settings; id | setting ----+------------------------------ 1 | {"foo": "bar", "baz": "qux"} 2 | {"foo": "aaa", "baz": "bbb"} settingカラムのJSONデータの、“foo”, “baz"キーをカラム名とした値を取得しテーブルとして表示するには 例えば以下のようなSQLを実行する。
DATABASE
2023-03-25 2023-03-25
  • ««
  • «
  • 1
  • 2
  • »
  • »»
AUTHOR
author image
suer
ふつうのプログラマ
LATESTS
eye catch
【PostgreSQL】INCLUDE句でIndex Only Scanを実現する
DATABASE
2026-07-22 2026-07-22
eye catch
【PostgreSQL】pg_stat_statementsで重いクエリを特定する
DATABASE
2026-07-22 2026-07-22
eye catch
【PostgreSQL】EXPLAIN (ANALYZE, BUFFERS)でキャッシュヒット率を確認する
DATABASE
2026-07-22 2026-07-22
eye catch
【PostgreSQL】EXPLAIN ANALYZEの読み方の基本
DATABASE
2026-07-21 2026-07-22
eye catch
【PostgreSQL】pg_stat_activityで実行中クエリとロック待ちを確認する
DATABASE
2026-07-21 2026-07-21
  • ホーム
  • お問い合わせ
  • プライバシーポリシー

© 2022 suer