[general] checkForUpdatesInterval = 86400000 ; 24 hours checkForUpdatesDisabled = false ; enable/disable automatic update checks workspaceSyncInterval = 10000 ; 5 seconds downloadUserAgent = "Mozilla/5.0 (compatible; Beekeeper Studio) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0" [security] disconnectOnSuspend = false disconnectOnLock = false disconnectOnIdle = false lockMode = disabled ; disabled, pin, future: google, ldap, oauth; applies when connecting to any db idleThresholdSeconds = 300 ; time before user is considered 'idle' idleCheckIntervalSeconds = 30 ; time between idle checks activityReportIntervalSeconds = 5 ; how often the renderer reports user input to back up idle detection activityEvents[] = mousedown ; DOM events treated as user activity for idle detection activityEvents[] = keydown minPinLength = 6 ; Loading SQLite runtime extensions executes arbitrary native code from the ; extension path. Off by default - users must explicitly opt in via their ; user.config.ini before any sqliteExtensionFile setting will be honoured. allowRuntimeExtensions = false ; `Match exec` in ~/.ssh/config runs an arbitrary command to decide whether a ; block applies; it is evaluated by default to match ssh(1). Set to true to ; skip `Match exec` sections when reading ~/.ssh/config. Host blocks and ; non-exec Match rules (Match host, Match user, etc.) are still applied. disableSshConfigMatchExec = false [ui.general] ; Controls the encoding format used to display binary data in the application. ; Possible values: base64, hex binaryEncoding = hex [ui.layout] mainContentMinWidth = 200 ; Minimum width of main content area in pixels primarySidebarMinWidth = 150 ; Minimum width of primary sidebar area in pixels secondarySidebarMinWidth = 150 ; Minimum width of secondary sidebar area in pixels defaultGlobalSidebarItem = tables ; Global sidebar tab selected on first connect, until the user switches. One of: tables, queries, history [ui.queryEditor] maxResults = 50000 defaultFormatter = bk-default ; primary and secondary query actions must be one of the following 2 options ; "submitCurrentQuery" will only run the active query ; "submitTabQuery" will run all queries or what is highlighted primaryQueryAction=submitTabQuery secondaryQueryAction=submitCurrentQuery [ui.queryEditor.autocomplete] ; Casing of completed keywords and built-in functions. ; preserve = follow the typed prefix: SEL -> SELECT, sel -> select; ; completing with no prefix (e.g. Ctrl+Space) inserts uppercase ; upper = always uppercase ; lower = always lowercase keywordCasing = preserve ; When completed table/column names get quoted. ; auto = only names the database can't reference unquoted: special ; characters always; MixedCase only where unquoted names are ; case-folded (e.g. PostgreSQL) ; always = quote every completed name quoteIdentifiers = auto ; Disable completion of SQL keywords disableKeywordCompletion = false ; Disable completion of identifiers from your database (tables, columns, etc) disableSchemaCompletion = false [ui.tableTable] pageSize = 100 largeFieldWidth = 300 maxColumnWidth = 1000 minColumnWidth = 100 maxInitialWidth = 500 defaultColumnWidth = 125 ; The event that triggers cell edit mode ("click" or "doubleclick") editTrigger = doubleclick [ui.tableTriggers] maxColumnWidth = 300 [ui.tableList] itemHeight = 22.8 ; in pixels [ui.connectionSidebar] recentConnectionsLimit = 10 ; Max entries shown in the Recent connections list [ui.export] errorNoticeTimeout = 60000 ; 1 minute ; Defaults for all connection types [db.default] ; Allow skipping to last page of a table in the table view. This uses a count query so it could be expensive allowSkipToLastPage = false ; Max number of manual transactions to allow at a time ; This should be kept below the max pool size for the database, as these connections ; are pulled from that pool maxReservedConnections = 2 ; Maximum number of connections the pool should contain maxConnections = 8 ; How long to keep a transaction open without any activity before automatically rolling it back in manual commit mode manualTransactionTimeout = 600000 ; 10 Minutes ; The amount of time before an automatic rollback to warn the user that it is about to happen autoRollbackWarningWindow = 60000 ; 1 Minute ; The quote character autocomplete wraps identifiers in when quoting is ; needed. 0 or -1 selects the database's convention (PostgreSQL/SQLite ", ; MySQL `, SQL Server [ ]). Only characters the database accepts as ; identifier quotes are honored: SQL Server accepts [ or ", SQLite accepts ; " or `; an unrecognized character falls back to the convention. Can be set ; per database, e.g. under [db.sqlserver]. autocompleteQuoteCharacter = 0 ; Parameter type configuration (https://github.com/sql-formatter-org/sql-formatter/blob/66c219b1c1329ac67d6a77dc58ce563e166c43f1/docs/paramTypes.md) [db.default.paramTypes] ; Positional param `?` positional = true ; Named param `:name`, `@name`, or `$name` named[] = ; Numbered param `?1`, `:1`, or '$1' numbered[] = ; Quoted param `:"name"`, `@"name"`, or `$"name"` (the type of quote depends on the dialect) quoted[] = [db.mysql] ; The milliseconds before a timeout occurs during the initial connection to the MySQL server. connectTimeout = 3600000 ; 1 minute ; Allow skipping to last page of a table in the table view. This uses a count query so it could be expensive allowSkipToLastPage = true maxConnections = 10 [db.mariadb] ; The milliseconds before a timeout occurs during the initial connection to the MySQL server. connectTimeout = 3600000 ; 1 minute ; Allow skipping to last page of a table in the table view. This uses a count query so it could be expensive allowSkipToLastPage = true maxConnections = 10 [db.tidb] ; Allow skipping to last page of a table in the table view. This uses a count query so it could be expensive allowSkipToLastPage = true [db.starrocks] ; Allow skipping to last page of a table in the table view. This uses a count query so it could be expensive allowSkipToLastPage = true [db.postgres] ; number of milliseconds to wait before timing out when connecting a new client. ; Reference https://node-postgres.com/apis/pool#new-pool connectionTimeout = 15000 ; 15 seconds ; number of milliseconds a client must sit idle in the pool and not be checked. ; out before it is disconnected from the backend and discarded ; Reference https://node-postgres.com/apis/pool#new-pool idleTimeout = 20000 ; 20 seconds ; Allow skipping to last page of a table in the table view. This uses a count query so it could be expensive allowSkipToLastPage = true [db.postgres.paramTypes] positional = false numbered[] = '$' [db.greengage] connectionTimeout = 15000 ; 15 seconds idleTimeout = 20000 ; 20 seconds allowSkipToLastPage = true [db.greengage.paramTypes] positional = false numbered[] = '$' [db.cockroachdb] ; number of milliseconds to wait before timing out when connecting a new client ; Reference https://node-postgres.com/apis/pool#new-pool connectionTimeout = 15000 ; 15 seconds ; number of milliseconds a client must sit idle in the pool and not be checked ; out before it is disconnected from the backend and discarded ; Reference https://node-postgres.com/apis/pool#new-pool idleTimeout = 20000 ; 20 seconds ; maximum number of clients the pool should contain ; Reference https://node-postgres.com/apis/pool#new-pool maxConnections = 5 [db.cockroachdb.paramTypes] positional = false numbered[] = '$' [db.redshift] ; number of milliseconds to wait before timing out when connecting a new client ; Reference https://node-postgres.com/apis/pool#new-pool connectionTimeout = 15000 ; 15 seconds ; number of milliseconds a client must sit idle in the pool and not be checked ; out before it is disconnected from the backend and discarded ; Reference https://node-postgres.com/apis/pool#new-pool idleTimeout = 20000 ; 20 seconds ; maximum number of clients the pool should contain ; Reference https://node-postgres.com/apis/pool#new-pool maxConnections = 5 [db.redshift.paramTypes] positional = false numbered[] = '$' [db.sqlite] ; Allow skipping to last page of a table in the table view. This uses a count query so it could be expensive allowSkipToLastPage = true [db.sqlite.paramTypes] positional = true numbered[] = '?' named[] = ':' named[] = '@' [db.bedrock] ; Allow skipping to last page of a table in the table view. This uses a count query so it could be expensive allowSkipToLastPage = true [db.bedrock.paramTypes] positional = true numbered[] = '?' named[] = ':' named[] = '@' [db.sqlserver] ; Allow skipping to last page of a table in the table view. This uses a count query so it could be expensive allowSkipToLastPage = false maxConnections = 10 [db.sqlserver.paramTypes] positional = false named[] = ':' [db.bigquery] ; Allow skipping to last page of a table in the table view. This uses a count query so it could be expensive allowSkipToLastPage = false [db.bigquery.paramTypes] positional = true named[] = '@' quoted[] = '@' [db.oracle] ; Allow skipping to last page of a table in the table view. This uses a count query so it could be expensive allowSkipToLastPage = false maxConnections = 4 [db.cassandra] ; Allow skipping to last page of a table in the table view. This uses a count query so it could be expensive allowSkipToLastPage = false [db.firebird] ; Allow skipping to last page of a table in the table view. This uses a count query so it could be expensive allowSkipToLastPage = false [db.clickhouse] ; Allow skipping to last page of a table in the table view. This uses a count query so it could be expensive allowSkipToLastPage = false [db.mongodb] ; Allow skipping to last page of a table in the table view. This uses a count query so it could be expensive allowSkipToLastPage = false [db.duckdb] ; Allow skipping to last page of a table in the table view. This uses a count query so it could be expensive allowSkipToLastPage = false [db.sqlanywhere] ; Allow skipping to last page of a table in the table view. This uses a count query so it could be expensive allowSkipToLastPage = false [db.trino] ; Allow skipping to last page of a table in the table view. This uses a count query so it could be expensive allowSkipToLastPage = false [db.surrealdb] ; number of milliseconds to wait before timeing out waiting for a new connection from the pool connectionTimeout = 15000 [db.dynamodb] ; Allow skipping to last page of a table in the table view. This uses a count query so it could be expensive allowSkipToLastPage = false ; Timeout in milliseconds for cursor fetch operations cursorFetchTimeout = 30000 ; Number of items to sample when discovering non-key attributes for the ; column list. DynamoDB only declares types for indexed attributes, so we ; sample a few rows to surface the rest. columnSampleSize = 50 [db.snowflake] connectionTimeout = 60000 idleTimeout = 60000 [keybindings.general] refresh[] = f5 refresh[] = ctrlOrCmd+r addRow = ctrlOrCmd+n save = ctrlOrCmd+s openInSqlEditor = ctrlOrCmd+shift+s openQuickSearch = ctrlOrCmd+p jsonViewerSidebar = copySelection = ctrlOrCmd+c pasteSelection = ctrlOrCmd+v cloneSelection = ctrlOrCmd+d deleteSelection[] = ctrlOrCmd+alt+- undo = ctrlOrCmd+z redo[] = ctrlOrCmd+shift+z redo[] = ctrlOrCmd+y [keybindings.tab] closeTab = ctrlOrCmd+w forceCloseTab = ctrlOrCmd+shift+w nextTab[] = ctrl+tab nextTab[] = ctrlOrCmd+pagedown previousTab[] = ctrl+shift+tab previousTab[] = ctrlOrCmd+pageup reopenLastClosedTab = ctrlOrCmd+shift+t switchTab1 = altOrCmd+1 switchTab2 = altOrCmd+2 switchTab3 = altOrCmd+3 switchTab4 = altOrCmd+4 switchTab5 = altOrCmd+5 switchTab6 = altOrCmd+6 switchTab7 = altOrCmd+7 switchTab8 = altOrCmd+8 switchTab9 = altOrCmd+9 [keybindings.quickSearch] focusSearch[] = ctrlOrCmd+k focusSearch[] = ctrlOrCmd+o close = esc selectUp[] = up selectUp[] = ctrlOrCmd+p selectDown[] = down selectDown[] = ctrlOrCmd+n open = enter altOpen = ctrlOrCmd+enter openInBackground = right altOpenInBackground = ctrlOrCmd+right [keybindings.queryEditor] selectEditor = ctrlOrCmd+l primaryQueryAction[] = ctrlOrCmd+enter primaryQueryAction[] = f5 secondaryQueryAction[] = ctrlOrCmd+shift+enter secondaryQueryAction[] = shift+f5 primaryQueryToFileAction = ctrlOrCmd+i secondaryQueryToFileAction = ctrlOrCmd+shift+i selectNextResult = shift+up selectPreviousResult = shift+down copyResultSelection = ctrlOrCmd+c switchPaneFocus = ctrlOrCmd+` openTableFilter = ctrlOrCmd+f closeTableFilter = esc manualCommit = ctrlOrCmd+shift+c manualRollback = ctrlOrCmd+shift+r [keybindings.tableTable] nextPage = ctrlOrCmd+right previousPage = ctrlOrCmd+left focusOnFilterInput = ctrlOrCmd+f openEditorModal = shift+enter pasteAsNewRows = ctrlOrCmd+shift+v nullSelection[] = backspace nullSelection[] = delete firstPage = ctrlOrCmd+h lastPage = ctrlOrCmd+l [keybindings.plugins.bks-ai-shell] new-tab-dropdown-item = ctrlOrCmd+l [azure] azSQLLoginScope = https://ossrdbms-aad.database.windows.net ; Change the behaviour of the SSO workflow, change at your own risk ssoPrompt = 'select_account' [pluginSystem] ; Disable plugin system entirely disabled = true ; Disable all community plugin functionality (installing, fetching the plugin list from the registry, and loading) communityDisabled = true ; When disabled = true, only plugins listed here are allowed to be installed and loaded. ; Has no effect when disabled = false. ; Example: ; allow[] = bks-ai-shell ; allow[] = bks-er-diagram allow[] = bks-ai-shell allow[] = bks-er-diagram [plugins.bks-ai-shell] disabled = false [plugins.bks-er-diagram] disabled = false