我正在使用Fedora 17
并pgadmin3
通过单击按钮自动连接到postgresql
数据库。
每次我要运行一条SQL语句,我必须做4个步骤,(打开pgadmin3),(连接到服务器),(连接到数据库),(打开一个查询窗口),(打开一个以前的文件)然后最后我可以运行我的 SQL 语句。我希望这一切只需单击一下即可完成。
pgadmin3 似乎具有在命令行上为您完成所有这些工作的功能:
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
但我无法让它工作,我可以连接到数据库或打开我想要的文件。它似乎不允许我同时连接到服务器、连接到特定数据库、打开查询窗口和打开以前的 sql 文件。
连接到服务器、数据库并打开查询编辑器并将文件加载到其中的正确命令是什么?我已经尝试了一百种变体,但 pgadmin3 要么什么都不做也不给出错误消息,要么它只做了我告诉它要做的一部分而没有错误消息。
这是我正在使用的命令,它确实打开了我的文件,但它连接到错误的数据库,我必须手动更改它。选择数据库的命令行选项不起作用。
pgadmin3 --file=/home/el/Desktop/sqlfile_for_postgresql.sql --query --server=defiant
我找到了问题的答案。 pgadmin3 工具不会让您同时指定服务器和数据库。服务器本身有一个默认数据库,当您使用该
--server
选项选择它时,它不会让您选择一个数据库。错误消息会很好!我制作的“挑衅”服务器本身有一个到数据库的默认连接,您必须设置该默认数据库,并且不能使用命令行选项来更改它。
首先,您必须断开与要编辑的服务器的默认连接。要么与服务器建立新连接,要么通过右键单击您的服务器来编辑现有的连接,我的是:
defiant(localhost:5432)
.然后右键单击它,转到属性,您会看到一个名为“维护数据库”的字段,将与您想要的数据库的连接设为此服务器连接的默认值。我将我的设置为 kurz_prod。单击确定并重新启动。
然后下面的命令工作。它打开 pgadmin3,它获得到我指定的服务器和数据库的连接,它打开一个查询窗口,它加载我指定的以前的文件。我可以立即对它运行语句。
此命令在打开连接到服务器和数据库的 sql 文件时是正确的: