为了账号安全,请及时绑定邮箱和手机立即绑定

Postgres createdb 从 php exec 运行

Postgres createdb 从 php exec 运行

PHP
郎朗坤 2022-07-22 19:32:16
我有一个可以使用(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 再次询问用户的版本,但如果你找到一个用户不必输入两次密码的解决方案,那就太酷了
查看完整描述

1 回答

?
慕工程0101907

TA贡献1887条经验 获得超5个赞

为什么要使用操作系统命令?你可以用 SQL 做同样的事情:只需连接到postgres数据库(或任何其他数据库)并运行

CREATE DATABASE dbname


查看完整回答
反对 回复 2022-07-22
  • 1 回答
  • 0 关注
  • 149 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号