为什么我不能在postgres反斜杠命令(\ COPY)中使用变量

o_o_o--

我有以下sql脚本:

\COPY my_table (column_1, column_2) FROM :csv_file WITH (FORMAT CSV, DELIMITER ',', ESCAPE '"');

我打来的电话是:

psql -d $DB_NAME -f $SQL_FILE -v csv_file="$CSV_FILE"

但它一直在寻找一个名为“:csv_file”的文件。难道我做错了什么?

丹尼尔·特鲁斯

通常,变量替换确实适用于元命令(以反斜杠开头),但这\copy是一个例外,如psql的联机帮助页所述

该命令的语法类似于SQL COPY命令的语法。除数据源/目的地以外的所有选项均与COPY中指定的一样。因此,特殊的解析规则适用于\ copy命令。特别是,psql的变量替换规则和反斜杠转义不适用

我不同意@BaconBits对plpgsqlEXECUTE可能是答案的问题的评论与相反,动态或其他方式的服务器端语句将无法访问客户端文件系统\copy您可以改用COPY它,但它必须是超级用户,并且该文件对postgres服务器上的用户是可访问的。

我相信,\copy要从变量文件名开始psql读取变量,必须先将变量注入脚本您可能会在SQL脚本集成到一个shell脚本和饲料它psql作为一个可修补此处的字符串,或通过其过滤sedperl或任何类似UNIX的杂交方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

为什么我不能在Swift中使用let in协议?

来自分类Dev

为什么我不能在JCreator中使用JavaFX?

来自分类Dev

为什么我不能在crontab中使用大括号?

来自分类Dev

为什么我的线性渐变不能在Firefox中使用?

来自分类Dev

为什么我不能在pow()函数中使用整数?

来自分类Dev

为什么我不能在MacVim中使用`<和`>?

来自分类Dev

为什么我不能在TRecord中使用Variable?

来自分类Dev

我不能在bash read命令中使用-r选项。为什么?

来自分类Dev

为什么我不能在CSS Variable中使用rgba?

来自分类Dev

为什么我们不能在FORFILES脚本中使用CALL:label命令?

来自分类Dev

为什么我不能在Python中使用“ +”合并字典?

来自分类Dev

为什么我不能在Laravel中使用关系方法?

来自分类Dev

为什么我不能在ps命令中使用-o或--format来控制输出格式?

来自分类Dev

为什么我不能在blazor中使用JSInterop?

来自分类Dev

为什么我不能在App Component中使用MyContext?

来自分类Dev

为什么我不能在WHERE语句中使用变量?

来自分类Dev

为什么我不能在列表中使用匿名函数?

来自分类Dev

为什么我不能在JCreator中使用JavaFX?

来自分类Dev

为什么我们不能在C中使用变量作为e的值

来自分类Dev

为什么我不能在Swift中使用'object == nil'?

来自分类Dev

为什么我不能在Xampp中使用htaccess?

来自分类Dev

为什么不能在函数中使用这些变量?

来自分类Dev

为什么我不能在Matlab中使用函数readframe

来自分类Dev

为什么我不能在TRecord中使用Variable?

来自分类Dev

为什么我不能在python命令行中使用&

来自分类Dev

为什么我不能在单独的html和js文件中使用全局变量?

来自分类Dev

为什么我不能在输入中使用空格字符?

来自分类Dev

为什么我不能在 Python 中使用变量作为参数来调用这个函数?

来自分类Dev

为什么我不能在 observable 中使用 switchMap

Related 相关文章

  1. 1

    为什么我不能在Swift中使用let in协议?

  2. 2

    为什么我不能在JCreator中使用JavaFX?

  3. 3

    为什么我不能在crontab中使用大括号?

  4. 4

    为什么我的线性渐变不能在Firefox中使用?

  5. 5

    为什么我不能在pow()函数中使用整数?

  6. 6

    为什么我不能在MacVim中使用`<和`>?

  7. 7

    为什么我不能在TRecord中使用Variable?

  8. 8

    我不能在bash read命令中使用-r选项。为什么?

  9. 9

    为什么我不能在CSS Variable中使用rgba?

  10. 10

    为什么我们不能在FORFILES脚本中使用CALL:label命令?

  11. 11

    为什么我不能在Python中使用“ +”合并字典?

  12. 12

    为什么我不能在Laravel中使用关系方法?

  13. 13

    为什么我不能在ps命令中使用-o或--format来控制输出格式?

  14. 14

    为什么我不能在blazor中使用JSInterop?

  15. 15

    为什么我不能在App Component中使用MyContext?

  16. 16

    为什么我不能在WHERE语句中使用变量?

  17. 17

    为什么我不能在列表中使用匿名函数?

  18. 18

    为什么我不能在JCreator中使用JavaFX?

  19. 19

    为什么我们不能在C中使用变量作为e的值

  20. 20

    为什么我不能在Swift中使用'object == nil'?

  21. 21

    为什么我不能在Xampp中使用htaccess?

  22. 22

    为什么不能在函数中使用这些变量?

  23. 23

    为什么我不能在Matlab中使用函数readframe

  24. 24

    为什么我不能在TRecord中使用Variable?

  25. 25

    为什么我不能在python命令行中使用&

  26. 26

    为什么我不能在单独的html和js文件中使用全局变量?

  27. 27

    为什么我不能在输入中使用空格字符?

  28. 28

    为什么我不能在 Python 中使用变量作为参数来调用这个函数?

  29. 29

    为什么我不能在 observable 中使用 switchMap

热门标签

归档