从文件复制数据时,使用"命令标记"获取psql中的行数:
db=# COPY t FROM '/var/lib/postgres/test.sql';
COPY 10
我需要行数,并希望避免表格中出现多余的count()
。
有没有办法直接在PL / pgSQL函数中从COPY
获取此计数?
据我所知,没有,但也许我错过了什么?
对于PostgreSQL 9.2。但任何版本中的任何选项都会引起人们的兴趣。
答案 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