suer TIL

Databases

DATABASE
2025-12-31 2026-01-01
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
statコマンドでファイルの詳細情報(inode・タイムスタンプ・権限)を表示する
LINUX
2026-01-13 2026-01-13
eye catch
nlコマンドで行番号を柔軟に付与する
LINUX
2026-01-12 2026-01-12
eye catch
【comm】ソート済みファイル同士を比較して差分・共通部分を抽出する
LINUX
2026-01-12 2026-01-12
eye catch
tacコマンドでファイルを末尾から逆順に表示
LINUX
2026-01-11 2026-01-12
eye catch
【split】大きなファイルを行数やサイズで分割する
LINUX
2026-01-11 2026-01-11
  • ホーム
  • お問い合わせ
  • プライバシーポリシー

© 2022 suer