Estou usando Fedora 17
e pgadmin3
para conectar-se automaticamente a um postgresql
banco de dados com um clique de botão.
Toda vez que quero executar uma instrução SQL, tenho que executar 4 etapas (abrir pgadmin3), (conectar ao servidor), (conectar ao banco de dados), (abrir uma janela de consulta), (abrir um arquivo anterior) e FINALMENTE posso executar minha instrução SQL. Quero que tudo isso seja feito com um clique.
pgadmin3 parece ter recursos para fazer todo esse trabalho para você na linha de comando:
el@defiant ~ $ pgadmin3 --help
Usage: pgadmin3 [-h] [-s <str>] [-S] [-Sc <str>] [-q] [-qc <str>] [-f <str>] [-cm <str>] [-ch <str>] [-cp <str>] [-c <str>] [-t]
-h, --help show this help message
-s, --server=<str> auto-connect to specified server
-S, --serverstatus open server status window
-Sc, --serverstatusconnect=<str> connect server status window to database
-q, --query open query tool
-qc, --queryconnect=<str> connect query tool to database
-f, --file=<str> file to load into the query tool in -q or -qc mode
-cm:<str> edit main configuration file
-ch:<str> edit HBA configuration file
-cp:<str> edit pgpass configuration file
-c:<str> edit configuration files in cluster directory
-t dialog translation test mode
Mas não consigo fazê-lo funcionar, posso conectar-me ao banco de dados ou abrir o arquivo que desejo. Não parece permitir que eu me conecte simultaneamente a um servidor, conecte-se a um banco de dados específico, abra uma janela de consulta e abra um arquivo sql anterior.
Quais são os comandos adequados para conectar ao servidor, banco de dados e abrir um editor de consultas e carregar um arquivo nele? Eu tentei centenas de variações, mas o pgadmin3 simplesmente não faz nada e não dá uma mensagem de erro, ou faz apenas parte do que eu disse para fazer sem nenhuma mensagem de erro.
Este é o comando que estou usando, ele abre meu arquivo, mas se conecta ao banco de dados errado e tenho que alterá-lo manualmente. A opção de linha de comando para escolher o banco de dados não funciona.
pgadmin3 --file=/home/el/Desktop/sqlfile_for_postgresql.sql --query --server=defiant
Encontrei a resposta para o meu problema. A ferramenta pgadmin3 não permitirá que você especifique um servidor e um banco de dados. O próprio servidor TEM um banco de dados padrão e quando você o seleciona com a
--server
opção, não permite que você escolha um banco de dados. Uma mensagem de erro teria sido bom!O servidor 'defiant' que fiz tem em si uma conexão padrão com um banco de dados, você deve definir esse banco de dados padrão e não pode usar as opções de linha de comando para alterá-lo.
Primeiro, você deve ser desconectado da conexão padrão com o servidor que deseja editar. Faça uma nova conexão com um servidor ou edite a existente clicando com o botão direito do mouse em seu servidor, o meu é:
defiant(localhost:5432)
.Em seguida, clique com o botão direito do mouse, vá para propriedades, você verá um campo chamado `maintenance DB', faça com que a conexão com o banco de dados que você deseja seja o padrão para esta conexão do servidor. Eu configurei o meu para kurz_prod. Clique em OK e reinicie.
Então o seguinte comando funciona. Ele abre o pgadmin3, obtém uma conexão com o servidor e o banco de dados que eu especifico, abre uma janela de consulta, carrega um arquivo anterior que eu especifico nele. E imediatamente posso executar declarações contra isso.
Este comando está correto ao abrir um arquivo sql com conexão a um servidor e banco de dados: