gpt4 book ai didi

sql - 从 bash 创建 postgresql 时出错 - 安装和导入

转载 作者:行者123 更新时间:2023-11-29 12:21:43 25 4
gpt4 key购买 nike

我正在尝试使用 postgreSQL 自动安装 debian,但我的脚本遇到了问题。将 schema.sql 导入 db1 的数据库似乎不起作用,我不确定我是否正确创建了数据库。

这是我使用的代码:

 # POSTGRES
apt-get install -y postgresql
echo "CREATE ROLE deploy LOGIN ENCRYPTED PASSWORD '$APP_DB_PASS';" | sudo -u postgres psql
su postgres -c "createdb db1 --owner deploy"
su postgres -c "createdb db2 --owner deploy"
service postgresql reload

# IMPORT SQL
psql --username=postgres spider < /etc/schema.sql

当我尝试查看数据库是否已创建时,出现以下错误并且 SQL 导入似乎不起作用。

root@li624-168:/etc/app# psql -U root spider                                                        
psql: FATAL: role "root" does not exist

root@li624-168:/etc//app# psql -U deploy spider
psql: FATAL: Peer authentication failed for user "deploy"

谁能告诉我哪里出错了?

最佳答案

首先,确保在执行命令时检查结果代码。您可以通过在顶部添加 set -e 来中止 bash 脚本。如果任何单个命令失败,它将立即停止。

其次,再看一下错误信息:

Peer authentication failed for user "deploy"

您正在尝试以“deploy”身份登录,它似乎可以识别用户名。但是,您的操作系统用户不称为“部署”,所以 peer auth fails .看起来你想使用密码登录,所以设置你的 pg_hba.conf文件以允许这样做。

关于sql - 从 bash 创建 postgresql 时出错 - 安装和导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18377726/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com