suer TIL

Databases

DATABASE
2024-12-15 2024-12-15
eye catch

【PostgreSQL】ページャーを無効にして大量件数の結果でも一度に出力する

psqlでページャーが有効になっている場合 psqlコマンドでクエリを実行すると、結果が多い場合にページャーが有効になる。 例えば以下のように-cオプションで結果が多いクエリを実行する。 $ psql -d testdb -c "SELECT id FROM users;" id ----- 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 : 以上のようにページャーが有効になっており、末尾に:が表示される。
DATABASE
2024-12-15 2024-12-15
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
  • ««
  • «
  • 1
  • 2
  • »
  • »»
AUTHOR
author image
suer
ふつうのプログラマ
LATESTS
eye catch
【VSCode】vscodevimがCopilot Next Edit Suggestions(NES)のキー入力を邪魔する問題を解決する
VSCODE
2025-02-23 2025-02-23
eye catch
【Docker】docker-composeでホスト名を指定して立ち上げる
LINUX
2025-02-02 2025-02-02
eye catch
【Terraform】removedブロックでリソースを破棄せずにtfstateからのみ削除する
TERRAFORM
2025-01-20 2025-01-20
eye catch
【Terraform】import ブロックで既存リソースを取り込む
TERRAFORM
2025-01-18 2025-01-19
eye catch
【Terraform】terraform_remote_stateでtfstateを分割する
TERRAFORM
2025-01-13 2025-01-13
  • ホーム
  • お問い合わせ
  • プライバシーポリシー

© 2022 suer