On 09.10.2013 21:43, Andrey Oktyabrskiy wrote:
> Ещё можно попробовать с COPY, но это мысль недодуманная, может и бессмысленная :-)
Не, не бессмысленная, оказывается:
ano=# \d p
Table "public.p"
Column | Type | Modifiers
--------+---------+-----------
c1 | integer |
c2 | integer |
ano=# SELECT count(*) from p;
count
---------
1000011
(1 row)
$ time (echo 'copy p to stdout;' | psql | awk 'BEGIN {print "CREATE
TABLE q (c1 int, c2 int, c3 int); COPY q FROM stdin;"} {printf
"%i\t%i\t%i\n", $1, $2, $1 + $2}' | psql)
CREATE TABLE
real 0m6.664s
user 0m4.316s
sys 0m0.092s