Creación de usuarios y conexiones
Inicio de sesión como el usuario admin
OmniDB viene únicamente con el usuario admin. Si está usando la versión de servidor,
lo primero que debe hacer es iniciar sesión como admin con la contraseña aleatoria de un solo
uso que omnidb-server mostró en su salida de registro al crear una nueva base de datos de
la aplicación (la línea que contiene initial login: admin / …), y después cambiarla en
Configuración. Si se pierde esa contraseña, puede restablecerla con omnidb-server --set-password admin. Tras 10 intentos fallidos de inicio de sesión para el mismo nombre de usuario o
la misma dirección IP del cliente, el inicio de sesión se bloquea durante 15 minutos. La aplicación de escritorio no tiene inicio de sesión en absoluto: funciona como un
único usuario local, por lo que todo lo relativo a la gestión de usuarios que se describe más
abajo sencillamente no aparece allí.
Orientarse en la interfaz
Todo el espacio de trabajo se maneja desde la barra vertical de iconos del borde izquierdo de la ventana: Bienvenida, Conexiones (el icono del enchufe), Base de datos, Monitorización, Notificaciones, Permisos, Usuarios conectados y Snippets en la parte superior, y Primeros pasos, Cuenta (solo en la versión de servidor) y Configuración (el engranaje) en la parte inferior. Al pasar el ratón sobre un icono se muestra su nombre. Consulte Administración de bases de datos para ver cómo funcionan juntas las secciones, y Configuración e idiomas para el idioma de la interfaz y otras preferencias.
Creación de otro usuario
Abra Settings (Ajustes) en la parte inferior de la barra, elija la categoría Account (Cuenta) y haga clic en Manage Users (Gestionar usuarios). Ese botón solo lo ve un superusuario: en los ajustes de un usuario normal no existe siquiera la sección Account.
La ventana User management (Gestión de usuarios) muestra los usuarios existentes. Haga clic en Add new user (Añadir nuevo usuario, el icono de la persona con un signo más) para insertar una fila de usuario nueva y vacía, que se muestra como (pending info) hasta que la complete. Rellene Nombre de usuario y Nueva contraseña, active ¿Superusuario? si el nuevo usuario debe serlo y haga clic en Guardar. Puede crear tantos usuarios como quiera, editar los existentes y eliminar uno haciendo clic en la cruz roja de la columna de acciones.
Eliminar un usuario, o retirarle la condición de superusuario, surte efecto de inmediato, también en las sesiones de ese usuario que ya estén abiertas.
Para cerrar la sesión, haga clic en el icono Account (Cuenta, la persona en la parte inferior de la barra) y después en Sign out (Cerrar sesión).
La sección Connections
Haga clic en el icono del enchufe de la barra. Las conexiones son una sección completa del espacio de trabajo, no una ventana emergente: una vista dividida con la lista de conexiones guardadas en la barra lateral izquierda y el formulario y los botones de la conexión seleccionada a la derecha.
Cada fila de la lista muestra el icono del motor de base de datos, el nombre de la conexión y,
debajo, el usuario@servidor:puerto al que apunta (o la cadena de conexión, o el destino
SSH en el caso de una conexión de terminal). Un pequeño punto de color indica el entorno de la
conexión, y un icono de llave, una conexión que pasa por un túnel SSH.
Creación de conexiones
OmniDB admite PostgreSQL, MySQL, MariaDB, Oracle, MS SQL Server, Firebird y SQLite, además de un tipo de conexión Terminal que abre un intérprete de comandos por SSH en lugar de una base de datos. La lista Tipo de conexión muestra primero PostgreSQL, después los demás por orden alfabético y Terminal al final.
En SQLite, la conexión apunta a un archivo de base de datos (en la máquina donde se ejecuta
omnidb-server); si el archivo aún no existe, Probar conexión lo indica, y el
archivo se crea la primera vez que use la conexión. En un servidor multiusuario, las conexiones SQLite
están reservadas a los superusuarios, y se rechazan algunos parámetros de la cadena de conexión de
PostgreSQL que leen archivos del servidor; consulte Seguridad y servidor
multiusuario.
Haga clic en el botón + situado bajo la lista para crear una conexión. Escriba su nombre
en el encabezado del formulario de la derecha, elija el Connection Type (Tipo de conexión)
y rellene la tarjeta Host Connection Info (Datos del servidor): Server,
Port, Database, User y, opcionalmente, User Password. En lugar de
esos campos individuales puede rellenar una única Connection string (cadena de conexión,
por ejemplo postgresql://postgres@localhost:5432/postgres) y dejar el resto en blanco.
Cuando termine, haga clic en Save (Guardar) en la esquina superior derecha del
formulario.

Test Connection (Probar conexión), a su lado, prueba la conexión sin abrirla e informa de Connection successful. o del error exacto que devolvió la base de datos. El botón − situado bajo la lista elimina la conexión seleccionada; permanece deshabilitado para una conexión que esté abierta en una pestaña.
Contraseñas
El campo User Password (Contraseña de usuario) es opcional, y las dos opciones se comportan de forma distinta:
- Rellenado: la contraseña se guarda en la propia base de datos de configuración de OmniDB y se usa automáticamente cada vez que abre la conexión. Se cifra (AES-256-GCM) antes de guardarse, con una clave que se conserva en el almacén de secretos propio del sistema operativo (Keychain en macOS, Credential Manager en Windows, Secret Service en Linux) y no en el propio archivo, de modo que el archivo de la base de datos por sí solo ya no basta para leer las contraseñas que contiene. Si ese almacén no está disponible, OmniDB recurre a un archivo de clave guardado junto a la base de datos.
- En blanco: no se guarda nada y OmniDB pide la contraseña al abrir la conexión. Lo que escriba permanece únicamente en la memoria del servidor, para su sesión y esa conexión, durante 30 minutos; pasado ese tiempo, OmniDB vuelve a pedirla.
En PostgreSQL, OmniDB además busca la contraseña en su archivo .pgpass en el momento
de conectar, con la misma entrada que elegiría libpq, de modo que una conexión sin contraseña
guardada puede abrirse sin preguntar nada. En la aplicación de macOS en espacio aislado, el diálogo
de contraseña ofrece Conceder acceso a .pgpass…: usted señala el
archivo una vez y cada conexión posterior obtiene de él su propia contraseña.
Si la base de datos rechaza el intento, el diálogo permanece en pantalla mostrando el error que recibió OmniDB (fe_sendauth: no password supplied, un fallo de autenticación, un servidor caído, etc.), de modo que pueda corregir la contraseña y volver a intentarlo.
Importar conexiones desde .pgpass
El icono de importación de archivo, junto a los botones + y −, lee un archivo
.pgpass y crea una conexión PostgreSQL por cada línea concreta que contenga, como una
simple cadena de conexión postgresql://usuario@host:puerto/bd sin contraseña guardada:
la idea es seguir autenticándose desde ese archivo en vez de copiar contraseñas dentro de OmniDB.
Las líneas con comodines (*) se omiten, igual que cualquier línea que ya coincida con
una conexión existente.
Organizar la lista
- Orden: arrastre una fila a cualquier posición de la lista. La disposición se guarda por usuario y sobrevive tanto a una recarga como a un reinicio. Las conexiones que cree después se añaden al final.
- Grupos: el selector de la parte superior de la barra lateral filtra la lista a un solo grupo. + Group crea un grupo, y el botón … contiguo ofrece Rename (Renombrar), Manage Connections (Gestionar conexiones: convierte las filas en casillas para elegir qué conexiones pertenecen al grupo y confirmar con Save changes) y Delete (Eliminar).
- Conexiones públicas: el interruptor Public connection? (¿Conexión pública?) del formulario hace que la conexión sea utilizable por todos los demás usuarios de OmniDB. Solo su propietario puede editarla; los demás usuarios nunca ven su contraseña guardada (una contraseña incluida en su cadena de conexión se les muestra enmascarada), y su Probar conexión siempre prueba el servidor almacenado. El interruptor Public (n) del pie de la barra lateral muestra u oculta en su lista las conexiones públicas de otros usuarios.
- Entorno: etiquetar una conexión como Production, UAT, Development o Archive colorea su punto en la lista y el borde de su pestaña abierta; es sobre todo una señal de seguridad, para que echar mano de la pestaña equivocada resulte evidente.
Abrir una conexión
Haga clic en Connect (Conectar) en el formulario, o simplemente haga doble clic en una fila de la lista, y OmniDB la abrirá en una nueva pestaña externa de conexión (Connection Outer Tab), como veremos en el siguiente capítulo. Al hacer clic con el botón derecho en una fila se abre un menú contextual (Connect/Edit/Delete; Delete no aparece en una conexión ya abierta), y al hacerlo sobre un espacio vacío de la lista se ofrece New Connection/Refresh.
Uso de túneles SSH
OmniDB permite conectarse a cualquier base de datos remota a través de túneles SSH. Marque Use SSH tunnel (Usar túnel SSH) en el formulario de la conexión: eso habilita los campos que hay debajo:
- Servidor SSH: el servidor al que se conecta por SSH. Su clave de host debe figurar ya en el
archivo
~/.ssh/known_hostsdel usuario del sistema operativo que ejecuta OmniDB; de lo contrario, el túnel se rechaza (consulte Seguridad y servidor multiusuario); - SSH Port: el puerto del servidor SSH (el predeterminado es 22, pero puede ser cualquiera);
- SSH User: el nombre de usuario del sistema operativo con el que se conecta al servidor SSH;
- Password/Passphrase (Contraseña/frase de contraseña): la contraseña del usuario del sistema operativo (o la frase de contraseña de la clave de abajo). Si lo deja en blanco, OmniDB la pedirá cada vez que se abra el túnel, sin guardarla. Si rellena el campo SSH Key Text File, la contraseña es opcional;
- SSH Key Text File (Archivo de clave SSH): el contenido de la clave SSH privada local con la que puede conectarse al servidor SSH. OmniDB lee el archivo que elija y guarda su texto, no el archivo. Si rellena este campo, también puede rellenar Password/Passphrase, pero en ese caso será la frase de contraseña de la clave privada SSH.
Todo lo que guarde aquí —la contraseña SSH, la frase de contraseña y el texto de la clave— acaba en la misma base de datos de configuración local de OmniDB que las contraseñas de base de datos, y cifrado de la misma forma.
Al usar túneles SSH también debe rellenar todos los campos de la base de datos según corresponda. Pero, en lugar de ser relativos al servidor OmniDB, lo serán al servidor SSH. Esto puede darse en 2 escenarios, como se explica a continuación.
Si la base de datos está dentro del mismo servidor al que se conecta por SSH, tendrá una situación como esta:

En este escenario, el Server de la base de datos será 127.0.0.1, ya que la
base de datos está en la misma máquina que el SSH Server.
Pero la base de datos puede estar fuera del servidor SSH, así:

Aquí el Server de la base de datos debe ser 192.168.0.10, ya que es la
dirección con la que el servidor SSH llega al servidor de base de datos.