.NET

Criar Utilizadores e Ligações

Iniciar sessão como o utilizador admin

O OmniDB vem apenas com o utilizador admin. Se estiver a usar a versão servidor, a primeira coisa a fazer é iniciar sessão como admin com a palavra-passe aleatória de utilização única que o omnidb-server mostrou na sua saída de registo ao criar uma nova base de dados da aplicação (a linha que contém initial login: admin / …) e, em seguida, alterá-la em Definições. Se essa palavra-passe se perder, pode repô-la com omnidb-server --set-password admin. Após 10 tentativas de início de sessão falhadas para o mesmo nome de utilizador ou o mesmo endereço IP do cliente, o início de sessão fica bloqueado durante 15 minutos. A aplicação de ambiente de trabalho não tem qualquer início de sessão: funciona como um único utilizador local, pelo que tudo o que diz respeito à gestão de utilizadores descrita abaixo simplesmente não existe lá.

Orientar-se na interface

Toda a área de trabalho é comandada a partir da barra vertical de ícones na margem esquerda da janela: Boas-vindas, Ligações (o ícone da ficha), Base de dados, Monitorização, Notificações, Permissões, Utilizadores ligados e Snippets no topo, e Introdução, Conta (apenas na versão servidor) e Definições (a roda dentada) em baixo. Passar o rato sobre um ícone mostra o seu nome. Consulte Gerir Bases de Dados para ver como as secções funcionam em conjunto, e Definições e Idiomas para o idioma da interface e outras preferências.

Criar outro utilizador

Abra Settings (Definições) no fundo da barra, escolha a categoria Account (Conta) e clique em Manage Users (Gerir utilizadores). Só um super-utilizador tem esse botão: nas definições de um utilizador normal a secção Account nem sequer aparece.

A janela User management (Gestão de utilizadores) lista os utilizadores existentes. Clique em Add new user (Adicionar novo utilizador, o ícone da pessoa com um mais) para inserir uma nova linha de utilizador vazia, mostrada como (pending info) até a preencher. Preencha o Nome de utilizador e a Nova palavra-passe, ative Superutilizador? se o novo utilizador o deve ser e clique em Save (Guardar). Pode criar tantos utilizadores quantos quiser, editar os existentes e eliminar um clicando na cruz vermelha na coluna de ações.

Para terminar a sessão, clique no ícone Account (Conta, a pessoa no fundo da barra) e depois em Sign out (Terminar sessão).

Eliminar um utilizador, ou retirar-lhe o estatuto de superutilizador, tem efeito imediato, incluindo nas sessões desse utilizador que já estejam abertas.

A secção Connections

Clique no ícone da ficha na barra. As ligações são uma secção completa da área de trabalho e não uma janela emergente: uma vista dividida com a lista de ligações guardadas na barra lateral esquerda e, à direita, o formulário e os botões da ligação selecionada.

Cada linha da lista mostra o ícone do motor de base de dados, o nome da ligação e, por baixo, o utilizador@servidor:porta para onde aponta (ou a cadeia de ligação, ou o destino SSH no caso de uma ligação de terminal). Um pequeno ponto colorido indica o ambiente da ligação e um ícone de chave assinala uma ligação que passa por um túnel SSH.

Criar ligações

O OmniDB suporta PostgreSQL, MySQL, MariaDB, Oracle, MS SQL Server, Firebird e SQLite, além de um tipo de ligação Terminal que abre uma shell SSH em vez de uma base de dados. A lista Tipo de ligação mostra primeiro o PostgreSQL, depois os restantes por ordem alfabética e, por último, Terminal.

No caso do SQLite, a ligação aponta para um ficheiro de base de dados (na máquina onde o omnidb-server é executado); se o ficheiro ainda não existir, o Testar ligação indica-o e o ficheiro é criado quando usar a ligação pela primeira vez. Num servidor multiutilizador, as ligações SQLite estão reservadas a superutilizadores, e alguns parâmetros da cadeia de ligação do PostgreSQL que leem ficheiros no servidor são rejeitados — consulte Segurança e Servidor Multiutilizador.

O botão + por baixo da lista cria uma ligação. Escreva o nome no cabeçalho do formulário à direita, escolha o Connection Type (tipo de ligação) e preencha o cartão Host Connection Info (dados do servidor): Server, Port, Database, User e, opcionalmente, User Password. Em vez desses campos individuais pode preencher uma única Connection string (cadeia de ligação, por exemplo postgresql://postgres@localhost:5432/postgres) e deixar o resto em branco. No fim, clique em Save (Guardar) no canto superior direito do formulário.

The Connections section with the connection form

O Test Connection (Testar ligação), ao lado, experimenta a ligação sem a abrir e comunica Connection successful. ou o erro exato devolvido pela base de dados. O botão − por baixo da lista elimina a ligação selecionada; fica desativado para uma ligação que esteja aberta num separador.

Palavras-passe

O campo User Password (palavra-passe do utilizador) é opcional e as duas hipóteses comportam-se de forma diferente:

No caso do PostgreSQL, o OmniDB procura ainda a palavra-passe no seu ficheiro .pgpass no momento da ligação, escolhendo a mesma entrada que a libpq escolheria — uma ligação sem palavra-passe guardada pode assim abrir-se sem qualquer pergunta. Na aplicação macOS em sandbox, a caixa da palavra-passe oferece Grant access to .pgpass… (Conceder acesso ao .pgpass): indica o ficheiro uma vez e, a partir daí, cada ligação obtém dele a sua própria palavra-passe.

Se a base de dados recusar a tentativa, a caixa permanece no ecrã com o erro que o OmniDB recebeu (fe_sendauth: no password supplied, uma falha de autenticação, um servidor em baixo, etc.), para que possa corrigir a palavra-passe e tentar de novo.

Importar ligações a partir do .pgpass

O ícone de importação de ficheiro, junto aos botões + e −, lê um ficheiro .pgpass e cria uma ligação PostgreSQL por cada linha concreta que ele contenha, como uma simples cadeia postgresql://utilizador@host:porta/bd sem palavra-passe guardada: a ideia é continuar a autenticar-se a partir desse ficheiro em vez de copiar palavras-passe para dentro do OmniDB. As linhas com caracteres universais (*) são ignoradas, tal como qualquer linha que já corresponda a uma ligação existente.

Organizar a lista

Abrir uma ligação

Clique em Connect (Ligar) no formulário, ou faça simplesmente duplo clique numa linha da lista, e o OmniDB abre-a num novo separador exterior de ligação (Connection Outer Tab), como veremos no capítulo seguinte. Clicar com o botão direito numa linha abre um menu de contexto (Connect/Edit/Delete — Delete não aparece numa ligação já aberta) e clicar com o botão direito num espaço vazio da lista oferece New Connection/Refresh.

Utilizar túneis SSH

O OmniDB permite ligar-se a qualquer base de dados remota através de túneis SSH. Assinale Use SSH tunnel (Utilizar túnel SSH) no formulário da ligação: isso ativa os campos por baixo:

Tudo o que aqui guardar — palavra-passe SSH, frase-passe e texto da chave — vai parar à mesma base de dados de configuração local do OmniDB onde ficam as palavras-passe das bases de dados, cifrado da mesma forma.

Ao usar túneis SSH também tem de preencher todos os campos da base de dados em conformidade. Mas, em vez de serem relativos ao servidor OmniDB, serão relativos ao servidor SSH. Isto pode acontecer em 2 cenários, explicados a seguir.

Se a base de dados estiver dentro do mesmo servidor a que se liga por SSH, terá uma situação como esta:

Neste cenário, o Server da base de dados será 127.0.0.1, pois a base de dados está na mesma máquina que o SSH Server.

Mas a base de dados pode estar fora do servidor SSH, assim:

Aqui o Server da base de dados tem de ser 192.168.0.10, pois é o endereço com que o servidor SSH alcança o servidor de base de dados.