我有一个问题我无法解决。我正在使用YAML将CSV加载到gpdb表。我想避免硬编码数据库登录详细信息(主机,ID,密码)。 YAML不支持包含或导入选项。如何将存储在第二个文件中的凭据连接或调用到用于执行的YAML脚本中的正确位置?
---
VERSION:
DATABASE: dbname # <- these should be dynamic
USER: user # <-
PASSWORD: itsasecret # <-
HOST: server_address # <-
PORT: 1234 # <-
GPLOAD:
input...
output...
答案 0 :(得分:1)
您可以使用命令行参数调用gpload来指定主机和用户,并将它们从YAML文件本身中取出:
gpload -f yourfile.yml -h database_server_name -U user_login_name
您可以将密码设置为:
带有密码的 $PGPASSWORD
环境变量
$PGPASSFILE
环境变量指向具有该用户密码的文件
将登录信息放在.pgpass
如果您不希望将密码存储在某个文件中,可以在命令行中添加-W
以强制提示密码。