从COPY命令获取行数

时间:2013-05-17 13:35:34

标签: postgresql count plpgsql sqlbulkcopy

从文件复制数据时,使用"命令标记"获取psql中的行数:

db=# COPY t FROM '/var/lib/postgres/test.sql';
COPY 10

我需要行数,并希望避免表格中出现多余的count()

有没有办法直接在PL / pgSQL函数中从COPY获取此计数?
据我所知,没有,但也许我错过了什么?

对于PostgreSQL 9.2。但任何版本中的任何选项都会引起人们的兴趣。

1 个答案:

答案 0 :(得分:8)

不在PG 9.2中,但在PG 9.3中有Pavel提供(E 1.3.1.7):

  

允许PL / pgSQL访问COPY处理的行数(Pavel Stehule)

     

该命令是GET DIAGNOSTICS x = ROW_COUNT。

http://www.postgresql.org/docs/devel/static/release-9-3.html