.NET

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.

The Connections section with the connection form

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:

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

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:

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.