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

How to connect to postgresql database using shell script

我想为 运行 这些命令编写一个 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: ****

为什么不更新您的 PATH 并永久导出 LD_LIBRARY_PATH,方法是在您的 .profile 中添加以下行:

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(详见 documentation),只需在 ~/.pgpass 中添加以下行:

127.0.0.1:5432:SIEM:dbauser:your_password

安全起见,禁止对世界或群组的任何访问:

chmod 0600 ~/.pgpass.

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