如何使用shell脚本连接到postgresql数据库

时间:2015-07-07 09:00:38

标签: shell psql

我想编写一个shell脚本来运行这些命令。我通常使用以下命令从终端连接

    //first go to the directory 
     cd /opt/novell/sentinel/3rdparty/postgresql/bin/
    // then type following
     export LD_LIBRARY_PATH=/opt/novell/sentinel/3rdparty/postgresql/lib/
    // then fire following command 
     ./psql --host 127.0.0.1 --port 5432 --dbname=SIEM --username=dbauser
     Password for user dbauser: ****

1 个答案:

答案 0 :(得分:7)

为什么不通过向.profile这些行添加来永久更新您的PATH并导出LD_LIBRARY_PATH:

PATH=/opt/novell/sentinel/3rdparty/postgresql/bin/:$PATH
export LD_LIBRARY_PATH=/opt/novell/sentinel/3rdparty/postgresql/lib/

然后使用脚本连接DB,如下所示

#!/bin/sh
psql --host=127.0.0.1 --port=5432 --dbname=SIEM --username=dbauser

运行脚本后,系统将询问您密码。

如果您不希望每次都输入密码,可以使用密码文件.pgpass(有关详细信息,请参阅CSVImproved),只需将~/.pgpass添加到以下行:

127.0.0.1:5432:SIEM:dbauser:your_password

安全,不允许任何访问世界或群组:

chmod 0600 ~/.pgpass.

在此之后,您可以使用上面的脚本连接到您的数据库而无需密码提示。