Postgresql 从pgplsql中复制

Postgresql 从pgplsql中复制,postgresql,Postgresql,我试图在pgplsql函数中运行以下语句,但收到错误消息“格式“%2f”无效或与参数不兼容” 如果我直接以脚本的形式运行,它将按预期工作,因此我排除了test.csv的内容。我还尝试将其包装到一个“execute”语句中,得到了相同的结果 execute 'copy raw_import from ''c:\\files\\test.csv'' CSV'; 我是postgresql的新手,所以我怀疑这是我所缺少的一些基本的东西——任何想法都会被感激的 要求的文件样本-前3条记录: a、 b、c

我试图在pgplsql函数中运行以下语句,但收到错误消息“格式“%2f”无效或与参数不兼容”

如果我直接以脚本的形式运行,它将按预期工作,因此我排除了test.csv的内容。我还尝试将其包装到一个“execute”语句中,得到了相同的结果

execute 'copy raw_import from ''c:\\files\\test.csv'' CSV';
我是postgresql的新手,所以我怀疑这是我所缺少的一些基本的东西——任何想法都会被感激的

要求的文件样本-前3条记录: a、 b、c、d e、 f,g,h i、 j,k,l

表定义: col1 VARCHAR(100), col2 VARCHAR(100), col3 VARCHAR(100),
col4 VARCHAR(100)

检查客户端和服务器编码:

cpn=> show server_encoding;
 server_encoding 
-----------------
 UTF8
(1 row)

cpn=> show client_encoding;
 client_encoding 
-----------------
 UTF8
(1 row)

如果它们不匹配,则可以解释为什么在作为脚本运行时它工作,而在服务器上运行时它不工作,也就是说,文件的编码错误。

文件中有什么,它有标题行吗?没有标题行,只有数据。如果我直接执行copy命令,同样的文件也可以加载,因此我认为它与文件内容无关。如果没有文件和表定义(一个片段),就无法解决这个问题。顺便说一句,IIRC syntay需要一个带有关键字且CSV周围没有引号的字符串:
复制_表(…可选列列表…)从“/path/to/file.csv”到csv我将用这些信息编辑我的帖子,但我认为这两者都不相关,因为我可以通过在函数外执行此代码来导入同一个表。。。
cpn=> show server_encoding;
 server_encoding 
-----------------
 UTF8
(1 row)

cpn=> show client_encoding;
 client_encoding 
-----------------
 UTF8
(1 row)