Configuracion
Beekeeper Studio usa un sistema de configuracion ini que te permite personalizar la aplicacion para que coincida con tu flujo de trabajo y preferencias. Usando archivos de configuracion INI simples, puedes ajustar todo, desde atajos de teclado y tiempos de espera de conexion de base de datos hasta configuraciones de seguridad como proteccion con PIN.
Inicio rapido
Nuevo en la configuracion? Salta a la seccion de Primeros pasos para un recorrido simple, o revisa nuestras configuraciones de ejemplo para ver personalizaciones comunes.
Archivos de configuracion
Beekeeper Studio usa un sistema de configuracion de tres niveles que te da control flexible sobre las configuraciones. Las configuraciones se cargan en el orden a continuacion.
| Configuracion | Proposito | Orden de carga |
|---|---|---|
| Predeterminada | Configuraciones base que vienen con la aplicacion | Primero |
| Usuario | Tus personalizaciones personales | Segundo |
| Administrador | Configuraciones a nivel de maquina (controladas por admin) | Tercero |
Eso significa: Las configuraciones de administrador anulan las configuraciones de usuario, las configuraciones de usuario anulan las configuraciones predeterminadas. Los administradores de TI pueden aplicar politicas proporcionando una configuracion de administrador a nivel de maquina.
Configuration File Locations
Beekeeper Studio looks for specific files in specific locations. This is not configurable. Note that the user and admin files have different names
| Config | Location |
|---|---|
| User | ~/Library/Application Support/beekeeper-studio/user.config.ini |
| Admin | /Library/Application Support/beekeeper-studio/system.config.ini |
| Config | Location |
|---|---|
| User | ~/.config/beekeeper-studio/user.config.ini |
| Admin | /etc/beekeeper-studio/system.config.ini |
| Config | Location |
|---|---|
| User | %APPDATA%\beekeeper-studio\user.config.ini |
| Admin | C:\ProgramData\beekeeper-studio\system.config.ini |
Put a local.config.ini in the root of the Beekeeper Studio project directory. This is used only during app development and takes the place of both user and admin files.
Como usar archivos de configuracion
Paso 1: Crear tu archivo de configuracion
Decide que archivo cambiar (usuario o administrador). Si el archivo aun no existe, crealo usando cualquier editor de texto. Aqui hay una configuracion inicial simple. Puedo poner esto en mi configuracion de Usuario:
; Mi configuracion de Beekeeper Studio
; Las lineas que comienzan con punto y coma son comentarios
[ui.tableTable]
pageSize = 200 ; Mostrar mas filas por pagina
Paso 2: Guardar y reiniciar
- Guarda tu archivo de configuracion
- Reinicia Beekeeper Studio
- Tu nueva configuracion tendra efecto
La configuracion no funciona?
Si tus cambios no surten efecto:
- Ubicacion del archivo: Asegurate de que tu archivo de configuracion este en el directorio correcto para tu sistema operativo
- Errores de sintaxis: Verifica la sintaxis INI (encabezados de seccion en
[corchetes], espacios alrededor de=) - Reinicio requerido: Los cambios de configuracion requieren un reinicio completo de la aplicacion
- Nombres de configuracion: Busca errores tipograficos en nombres de seccion o claves de configuracion
- Permisos de archivo: Asegurate de que el archivo de configuracion sea legible por Beekeeper Studio
- Revisar logs: Habilita el registro de depuracion para ver los detalles de carga de configuracion
Referencia de configuracion
A continuacion estan los valores de configuracion predeterminados para Beekeeper Studio, copia y modifica segun sea necesario.
[general]
checkForUpdatesInterval = 86400000 ; 24 hours
dataSyncInterval = 30000 ; 30 secs
workspaceSyncInterval = 5000 ; 5 seconds
[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
minPinLength = 6
[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
primarySidebarMaxWidth = 500 ; Maximum width of primary sidebar area in pixels
secondarySidebarMaxWidth = 500 ; Maximum width of secondary sidebar area in pixels
[ui.queryEditor]
maxResults = 50000
defaultFormatter = bk-default
[ui.tableTable]
pageSize = 100
largeFieldWidth = 300
maxColumnWidth = 1000
minColumnWidth = 100
maxInitialWidth = 500
defaultColumnWidth = 125
[ui.tableTriggers]
maxColumnWidth = 300
[ui.tableList]
itemHeight = 22.8 ; in pixels
[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
; 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.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.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.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
[keybindings.general]
refresh[] = f5
refresh[] = ctrlOrCmd+r
addRow = ctrlOrCmd+n
save = ctrlOrCmd+s
openInSqlEditor = ctrlOrCmd+shift+s
openQuickSearch = ctrlOrCmd+p
copySelection = ctrlOrCmd+c
pasteSelection = ctrlOrCmd+v
cloneSelection = ctrlOrCmd+d
deleteSelection = delete
[keybindings.tab]
closeTab = ctrlOrCmd+w
nextTab[] = ctrl+tab
nextTab[] = ctrlOrCmd+pagedown
previousTab[] = ctrl+shift+tab
previousTab[] = ctrlOrCmd+pageup
reopenLastClosedTab = ctrlOrCmd+shift+t
switchTab1 = alt+1
switchTab2 = alt+2
switchTab3 = alt+3
switchTab4 = alt+4
switchTab5 = alt+5
switchTab6 = alt+6
switchTab7 = alt+7
switchTab8 = alt+8
switchTab9 = alt+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
submitTabQuery[] = ctrlOrCmd+enter
submitTabQuery[] = f5
submitCurrentQuery[] = ctrlOrCmd+shift+enter
submitCurrentQuery[] = shift+f5
submitQueryToFile = ctrlOrCmd+i
submitCurrentQueryToFile = 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
firstPage = ctrlOrCmd+h
lastPage = ctrlOrCmd+l
[plugins.bks-ai-shell]
disabled = false