.net电商网站开发,网站如何绑定虚拟主机,企业网站营销实现方式解读,生产企业展厅设计如何免密使用PostgreSQL数据库内置工具 方法 1#xff1a;使用 .pgpass 文件自动输入密码步骤#xff1a; 方法 2#xff1a;使用环境变量 PGPASSWORD步骤#xff1a; 我们在PostgreSQL数据库自带的各种工具时#xff0c;每次使用都要输入数据库密码。比如在使用pg_dump 备… 如何免密使用PostgreSQL数据库内置工具 方法 1使用 .pgpass 文件自动输入密码步骤 方法 2使用环境变量 PGPASSWORD步骤 我们在PostgreSQL数据库自带的各种工具时每次使用都要输入数据库密码。比如在使用pg_dump 备份数据库数据时使用 pg_restore 恢复数据库数据时。或者是在使用 pgbench 工具测试数据库性能时每跑一个用例都要输入一次数据库密码这里我们通过配置的方式以后再使用这些工具就不需要输入数据库密码了。 我们下面以使用 pg_restore 工具恢复数据为例进行演示。在使用 pg_restore 恢复数据时如果需要在后台运行并输入密码可以通过以下方法解决密码输入问题同时将日志输出到文件中 方法 1使用 .pgpass 文件自动输入密码
PostgreSQL 支持通过 .pgpass 文件自动提供密码避免手动输入。
步骤 创建 .pgpass 文件 在用户的主目录下创建 .pgpass 文件如果不存在并设置权限为 600仅用户可读写。我是使用 root 用户执行所以直接在 /root/ 目录下创建该文件。 touch ~/.pgpass
chmod 600 ~/.pgpass编辑 .pgpass 文件 在 .pgpass 文件中添加以下内容 hostname:port:database:username:password例如 localhost:5432:database_test:test_user:test_passwordhostname: 数据库主机port: 数据库端口PostgreSQL数据库默认是 5432database: 数据库名称username: 数据库用户名password: 数据库密码 运行 pg_restore 使用 nohup 和重定向运行 pg_restore此时不需要手动输入密码 nohup pg_restore -U your_username -d database_name backup_file.dump restore.log 21 我在服务器上使用 root 用户成功执行该命令不需要输入数据库密码。 方法 2使用环境变量 PGPASSWORD
可以通过设置环境变量 PGPASSWORD 来提供密码。
步骤 设置环境变量 在运行 pg_restore 之前设置 PGPASSWORD 环境变量 export PGPASSWORDyour_password运行 pg_restore 使用 nohup 和重定向运行 pg_restore nohup pg_restore -U your_username -d your_database_name your_backup_file.dump restore.log 21 PS这种方法会将密码暴露在命令行历史中可能存在安全风险。