クエリーログ
実行したクエリーの完全な履歴を、所要時間と状態とともに表示します。
場所: ワークスペース › ツール › SQLログ
ワークスペースのナビゲーションバーから「SQLログ」を開きます。表示は2つあります:
- 「永続ログ」 — このセッションと以前のセッションで実行したすべてのクエリーです。ディスク上のファイルに保存され、番号、日付、接続、状態(OK/エラー)、クエリー、サーバの応答が記録されます。
- 「セッション履歴」 — このウインドウで実行したクエリーと、それぞれにかかった時間です。
行をダブルクリックすると(iPadではタップすると)、その詳細が表示されます。
RedisやMongoDBのセッションでは、このツールは「コマンドログ」という名前になり、実行したもの、つまりコンソールのコマンドと、MongoDBではクエリー、書き込み、インデックスも記録します。画面を表示するためにCalíopeがサーバに問い合わせる内容は記録されません。セッションの接続で絞り込まれた状態で開き、各行は届いたままの形で表示されます(SQLとして色分けはされず、パスワードは伏せ字になります)。そこにはSQLエディタがないので、セッション履歴もありません。Redisでは、「コンソールで開く」で行を実行せずにコンソールに送れます。CassandraまたはScyllaDBのセッションでも同じです。実行したCQL文(「CQLクエリー」、エクスプローラーでの編集、ロールが書き込むもの)が保存され、各行の応答の末尾には送信時の整合性レベルが付きます(OK (3 rows, 1.2 ms) · LOCAL_ONE)。そこでは「CQLクエリー」で開くで、行を実行せずに「CQLクエリー」に送れます。
Apple Vision Pro:iPadと同じです。行を見てピンチすると開きます。
キーワード: ログ、履歴、クエリー、クエリーログ、記録
特定のセッションのクエリーだけを表示します。
場所: SQLログ › セッションの選択
ログのツールバーにある「セッション」の選択で、セッションごとに絞り込みます。Calíopeは起動するたびに新しいセッションIDを生成し、終了するまでに実行したすべてのクエリーにそのIDが付きます。完全な履歴を見るには「すべてのセッション」を選び、特定のセッションだけを見るにはそれを選択します。
キーワード: セッション、フィルタ、ID、接続セッション
クエリーのテキストでログのエントリーを絞り込みます。
場所: SQLログ › 検索
ログのツールバーの検索フィールドに入力すると、そのテキストを含むクエリーだけが残ります。検索はセッション、接続、結果のフィルタと組み合わさり、すべてが同時に適用されます。
キーワード: 検索、フィルタ、テキスト、クエリー、探す
特定の接続プロファイルのクエリーだけを表示します。
場所: SQLログ › 接続の選択
ログのツールバーにある2つ目の選択で、接続プロファイルごとにエントリーを絞り込みます。ドロップダウンからサーバまたはプロファイルの名前を選ぶと、そのコンテキストで実行したクエリーだけが表示されます。完全な履歴を見るには「すべての接続」を選択します。
各接続は「名前 (ホスト:ポート)」の形で表示されるので、同じマシン上の同じ名前の2つのプロファイル(たとえばMySQLとRedis)は別々に並びます。以前のバージョンのCalíopeが書き込んだエントリーにはポートのない「名前 (ホスト)」が付いていて、別の接続として並びます。
キーワード: 接続、フィルタ、プロファイル、サーバ、接続フィルタ
成功したクエリーだけ、またはエラーになったクエリーだけを表示します。
場所: SQLログ › OK / エラーの選択
ログのツールバーにある3つ目の選択で、実行の状態ごとに絞り込みます:「すべて」、「OK」(成功したクエリーのみ)、「エラー」(失敗したクエリーのみ)。セッションのフィルタやテキスト検索と組み合わせると、関係のあるエントリーをすばやく絞り込めます。
キーワード: エラー、OK、状態、結果で絞り込む、成功、失敗
ローカルの保存先からログのエントリーを読み直します。
場所: SQLログ › 更新ボタン
一覧は自動で最新の状態に保たれます。ログに記録されるクエリーは、このタブで実行したものもほかのタブから来たものも、iCloudから届いたものも、何もしなくても表示されます。ログのツールバーにある更新ボタン(円形の矢印のアイコン)を押すと、ファイルを手動で読み直します。
キーワード: 更新、再読み込み、最新の状態にする、ログ、手動
ログに記録されたクエリーの結果をクリップボードにコピーします。
場所: SQLログ › 右クリック › 結果をコピー
SQLログの任意のエントリーでコンテキストメニューを開き(macOSでは右クリック、iPadでは長押し)、「結果をコピー」を選択します。結果(応答のテキストまたはエラーメッセージ)が、クエリーを再実行しなくてもクリップボードにコピーされます。
Apple Vision Pro:コンテキストメニューは、行を見てピンチしたまま保持すると開きます。
キーワード: コピー、結果、クリップボード、ログ、コンテキストメニュー
SQLiteのログからすべてのエントリーを完全に削除します。
場所: SQLログ › 完全に消去 / 消去
永続ログは、アプリケーションサポートディレクトリにあるローカルのSQLiteデータベース(query_log.db)に保存されます。すべてを削除するには、次の2つの方法のどちらかを使います:
- 上部のフィルタバーにある「消去」ボタン(ゴミ箱のアイコン)。
- 画面下部のファイル情報バーにある「完全に消去」ボタン。
どちらの場合も、Calíopeは削除の前に確認のダイアログを表示します。この操作はexecutedqueriesテーブルのすべての行を削除します。メモリー上のセッション履歴やDDLの監査ログには影響しません。
この操作は取り消せません。
キーワード: 消去、完全に消去、削除、取り除く、ログ、SQLite、全消去
query_log.dbファイルの場所と、使っている容量を確認します。
場所: SQLログ › ファイルバー(フッタ)
「永続ログ」の下部のバーには、常に次の情報が表示されます:
- query_log.dbファイルのフルパス(アプリケーションサポートディレクトリ)。
- サイズ(B、KB、MB、GBのうち適切な単位)。ログを読み直すたびに更新されます。
macOSでは — 「Finderに表示」をクリックすると、ファイルが選択された状態でFinderが開きます。そこから手動でバックアップを取ったり、ファイルを移動したりできます。
iPadでは — 「パスをコピー」をタップすると、パスがクリップボードにコピーされます。
macOSでの一般的なパスは次のとおりです:
~/Library/Containers/org.caliope.caliope/Data/Library/Application Support/Caliope/query_log.db
Apple Vision Pro:iPadと同じく、「パスをコピー」をピンチします。
キーワード: パス、サイズ、Finder、query_log.db、ファイル、場所、MB、GB
クエリーの履歴を、iCloud経由でお使いのデバイス間で共有します。
場所: SQLログ › iCloud同期ボタン
SQLログの右上にある雲のアイコンで、iCloud CloudKitとの同期を操作します。この機能はデフォルトでは無効で、使うかどうかはまったくの任意です。
同期を有効にする
雲のアイコン(グレーの輪郭)をタップすると有効になります。Calíopeは次のように尋ねます:
- 「既存の履歴をアップロード」 — 現在のローカルのエントリーをすべてiCloudにアップロードします。
- 「新しいエントリーのみ」 — それまでの履歴はアップロードせず、今から同期を始めます。
それ以降、実行したクエリーはすべて、ローカルのデータベースとiCloudの両方に同時に保存されます。結果のフィールドは最大500文字で保存されます。
同期を無効にする
塗りつぶされた(青い)雲のアイコンをタップすると無効になります。Calíopeは次のように尋ねます:
- 「iCloudから履歴をダウンロード」 — iCloudのエントリーをすべて、使っているデバイスにダウンロードします。
- 「いいえ、無効にするだけ」 — ローカルのデータには触れずに同期を無効にします。
- 「オフにしてiCloudのコピーを削除」 — 同期をオフにし、iCloud上のコピーも、お使いのすべてのデバイスの分を削除します。各デバイスがローカルに持っているものはそのまま残ります。
最初の2つはiCloud上のコピーを残します。同期をオンにしているほかのデバイスは、引き続きそれを読み込みます。
状態の表示
| アイコン | 意味 |
| グレーの雲(輪郭) | 同期は無効 |
| 塗りつぶされた青い雲 | 同期は有効で、最新の状態 |
| 読み込み中のインジケータ | 同期中 |
| 赤い斜線の入った雲 | 同期エラー(ポインタを合わせると詳細が表示されます) |
保持期間
ローカルのログに設定した保持期間(デフォルトは90日)が、1日に1回、iCloudのレコードにも自動で適用されます。これで、2つの保存先が同じ期間にそろいます。
プライバシー
データはあなた個人のiCloudアカウント(CloudKitのプライベートデータベース)に保存され、ほかのユーザからは見えず、Calíopeの手も届きません。私のサーバがそれを読むことはありません。オンにする前に、同期したログには機密情報(SQLに書いたパスワード、個人データや金融データ)が含まれる場合があると確認画面で警告します。同期がオンのあいだは、同じ警告が永続ログの上部に表示され続けます。
キーワード: iCloud、同期、同期する、CloudKit、クラウド、履歴、共有、iPad、Mac
雲のアイコンが赤で表示されたときの対処法です。
場所: SQLログ › 赤い雲のボタン
同期のアイコンが赤い斜線付きで表示されたら、タップするとエラーの詳細と、選べる操作が表示されます:
- 「再試行」 — もう一度同期を試みます。エラーが一時的なもの(ネットワークがない、iCloudが停止している)だった場合に使います。
- 「同期を無効にする」 — データをダウンロードせずに同期を無効にします。ローカルの履歴は変更されません。
よくある原因と解決方法:
| エラー | 原因 | 解決方法 |
| 「iCloudにサインインしていません」 | iCloudアカウントが有効になっていない | 「システム設定」→「Appleアカウント」を開く |
| 「iCloudは一時的に利用できません」 | Appleのサーバが停止しているか、ネットワークにつながらない | 数分待ってから「再試行」をタップする |
| 「アカウントの制限」 | ペアレンタルコントロールやMDMがCloudKitをブロックしている | デバイスの管理者に問い合わせる |
| 「状態を確認できませんでした」 | 起動時にインターネットに接続していなかった | ネットワークを確認して「再試行」をタップする |
注記:iCloudアカウントの状態は、アプリを開いたときに自動で確認されます。問題が解決すれば(たとえばインターネットに接続すれば)、次のクエリーを実行したあとにアイコンは青に戻ります。
キーワード: エラー、iCloud、同期、赤、再試行、利用できない、アカウント、トラブルシューティング
ログのiCloud同期が知らないうちに失敗したとき、Calíopeが通知を送ります。
場所: Calíope › 設定 › 一般 → 通知
クエリー履歴のiCloud同期が失敗した場合(接続がない、容量がいっぱい、アカウントが利用できない)、Calíopeはローカル通知で知らせることができます。知らないうちにレコードを失わないためです。
対象となる状況:
- 同期の時点でインターネットに接続していない。
- iCloudの容量を超えた — この場合、通知は容量がいっぱいであることを示す専用のメッセージになります。
- iCloudアカウントが一時的に利用できない。
有効にする・無効にする:
「設定」›「一般」›「通知」に移動し、「iCloud同期の失敗」のスイッチを使います。このスイッチは、「設定」でiCloud同期がオンのときだけ表示されます。
通知の間隔は、通知が多くなりすぎないよう15分です(同期は、クエリーを実行するたびに確認されます)。
キーワード: 通知、iCloud、同期、失敗、容量制限、オフライン、アラート
行のメニューや詳細から、ボタン1つでSQL文を実行せずにSQLエディタに送ります。
場所: ワークスペース › ツール › SQLログ
行のメニューまたは詳細のシートから「エディタで開く」を選ぶと、SQL文を実行せずにSQLエディタに送ります。Macでは新しいタブで開きます。Mac以外では、エディタが前面に出て、それまでの内容の代わりにそのSQL文が入ります。セッション履歴も同じように動作します。
Redisでは、この項目は「コンソールで開く」になり、コマンドをコンソールに送ります。MongoDBでは表示されません。CassandraとScyllaDBでは「CQLクエリー」で開くで、文を「CQLクエリー」に送ります。
キーワード: エディタで開く、ログ、SQL文、履歴、コンソール
Macでは、永続ログを前面にして⌘Pを押すと、フィルタを通った行が、それぞれのSQL文全体とともにプリントされます。
場所: キーボードショートカット: ⌘P
Macでは、永続ログを前面にして⌘Pを押すと、フィルタを通った行がプリントされます。各行の番号、日付、接続、応答、そしてSQL文全体が、切り詰めずにプリントされます。セッション履歴はプリントされません。
ログのプリントはMacの機能です。
キーワード: プリント、印刷、ログ、フィルタ、SQL文