非交互方式指定psql,pg_dump密码

2023年 8月 15日 40.4k 0

psql 和 pg_dump 等工具连接PostgreSQL数据库时,通过-W参数,在终端以交互方式输入密码,很多时候,我们希望使用脚本调用psql或者pg_dump做一些自动化的操作,那么此时如何以非交互方式指定密码?

方法一,环境变量

设置环境变量PGPASSWORD,psql 和 pg_dump 等工具会自动读取环境变量PGPASSWORD的值作为连接密码。

示例:

export PGPASSWORD=123456
psql -h 127.0.0.1 -U admin -p 5432 db

方法二,.pgpass文件

使用配置文件~/.pgpass

~/.pgpass文件内容格式如下:

hostname:port:database:username:password

示例:

vim ~/.pgpass
192.168.56.200:5433:db:admin:123456

psql -h 192.168.56.200 -U admin -p 5433 db

当psql使用的参数与~/.pgass行内容匹配时,就会使用匹配到的那一行的密码作为psql的连接密码。

方法三,连接字符串

psql 的参数放在双引号里面,类似于连接字符串的用法,如下:

psql "host=127.0.0.1 port=5432 dbname=postgres user=admin password=123456"

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论