在 shell 脚本中使用 psql 创建数据库将用户名作为数据库名称

2024-02-02

以下是我用来在 shell 脚本中创建数据库的命令

psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" \
            -c "CREATE DATABASE $database;"

它抛出错误

FATAL:  database "POSTGRES_USER" does not exist

如果我打印 $database 和 $POSTGRES_USER 它们会显示正确的值,但是当此命令因某种原因运行时,用户名将作为数据库名称传递。

有什么线索我可能会错过吗?

======

function create_db() {
    local database=$1
    local query_databases="select datname from pg_database;"
    local databases=$(echo "$query_databases" | psql -Aqt)
//this do not return any database but I have one db
    database_exist=$(containsElement "$databases" "$database")
    echo $database_exist;

    if [[ "$database_exist" == 1 ]]; then
        echo "Database '$database' exists. Skipping."
    else
        echo "Create Database '$database'"
        psql -v ON_ERROR_STOP=1 --username=$POSTGRES_USER \
             -c "CREATE DATABASE $database;"
    fi

}

参考自——https://github.com/mrts/docker-postgresql-multiple-databases/pull/10/files https://github.com/mrts/docker-postgresql-multiple-databases/pull/10/files


您需要删除"在命令中。

psql -v ON_ERROR_STOP=1 --username $POSTGRES_USER -c "CREATE DATABASE $database;"

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 shell 脚本中使用 psql 创建数据库将用户名作为数据库名称 的相关文章

  • SQL Server 将一个表中的所有行复制到另一个表中,即重复表

    我想保留一张桌子作为历史并用空桌子替换它 我如何通过 Management Studio 执行此操作 将您的表复制到要存档的表中 SELECT INTO ArchiveTable FROM MyTable 删除表中的所有条目 DELETE
  • Linux shell 从用户输入中获取设备 ID

    我正在为一个程序编写安装脚本 该程序需要在其配置中使用 lsusb 的设备 ID 因此我正在考虑执行以下操作 usblist lsusb put the list into a array for each line use the arr
  • 如何使用 git hook pre-merge-commit 获取原始合并分支名称

    我正在尝试使用新的 git hook pre merge commit 创建一个特定的脚本 但它没有参数 有什么解决方法可以让我获得正在合并的分支的名称吗 例子 在分支 myBranch 上 我调用 git merge testingBra
  • 在电话字段的前 3 个字符(区号)上创建索引?

    我有一个 Postgres 表 其中电话字段存储为varchar 10 但我们经常搜索区号 例如 select from bus t where bus phone like 555 我想创建一个索引来促进这些搜索 但在尝试时出现错误 CR
  • 如何在sqlite中创建物化视图?

    我对物化视图和 SQLite 进行了无数次搜索 据我所知 2004 年和 2006 年似乎有人提到 SQLite 没有物化视图 紧随其后的是 SQLite 的变更日志2008年3月 http www sqlite org releaselo
  • 退出代码大于 255 — 可能吗?

    如果是 在哪个操作系统 shell 或其他操作系统上 考虑以下 Java 程序 我使用 Java 只是作为示例 任何语言都适合这个问题 这更多地与操作系统有关 public class ExitCode public static void
  • java.sql.Timestamp 到微秒精度的字符串

    我正在将时间戳列从数据库读取到 java sql Timestamp 对象中 然后我想将时间戳的值转换为 String 对象 但保持微秒精度 调用 toString 方法让我接近 但它似乎在微秒内丢失了尾随零 如果时间戳以非零数字结尾 则一
  • 将两行中相似的列数据合并到一行中

    我的查询结果具有以下特征 LIDCode Total Domain Region VSE Version AB02 15 GLOBAL CANLA 0 6943 AB02 5925 CENTRE STREET SW 31 GLOBAL CA
  • 创建表作为 select 删除 postgresql 中的非空约束

    在 postgres sql 中 创建表时 select 删除了表上的非空约束 例如 对此没有单一命令的解决方案 要基于现有表 包括所有约束 创建表 请使用 create table B like a including constrain
  • Gorm 总是返回带有 nil 值的结构

    我正在使用 Gorm 构建 Go Web API 作为 Amazon RDS 中 Postgresql 数据库的 ORM 问题是 Gorm 总是返回一片结构 其值全部为零 尽管数据库已经填充了数据 切片中的结构体数量是否合适取决于LIMIT
  • TOAD 将 &String 视为绑定变量

    我正在使用 Oracle Data Integrator 开发一些 ETL 有时会使用 TOAD 测试部分代码 今天我遇到了 TOAD 的问题 我有一行像 AND column value like DEV PROD 当我尝试运行包含上面过
  • 类似 jq 中的 sql join

    我有以下 json id 1 type folder title folder 1 id 2 type folder title folder 2 id 3 type item title item 1 folder 1 id 4 type
  • 数据库错误:值对于类型字符变化来说太长(100)

    我有一个 Django 网站 运行我们几年前在内部构建的迷你 CMS 它使用 postgresql 保存简单的标题和一段文本时 出现以下错误 value too long for type character varying 100 奇怪的
  • Oracle 中的 SQL 调优 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有任何文章 链接可以让我找到 SQL 调优 Oracle 的示例 如果能用例子来解释那就太好了 我需
  • 如何在 pgAdmin III 中为多个表生成 CREATE 脚本?

    在 pgAdmin III 中您可以 右键单击表格 scripts 创建脚本 从 SQL 编辑器保存脚本 如果必须对多个表执行此操作 是否有一种方法可以将脚本合并到一个文件中 除了手动复制粘贴它们之外 如果这可以通过 psql 提示符或 p
  • sql查询将两列与一列连接起来

    我在 MS Access 2010 中有 2 个表 如下所示 USERS u id u name LOAN l id l from ref users u id l to ref users u id l amount Users u id
  • Postgres jsonb数组:查询非空交集

    假设我有一个名为的 JSONB 列value在表中t 这些 JSON 的内部是tags字段是字符串列表 我想对这些标记的 JSON blob 进行查询 foo or bar 所以假设表数据如下所示 value tags other tags
  • 使用 Spark DataFrame 获取组后所有组的 TopN

    我有一个 Spark SQL DataFrame user1 item1 rating1 user1 item2 rating2 user1 item3 rating3 user2 item1 rating4 如何按用户分组然后返回TopN
  • 将 JSON 导出到环境变量

    如果我有这样的 JSON hello1 world1 testk testv 我想将每个键值对导出为环境变量 如何通过 shell 脚本来做到这一点 例如 当我在终端上写时 echo hello1 world1应该打印其他键值对吗 注意 上
  • 连接两个表的查询的 SQL Server“FOR XML”输出

    我是 SQL Server 中 FOR XML 功能的新手 我正在使用 SQL Server 2012 我有两个表 Word 和 Word Expansion 样本数据 表 字 WordOID Word 1 PIPE 2 WIRE 表 Wo

随机推荐

  • Spring Data JPA findBy 集合[重复]

    这个问题在这里已经有答案了 我正在使用 JPA 使用 Java 开发路线规划系统 我需要创建一个 findBy 方法来通过其包含的城市列表查找路线 以下是课程 Entity public class Route ManyToMany cas
  • 自定义从 UITextView 打开的自动 MFMailComposeViewController

    我有一个简单的UITextView其中有一个电子邮件链接 文本视图是可选择的并检测链接 这样 您可以单击电子邮件 它会以模式方式打开MFMailComposeViewController视图控制器 但是 我在应用程序启动时做了一些自定义 U
  • 当应用程序在 Android 10 中被杀死时,WorkManager 无法工作,尽管在版本 9 之前工作正常(Pie)

    当应用程序被 Android 10 中的后台任务杀死时 我没有通过 Workmanager 收到通知 我发现了这个问题 它适用于所有 Android 版本 直到 Andorid 9 为了测试这一点 我在 9 和 10 版本上同时运行该应用程
  • 使用 DTE.ExecuteCommand 响应对话框

    有没有办法说Yes or No or OK使用以下命令打开 Visual Studio 2015 时出现对话框 消息框EnvDTE 我尝试在盒子打开时调试我的应用程序 但我不知道要寻找什么 我也尝试过在内部搜索这个命令列表 https gi
  • 关闭Excel应用程序的正确方法

    我正在编写一个应用程序 它使用以下代码访问 Excel 文件 RBTApplication new Excel Application RBTWorkbooks RBTApplication Workbooks RBTWorkbook RB
  • C++中如何判断一个指针指向什么类型的对象?

    假设我有class SuperClass public int a and class SubClass SuperClass public int b 我获取了一个指向子类实例的指针SubClass subPointer并将该指针寻址到超
  • 如何检查客户端网络/防火墙上的端口是否打开?

    最后通过 jQuery AJAX 和 JSONP 的 超时 属性解决了这个问题 看我自己的回答 请参阅更新的部分 我也尝试过使用小程序 如果您能提供小程序实现的解决方案 我们将毫不犹豫地接受您的答案 我正在使用基于 Java 的 Web 应
  • 如何在 React Native 中添加按钮网格样式?

    我最近将手放在了 React Native 上 并尝试将按钮动态添加到视图中 我想要一个像这样的结构 在引导程序中我会添加一个带有 col md 4 的类 A A A A A A A A A A A A 我已经可以添加按钮 但它们总是出现在
  • .NET / C# 的线性编程库 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要求解欠定线性方程组和约束 然后找到最小化成本函数的特定解决方案 这需要通过在 NET 和 Mon
  • 如何在谷歌地图目标c上旋转自定义标记图像

    目前我正在开发一个像 Uber iOS 应用程序这样的应用程序 我已经集成了 Google Maps SDK 并且还显示了用户当前位置的自定义图像 目前我正在从服务器获取一些驾驶员当前位置详细信息 例如 100 个驾驶员 我保存在一个NSA
  • 我不清楚应用函子评估

    我目前正在阅读 Learn a Haskell for Great Good 并且我偶然发现了对某个代码块的评估的解释 我已经阅读了几次解释 并且开始怀疑作者是否理解这段代码的作用 ghci gt lt gt 3 lt gt 100 5 5
  • Android SearchView 过滤器 ListView

    我已在 SherlockAction Bar 中的 SearchView 中实现了搜索过滤器 当我输入 m 时 我想在下面的列表视图中显示过滤结果 该结果仅以 M 开头 依此类推 但现在它显示随机结果 public boolean onQu
  • matplotlib 需要 pyparsing

    我正在尝试使用 matplotlib 绘制一些数据 导入库时 出现错误 ImportError matplotlib requires pyparsing 我使用安装了 pyparsingeasy install pyparsing 但错误
  • 从 Access 数据库获取数据的正确方法

    我对如何从访问数据库获取数据有点困惑 首先将其收集在列表中然后从列表中获取这些数据是否正确 或者直接将其获取到数据库中是否可以 我的代码工作得很好 但我想知道是否有更好的方法来做到这一点 private void button3 Click
  • 为什么我不应该使用 Process.GetCurrentProcess().Kill() 退出我的 WinForm 应用程序?

    现在 当用户想要退出我的应用程序时 我必须执行一些操作 即与服务器断开连接 保存用户数据 然后执行以下操作 使用布尔值退出所有主循环 中止仍在运行的线程 通常是我的服务器轮询线程 请调用Application Exit 这需要几秒钟才能退出
  • 点击显示更多 - 也许是 JS?

    我不确定使用什么语言或如何执行此操作 但我希望在页面上有一个单词 当单击时 它会在下面显示更多内容 再按一下 那东西又会隐藏起来吗 有任何想法吗 基本上 您需要操纵display要隐藏 显示的元素的 CSS 属性 span Show spa
  • 如何使用Spring响应式增量进度更新来逐一处理每个产品?

    我需要有关 Spring Reactive 的帮助 其中休息调用会发布 Json 对象列表 并且 Spring Boot 服务器应一一发送处理事件 让我用一个例子来简单解释一下 假设前端 UI 中有 20 个产品 用户选择所有要处理的产品
  • PHP:如何使用 HTTP-Basic 身份验证发出 GET 请求

    我想从此端点获取交易状态 https api sandbox midtrans com v2 orderid status 但它需要一个基本的身份验证 当我将其发布到 URL 上时 我得到的结果是 status code 401 statu
  • ASIHTTPRequest 构建/链接错误

    void getFacebookProfile NSString urlString NSString stringWithFormat https graph facebook com me access token accessToke
  • 在 shell 脚本中使用 psql 创建数据库将用户名作为数据库名称

    以下是我用来在 shell 脚本中创建数据库的命令 psql v ON ERROR STOP 1 username POSTGRES USER c CREATE DATABASE database 它抛出错误 FATAL database