Hi, It seems that a COPY of 8M rows to a table to 8.4rc1 takes >30% longer than it does to 8.3.7 on Solaris.
Here are the steps I've taken to reproduce this problem on two different solaris boxes (Solaris 10 11/06 s10x_u3wos_10 X86 and Solaris 10 8/07 s10x_u4wos_12b X86). I've tried this on a Linux box, and I do not see the problem there. 1. Run the following in psql client to generate a 8M row data file. copy (select generate_series(1,8000000), ('1 second'::interval * generate_series(1,8000000) + '2007-01-01'::timestamp)) to '/export/home/alan/work/pgsql/dump.out' with csv; 2. Build 8.3.7 and 8.4rc1 with the following config. ./configure --prefix=`pwd`/../pgsql CC=/opt/SUNWspro/bin/cc CFLAGS="-xO3 -xarch=native \ -xspace -W0,-Lt -W2,-Rcond_elim -Xa -xildoff -xc99=none -xCC" --without-readline --with-includes=/opt/csw/include --with-libraries=/opt/csw/lib 3. Run the following on each. pg_ctl stop -D data -m fast rm -rf data initdb -D data cat postgresql.conf >> data/postgresql.conf pg_ctl start -l cq.log -D data -w psql -f ddl.sql postgres time psql -c "copy t from '/export/home/alan/work/pgsql/dump.out' with csv" postgres Here are the numbers from several runs I've done. 8.3.7 - Solaris 10 11/06 s10x_u3wos_10 X86 real 0m43.971s user 0m0.002s sys 0m0.003s real 0m44.042s user 0m0.002s sys 0m0.003s real 0m44.828s user 0m0.002s sys 0m0.004s real 0m43.921s user 0m0.002s sys 0m0.003s 8.4rc1 - Solaris 10 11/06 s10x_u3wos_10 X86 real 1m0.041s user 0m0.002s sys 0m0.003s real 1m0.258s user 0m0.002s sys 0m0.004s real 1m0.173s user 0m0.002s sys 0m0.003s real 1m0.402s user 0m0.002s sys 0m0.003s real 1m0.767s user 0m0.002s sys 0m0.003s 8.3.7 - Solaris 10 8/07 s10x_u4wos_12b X86 real 0m36.242s user 0m0.002s sys 0m0.004s real 0m37.206s user 0m0.002s sys 0m0.004s real 0m38.431s user 0m0.002s sys 0m0.004s real 0m38.885s user 0m0.002s sys 0m0.004s real 0m38.177s user 0m0.002s sys 0m0.004s real 0m38.332s user 0m0.002s sys 0m0.004s real 0m38.401s user 0m0.002s sys 0m0.004s real 0m36.817s user 0m0.002s sys 0m0.004s real 0m39.505s user 0m0.002s sys 0m0.004s real 0m38.871s user 0m0.002s sys 0m0.004s real 0m38.939s user 0m0.002s sys 0m0.004s real 0m38.823s user 0m0.002s sys 0m0.004s real 0m37.955s user 0m0.002s sys 0m0.004s real 0m39.196s user 0m0.002s sys 0m0.004s 8.4rc1 - Solaris 10 8/07 s10x_u4wos_12b X86 real 0m50.603s user 0m0.002s sys 0m0.004s real 0m49.945s user 0m0.002s sys 0m0.004s real 0m50.547s user 0m0.002s sys 0m0.004s real 0m50.061s user 0m0.002s sys 0m0.004s real 0m48.151s user 0m0.002s sys 0m0.004s real 0m50.133s user 0m0.002s sys 0m0.004s real 0m50.583s user 0m0.002s sys 0m0.004s Has anyone else seen this problem? Thanks, Alan
drop table t; create table t (i int, d timestamp);
postgresql.conf
Description: Binary data
-- Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance