我有一个可以使用(sql ddl)创建数据库的安装脚本create database if not exist。
由于 Postgres 的工作方式不同,因此脚本不起作用。
所以我为 Postgres 构建了一个特例,并使用
(命令行)createdb -U ...命令生成数据库。
到目前为止它工作正常,但 Postgres 再次请求密码。
在这个线程之后我发现
我可以使用 var PGPASSWORD 提供密码
在这个线程之后我想出了一个解决方案:
(php)
exec(' set PGPASSWORD=$password && createdb -U "$username" -h "$host" "$dbname" ')(简化转义)
但这会返回一个错误:
createdb: could not connect with template1: FATAL: Password authentication for user »postgres« failed (translated)
我不熟悉命令行及其特性 ->
我不确定我是否在那里犯了一个严重的未被注意到的错误,如果我犯了,我很抱歉
我现在将实现一个 Postgres 再次询问用户的版本,
但如果你找到一个用户不必输入两次密码的解决方案,那就太酷了
慕工程0101907