ものづくりのブログ

うちのネコを題材にしたものづくりができたらいいなと思っていろいろ奮闘してます。

DB

【BigQuery】python で BigQuery のテーブルを削除

python で BigQuery のテーブルを削除する方法をここにメモします。 from google.cloud import bigquery import traceback try: table_id = "{{__project_id__}}.{{__dataset_id__}}.{{__table_name__}}" client.delete_table(table_id, not_found_ok=True) …

【Mysql】「Illegal mix of collations」というエラーに出会う

Mysql でダンプファイル を生成しようとしたら「Illegal mix of collations」というエラーが表示されました。 その時調べたことをここにメモします。 エラー発生時 「Illegal mix of collations」とは 解決策 調査時のコマンドのメモ 関連 エラー発生時 パス…

【MySQL】mysqldump のオプションをまとめてみました

たまに使う mysqldump ですが、オプションの指定方法が覚えられないのでここにメモします。 オプション よく使うオプション たまに使うオプション コマンド(サンプル) ダンプ データベース テーブル 複数データベースを指定してダンプ データベース 定義の…

【Mysql】v5.7 -> v8.0 バージョンアップ時のパラメータグループについて

AWS RDS にて MySQL v4.5 -> v8.0 に切り替える際に v8.0 のパラメータグループを作成する必要があります。 今回は、MySQL v5.7 / v8.0 の差分を比較し8.0用のパラメータを検討します。 RDSパラメータグループとは default.mysql8.0 と default.mysql5.7 の…

【MySQL】AWS の RDS で作成した DB の作業の切り戻し方法検討

AWS の RDS で作成した DB の作業の切り戻し方法を調べてみました。 切り戻し方法検討 スナップショットから復元 RDS のスナップショットメニューを開いて、自動スナップショットを確認する。 「RDS」 -> スナップショット -> (直前に保存したスナップショッ…

【mysql】5.7 -> 8.0 アップグレードで SSL モードを無効にして接続

Mysql を 5.7 から、8.0 にアップグレードしたところ、作業後に同様の接続方法を試みたところ以下のエラーになり接続ができませんでした。 mysql: [Warning] Using a password on the command line interface can be insecure. ERROR 2026 (HY000): SSL conn…

【postgresql】カラム名からテーブルを検索する方法

information_schema.columns テーブルはカラム数が多いので絞って表示します。 select table_name, column_name from information_schema.columns where column_name ='カラム名';

【Google】BigQuery について

BigQuery の機能や用途などの基礎的な知識について調べてみたのでここにメモします。 BigQuery 特徴・メリット データ処理が高速 各種ツールとの連携 利用コスト 技術的なハードルが低い GA4 との連携が可能 利用方法 「BigQueryの無料トライアル」 データ分…

【Google】GA4 と BigQuery 連携

GA4 と BigQuery 連携について調べたことをここにメモします。 BigQuery GA4 と BigQuery 連携 できること 費用(無料枠) ストレージへの保存費用 クエリの実行サイズに応じた費用 設定手順 BigQueryでプロジェクトを作成 BigQuery APIの有効化 GA4 を BigQue…

【DB】データベースのトレンドを調べてみました

現状のデータベースのトレンドを調べたので、ここにメモします。 参考 ランキング db-engines.com 評価 db-engines.com ランキング 2023/04/19時点のものです。 データベース全体 RDBMS Key-value Stores ドキュメントデータベース Graphデータベース 時系列…

【redis】redis-cli でメモリ使用量の多いキーを探す

reids でメモリ使用量の多いキーを探す方法を調査したので、ここにメモします。 コマンド --bigkeys キーの型によって出力される情報が異なるようです。(hash ならフィールド数など) $ redis-cli --bigkeys --memkeys [MEMORY USAGE] で調べたバイト数が表示…

【redis】dump.rdb ファイルからリストア

redis のバックアップデータからのリストアする方法をここにメモします。 バックアップ dump.rdb 作成 dump ファイル移動 リストア redis 停止 dump.rdb コピー redis 起動 バックアップ dump.rdb 作成 以下のコマンドで、dump ファイルが生成されます。 $ r…

【redis】キーの削除

redis のキーの削除方法をここにメモします。サンプルキー登録 $ redis-cli 127.0.0.1:6379> 127.0.0.1:6379> hset sample sample_key sample_val (integer) 1Key の確認 127.0.0.1:6379> keys sample 1) "sample" 127.0.0.1:6379> hgetall sample 1) "sampl…

【Clickhouse】 query パラメータ

query パラメータを使用すると以下のように SQL を実行することができます。 $ clickhouse-client -h "localhost" --query="{{__SQL__}}"

【MySQL】データベースから何処かにあるテーブルのカラム名を検索するクエリ

何処かのテーブルにあるはずのカラムを検索する場合、以下のクエリを実行します。 SELECT table_name, column_name FROM information_schema.columns WHERE column_name = '検索したいカラム名' AND table_schema = '検索したいデータベース名';

【Elasticsearch】ERROR: [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch.

以下のコマンドを実行後にエラーで困ったので対応方法をここにメモします。 $ docker run --name es01 --net elastic -p 9200:9200 -p 9300:9300 -it docker.elastic.co/elasticsearch/elasticsearch:8.5.1 ・ ・ ・ ERROR: [1] bootstrap checks failed. Yo…

MeiliSearch を使ってみました

MeiliSearch を触る機会があったのでここにメモします。 環境 Ubuntu: 22.04.1 LTS meilisearch: v0.29.1 MeiliSearch とは? 高速なオープンソースの検索エンジン、またはRESTベースの検索APIです。 github.com Rust で実装されているようで、メイリサーチと…

SchemaSpy を使ってテーブル定義書を作成してみる

ドキュメントのないアプリケーションを引き継ぐことが多く、最近はデータベースからER図を作ってドキュメントの整備を行なってます。 今回は、SchemaSpy を使うとその作業がとても楽になったためここにメモを残します。 SchemaSpy とは 使い方 事前準備 java…

ClickHouse でダブルクォーテーションを使った SQL で問い合わせたらうまくいかなかったのでメモ

ClickHouse でダブルクォーテーションを使ったSQLで問い合わせたらうまくいきませんでした。 どうやら調べてみたら、文字列リテラルに使用できるのは一重引用符のみで、二重引用符は、識別子についてはバッククォートと同じように機能するとのことでした。 …

PostgreSQL でユーザ一覧とロール一覧を表示する方法

PostgreSQL でユーザ一覧とロール一覧は以下のコマンドで表示させます。 方法 ユーザ一覧 pg_user 参照 psql のメタコマンド ロール一覧 pg_roles 参照 方法 ユーザ一覧 pg_user 参照 pg_user を参照する事でユーザ一覧を確認できます。 select usename from…

clickhouse バージョンアップ(22.3.3.44)

clickhouse のバージョンアップを行ったのでここにメモしておきます。 環境 旧環境 新環境 作業 インストール 接続確認 password incorrect エラー 参考 環境 旧環境 $ clickhouse-client ClickHouse client version 18.16.1. Connecting to localhost:9000.…

postgresql の where 句で型の指定方法が悪くてエラーが出た

いつの間にか postgresql の型のチェックが厳しくなっていました。 症状 クエリ エラー 調査 エラーになる場合 int 型に文字列で検索 text 型に数値で検索 症状 クエリ 以下の SQL を実行したところエラーになりました。 select {{id}} from {{table}} where…

redis に保存されている値を確認する方法

redis に保存した内容を確認したいときのメモになります。よく使用するコマンドの一覧は以下のとおりです。 コマンド 処理内容 keys * redis に登録されているキーの一覧を表示 type [key] value の種類を取得 get [key] type が string の場合の値を確認す…

PostgreSQL でテーブル情報を CSV ファイルに出力する方法

データベースに接続して CSV ファイルを取得したいことが度々あるが、その度にやり方を忘れてしまっているのでここにメモします。 CSV出力の構文 デフォルト カラムを選択してCSV出力 カラム名もCSV出力 値をダブルウォーとで出力 CSV出力の構文 PostgreSQL…

【MySQL】テーブル情報を CSV ファイルに出力する方法

データベースに接続してCSVファイルを取得したいことが度々あるのですが、その度にやり方を忘れてしまっているのでここにメモします。MySQLの場合は、SELECT 文に "INTO OUTFILE" を記述することで CSV ファイルを出力することができます。 CSV出力の構文 デ…

clickhouse で特定のカラムを探す方法について

clickhouse を使っていてテーブルがたくさんある中で、特定のカラムを探したい場合があります。 そんな時は、system.columns というテーブルからカラム名を検索する方法があります。 このテーブルを使用すると、DESCRIBE TABLE クエリと同様の情報を取得でき…

docker-compose を自分なりにまとめてみる(postgresとdjangoのアプリ)

今回は docker を使って postgres と django を使ったアプリの開発環境を作成する方法をここにメモしたいと思います。 docker-compose とは docker-compose を使うまでのステップ 作業フォルダ作成 Dockerfile 作成 Dockerfile に記載している requirements.…

【PostgreSQL】 全テーブルの件数を表示させる方法

Postgres SQLにに登録されているテーブル名と、そのテーブルに登録されているレコード数を一覧にして表示する方法です。 テーブル一覧とそのデータ件数を表示する SQLその1 SQLその2 参考 pg_stat_user_tables pg_class テーブル一覧とそのデータ件数を表示…

「Aurora MySQL in-place upgrades」という機能を使って MySQL 5.6 => 5.7 にアップグレード

「Amazon RDS for MySQL バージョン5.6」のサポートが2021年8月3日ということで、その前にMySQLのアップグレードを行いたいと思い「Aurora MySQL in-place upgrades」という機能を使って 「MySQL v5.6 -> v5.7」 にアップグレードするテストをしてみました。…

【Mysql】 特定のデータベースの全テーブルのレコード数を取得する

MySQL で各テーブルのレコード数を確認したい場合は以下を実行する。 クエリ SELECT table_name, table_rows FROM information_schema.tables WHERE table_schema = '{{データベース名}}'; information_schema.tables はテーブルのメタデータを格納している…