Postgresql:使用密码编写psql执行脚本

如何调用psql,使其不提示输入密码

这就是我所拥有的:

psql-Umyuser<myscript.sql

但是,我找不到传递密码的参数,因此psql总是提示输入密码

您可能希望阅读PostgreSQL身份验证方法的摘要

要回答您的问题,有几种方法可以为基于密码的身份验证提供密码:

  1. 通过密码提示。例如:

    psql-huta.biocommons.org-U foo
    用户foo的密码:
    
  2. pgpass文件中的。请参阅libpq pgpass。格式:

    <主机>:&书信电报;端口>:&书信电报;数据库>:&书信电报;用户>:&书信电报;密码>
    
  3. 使用PGPASSWORD环境变量。请参阅libpq envars。例如:

    导出PGPASSWORD=yourpass
    psql。。。
    #或仅在此调用的一行中:
    PGPASSWORD=yourpass psql。。。
    
  4. 在连接字符串中可以在连接字符串/URI中指定密码和其他选项。请参阅应用程序psql。例如:

    psqlpostgresql://username:[email protected]:5433/mydb?sslmode=require
    

发表评论