2017-11-04 66 views
-1

将部分Postgres转出部分会生成30GB +的部分。这些文件在Windows 2008服务器上登陆。我试图计算csv中的行数,以确保我有一个我期望的行数(22,725,303是确切的)。我可以计算我希望转储的那一部分的行数 - 但我不确定是否将所有行都计算在内。在海量的.csv文件中计数行

这是一张190万行的表格,所以表格的各个部分是要走的路。

那么我该如何计算行数,以便知道我已经得到了整个部分?

+0

复制。 csv文件到一台unix机器并在其上运行'wc -l thefile.csv'? – wildplasser

+0

是的,我不想在网络中移动300GB。这太麻烦了。 –

+0

也许cygwin包含文件实用程序? [或者,您可以从ubuntu-usb-stick启动,尝试挂载(ntfs?)磁盘,并运行'wc -l'] ...或者您可以编写一个小程序来计算“\ n 's。 – wildplasser

回答

0

在PL/pgSQL函数,你可以通过最后一个命令处理的行数 - 因为Postgres 9.3包括COPY - 有:

GET DIAGNOSTICS x = ROW_COUNT; 
+0

良好的通话 - 可悲的是,基于Postgres 8.3的Greenplum可能不会这样做。我会放弃它。 –

+1

@MatthewCoblentz:你可能在*问题*中提到过,它是关于Greenplum的,这是*不是* Postgres的长镜头。我怀疑我的答案适用于Greenplum。 –