Skip to content

Data and settings locations

  • PostgreSQL
  • MySQL
  • MariaDB
  • MongoDB
  • Redis / Valkey
  • Elasticsearch
  • CLI

Querybara keeps everything it saves in one data folder per user: the local store with your connections and settings, the SSH hosts you trusted, and a few supporting files. The CLI uses the same folder by default, so both see the same connections.

System Folder
Linux ~/.config/Querybara (or $XDG_CONFIG_HOME/Querybara when it is set)
macOS ~/Library/Application Support/Querybara
Windows %APPDATA%\Querybara

To keep the data somewhere else, for example a portable setup or a test, set QUERYBARA_USER_DATA_DIR to another folder before starting the app. The CLI follows the same variable.

Path What it holds
querybara.db The local store, a SQLite database (see below)
known_hosts SSH host keys you chose to trust and remember; shared with the CLI
ssh-keys/ PuTTY keys converted when you imported them, readable only by you
.updaterId A random id used for staged rollouts of updates

querybara.db holds:

  • connection profiles and their folders;
  • saved secrets, sealed by the OS keychain (plaintext never reaches the file), including the passphrases of scheduled encrypted backups;
  • query history, saved queries and snippets;
  • the metadata cache that autocomplete reads;
  • settings, including the job history (the last 50 jobs), saved wizard settings and your key bindings;
  • saved structure and data comparisons;
  • schedules and their run history, the newest 200 runs of each schedule;
  • unapplied ER model changes, one draft per connection, database and schema, kept until you apply or discard them;
  • saved table views: column layout, sort and filter;
  • autosaved editor tabs, which come back after a crash. They hold the editor text, never results or secrets.

A data compare writes its row differences to a querybara-sync- folder under the system’s temporary folder. The folder is removed when the comparison is discarded or pushed out by newer ones, and when Querybara quits.

A file that has to be read at any position but arrives as a stream, such as a Parquet file or an Excel workbook on the CLI’s stdin, or a gzip-compressed Parquet file, is first copied to a querybara-spool- folder under the temporary folder. The copy is removed when the read ends.

querybara opens the same querybara.db by default. --store <path> or QUERYBARA_STORE points it at another store file, and its known_hosts file is the one next to the store it uses, unless you pass --known-hosts. See Installing and running.

Some files live wherever you save them, not in the data folder: backups, exports, the files that scheduled runs write (into the folder each schedule names), and ER models saved as .model.json files. Deleting a schedule leaves the files its runs wrote.

Administrators can turn updates off machine-wide with a policy file outside the data folder: /Library/Application Support/Querybara/policy.json on macOS and /etc/querybara/policy.json on Linux. See Updates and channels.

Documents Querybara 0.1.1 · built frombc9f5aa