使用 \copy 时的 Postgres 变量替换

2023-12-10

我正在使用 psql 命令 \copy 并且我想从 shell 向它传递一个变量(用于表名),就像我在编写查询脚本时所做的那样。我在文档中读到:

该命令的语法与 SQL COPY 命令类似。请注意,因此,特殊的解析规则适用于 \copy 命令。特别是,变量替换规则和反斜杠转义不适用。

这似乎很明确,但我想知道是否有人知道解决方法?


您可以使用带有heredoc语法的shell变量替换。例子:

#!/bin/sh
tablename=foo
psql -d test <<EOF
\copy $tablename FROM '/path/to/file'
EOF
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 \copy 时的 Postgres 变量替换 的相关文章

随机推荐

  • Mongo 查找数组包含给定数组的 x 值的文档

    我有一个收藏 其中有类似的文件 实体字段并不是在每个文档中都设置的 并且具有不同的值 id ObjectId 5388cfbdec82ba7cd5438635 name Name1 entity Entity1 Entity2 Entity
  • Flask-sqlalchemy 中多对多多...关系的多辅助表

    许多问题都是关于多对多的问题 可以使用辅助表来解决 但是多 多 多怎么样 如果存在一种更优雅的方法来处理这个问题 我试图提出一个问题https github com pallets flask sqlalchemy issues 710 但
  • Python 多个 telnet 会话

    我需要构建一个脚本来获取尽可能多的主机的 telnet 输出 并将它们保存到每个主机的单独文件中 该脚本应作为守护进程运行 目前我有一个函数封装了为单个主机执行此操作的逻辑telnetlib 但我不知道如何进行 我计划打开一个进程 mult
  • Symfony2+Doctrine:如何将 iso8859-1 转换为 utf-8,反之亦然?

    我们正在构建一个使用 Oracle 数据库的 Symfony2 应用程序 DB中的所有数据编码为WE8ISO8859P15 iso 8859 1 所有网站编码为utf 8 有没有办法将从数据库接收到的所有数据转换为utf8 并将发送到数据库
  • GNU Radio:使用声音输出作为输入源

    In gnuradio 伴侣我使用音频源块作为下一个块的输入信号 一切工作几乎都很好 唯一的小问题是我从麦克风收到信号 这是正常行为 我宁愿直接播放音频信号 而不必通过我的扬声器 我房间的空气和麦克风 所有这些都会产生信号损失并增加噪声 我
  • 如何填充 MVC4 剃刀视图的下拉列表 (C#)

    用户档案模型 Table Users public class UserProfiles Key DatabaseGeneratedAttribute DatabaseGeneratedOption Identity public int
  • 使用 pyodbc 将 Python 连接到 mac 中的 Teradata

    我成功安装了 python 2 7 的 pyodbc 模块 但是 当输入以下代码连接到teradata时 import pyodbc conn pyodbc connect DRIVER Teradata DBCNAME
  • C++ 抑制自动初始化和销毁

    如何抑制类型的自动初始化和销毁 虽然这很美妙T buffer 100 自动初始化所 有元素buffer 并在它们超出范围时销毁它们 这不是我想要的行为 include
  • 从 AsyncTask 获取返回的 JSON

    所以我有这个扩展 AsyncTask 的加载器类 那我就做new loader execute 但我想用JSONArray 响应我的加载器类returns我怎么做 因为我在几个不同的地方都需要它 或者我应该将代码移至 onPostExecu
  • 如何将多个输入的行保存在数据库的同一列中?

    数据库表 id title reading writing speaking 表单 blade php table tr th Language th th Reading th th Writing th th Speaking th t
  • 使用 docker-compose 自动创建数据库和表

    我正在使用 docker compose 上传环境 但我想在 docker compose 中自动创建一个表 但是它不起作用 docker 撰写 mysql image mysql 5 7 stdin open true tty true
  • 处理 INI 文件中重复的节名称

    我需要从 INI 文件加载这些值并使用 C Boost 库在应用程序中打印它们 这些部分具有重复的名称 我被限制只能使用 C Boost 库 numColors 4 boardSize 11 numSnails 2 initializati
  • 如何在Python中确定一周的第一天

    根据区域设置 我需要找到一周的第一天 周日 周一 在JAVA中我会这样做 Calendar FR cal Calendar getInstance Locale FRANCE Calendar CA cal Calendar getInst
  • 如何在docker容器中优雅地关闭tomcat中的servlts?

    到目前为止我发现了什么 docker stop 向容器中的进程 ID 1 发送 SIGTERM 容器中的进程ID 1是运行tomcat的java进程 是的 tomcat 本身会正常关闭 但 servlet 不会这样做 Servlet 会在
  • 在javascript中如何动态获取对象的嵌套属性

    var arr foo 1 bar baz 2 bee 3 function getter variable return arr variable 如果我想要 foo 与 bee 我可以这样做arr variable 这很简单 函数就可以
  • Apache CXF 初始化上的调用方法

    我正处于 如何做 阶段Apache CXF并想知道是否有办法在服务器启动时调用方法 它类似于JSF网络应用程序 当我使用 ApplicationScoped托管 Bean 与eager true 当容器启动时 带注释的类被实例化 我可以从它
  • 改变WinForm边框的样式?

    是否可以更改 WinForm 边框的样式 我知道 如果删除边框 就会失去调整程序大小的功能 因此 有没有办法改变它的样式 但保持它的大小可调 你所寻求的并不简单 因为边界是由操作系统划定的 然而 CodePlex 上有一个库确实可以做到这一
  • OpenMP 卸载了在主机和目标设备中执行的目标区域

    我正在开发一个项目 需要使用 Clang 将 OpenMP 卸载到 Nvidia GPU 我能够按照提到的说明安装 Clang 以支持卸载here 系统规格 操作系统 Ubuntu 16 04 LTS 铿锵 版本 4 00 处理器 Inte
  • 在 Oracle PL/SQL 中从 xml 中提取值

  • 使用 \copy 时的 Postgres 变量替换

    我正在使用 psql 命令 copy 并且我想从 shell 向它传递一个变量 用于表名 就像我在编写查询脚本时所做的那样 我在文档中读到 该命令的语法与 SQL COPY 命令类似 请注意 因此 特殊的解析规则适用于 copy 命令 特别