Postgresql 带//(双斜杠)的psql命令问题

Postgresql 带//(双斜杠)的psql命令问题,postgresql,azure,psql,Postgresql,Azure,Psql,该命令返回这些错误消息 (在Azure云壳终端中) https:/thelottoproject.blob.core.windows.net/data/MondayLotto.csv:没有这样的文件或目录 (在Windows10上的SQL Shell(psql)中) https:/thelottoproject.blob.core.windows.net/data/MondayLotto.csv:无效参数 我猜是/导致了错误,因为错误消息仅在https之后显示/: Azure中的Postgre

该命令返回这些错误消息

(在Azure云壳终端中)

https:/thelottoproject.blob.core.windows.net/data/MondayLotto.csv:没有这样的文件或目录

(在Windows10上的SQL Shell(psql)中)

https:/thelottoproject.blob.core.windows.net/data/MondayLotto.csv:无效参数

我猜是
/
导致了错误,因为错误消息仅在https之后显示
/

  • Azure中的PostgreSQL server
  • Azure blob存储中的CSV文件是可访问的

这个问题有什么解决方案吗?

psql特殊命令以
\
开头,因此语法应该是

/COPY MondayLotto FROM 'https://thelottoproject.blob.core.windows.net/data/MondayLotto.csv' DELIMITER ',' CSV HEADER

可能还有第二个问题。我不知道这个表是如何创建的。这看起来像是区分大小写的标识符,如果它真的是区分大小写的标识符,那么应该在括号内使用它,如
“MondayLotto”

从网站加载数据,您可以运行以下操作

wget-O-https://thelottoproject.blob.core.windows.net/data/MondayLotto.csv |psql-c“从标准格式复制周一乐透(格式为“csv”,标题)”

它必须是
\copy
而不是
/copy
,但你不能将URL作为源,除非Azure上的Postgres与“stock”Postgres不同。我尝试显式复制并粘贴你的代码,但返回错误。所以我做了更多的谷歌搜索,发现了一些我认为它是你的意思--->\copy words从程序“wget-q-O-”中,但是它仍然不适合我在Azure或psql shell上使用。他们只是不会识别“wget”命令。要使用
从程序复制
,您需要是超级用户或
pg\u execute\u server\u程序的成员。我的代码应该在没有这些高权限的情况下工作。您得到的确切错误是什么?您的客户端计算机上可能没有安装
wget
\copy MondayLotto FROM ...