PostgreSQL通过程序复制获得磁盘可用空间

问题描述 投票:1回答:1

从9.3版开始,可以将命令行的输出导入到表中。我正在使用Windows,我想将[>]的输出导入(临时)表中

wmic logicaldisk get size, freespace, caption

Caption  FreeSpace     Size
C:       7454072832    118087389184
D:       151787872256  484033048576
E:
F:       110551040     625094656
G:       136850108416  481803997184
V:       272621289472  990730260480
X:       272621289472  990730260480
Y:       272621289472  990730260480

我尝试查询

CREATE TABLE IF NOT EXISTS _disks(row text);
TRUNCATE TABLE _disks;
COPY _disks FROM PROGRAM 'wmic logicaldisk get size, freespace, caption' ESCAPE '\\' CSV;
SELECT * FROM _disks;

ERROR: COPY escape must be a single one-byte character

然后我尝试

COPY _disks FROM PROGRAM 'wmic logicaldisk get size, freespace, caption' ESCAPE '\' CSV;

ERROR: unquoted newline found in data

然后再次

COPY _disks FROM PROGRAM 'wmic logicaldisk get size, freespace, caption';

ERROR: unquoted newline found in data

我尝试了其他不同的解决方案,但被卡住了。

有任何建议吗?

从9.3版开始,可以将命令行的输出导入到表中。我正在使用Windows,我想在一个(临时)表中导入wmic logicaldisk的输出以获取大小,...

postgresql diskspace
1个回答
1
投票

您必须声明字符串值需要通过在其前面加上E进行转义。在您的情况下,如果仅传递'\\',它将被解释为两个字符,此功能不允许这样做。检查一下:

© www.soinside.com 2019 - 2024. All rights reserved.