Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.72) (envelope-from ) id 1U6MJb-0006q5-Me for pgsql-performance@arkaria.postgresql.org; Fri, 15 Feb 2013 14:31:04 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.72) (envelope-from ) id 1U6MJb-0007Qm-4C for pgsql-performance@arkaria.postgresql.org; Fri, 15 Feb 2013 14:31:03 +0000 Received: from makus.postgresql.org ([2001:4800:7903:4::125]) by malur.postgresql.org with esmtp (Exim 4.72) (envelope-from ) id 1U6MJZ-0007Qh-IH for pgsql-performance@postgresql.org; Fri, 15 Feb 2013 14:31:02 +0000 Received: from adsl-static64.rox.net ([213.214.18.64]) by makus.postgresql.org with esmtp (Exim 4.72) (envelope-from ) id 1U6MJW-0008FG-BE for pgsql-performance@postgresql.org; Fri, 15 Feb 2013 14:31:01 +0000 Received: from zimbra.office.aycan.de (zimbra.office.aycan.de [192.168.255.28]) by adsl-static64.rox.net (Postfix) with ESMTP id 650AA577C4; Fri, 15 Feb 2013 15:30:56 +0100 (CET) Received: from [192.168.254.100] (fsc.office.aycan.de [192.168.254.100]) by zimbra.office.aycan.de (Postfix) with ESMTPSA id 5EE0D380603D6; Fri, 15 Feb 2013 15:30:56 +0100 (CET) Message-ID: <511E469F.70308@aycan.de> Date: Fri, 15 Feb 2013 15:30:55 +0100 From: =?ISO-8859-15?Q?Florian_Schr=F6ck?= Organization: aycan Digitalsysteme GmbH User-Agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130106 Thunderbird/17.0.2 MIME-Version: 1.0 To: pgsql-performance@postgresql.org Subject: Very slow update statement on 40mio rows X-Enigmail-Version: 1.5 Content-Type: multipart/alternative; boundary="------------020400050704010600030407" X-Pg-Spam-Score: -1.9 (-) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-performance Precedence: bulk Sender: pgsql-performance-owner@postgresql.org This is a multi-part message in MIME format. --------------020400050704010600030407 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable Hi! I'm new to this mailinglist and I'm new to postgres as well. It is about our own backup software (java); we switched the DB from MySQL to postgres and we need some help. The backup database holds all files from the server in the database. On my testing platform there are about 40 mio rows and the DB size grew to about 70 GB (the same DB was about 11 GB with MySQL, but this is another issue). Before each backup job, there is a reset to get a consistent state of all files: UPDATE BackupFiles SET nTapeNr=3D0, nAFIOCounter=3D0, nBlockCounter=3D0, cStatus=3D'NEW'::StatusT, bOnSetBlue=3Dfalse, bOnSetYellow=3Dfalse, nLastBackupTS=3D '0001-01-01 00:00:00' WHERE cStatus=3D'NEW' OR cStatus=3D'WRITING'OR cStatus=3D'ONTAPE'; Explain analyze: http://explain.depesz.com/s/8y5 The statement takes 60-90 minutes. In MySQL the same statement takes about 2 minutes on the same HW. I tried to optimize the settings but until now without success. Can we optimize this update statement somehow? Do you have any other idea= s? Any help is appreciated! Thank you! *My current config:* shared_buffers =3D 2GB work_mem =3D 16MB wal_buffers =3D 16MB checkpoint_segments =3D 45 random_page_cost =3D 2.0 effective_cache_size =3D 6GB *HW:* 2x Intel E5405 @ 2.00GHz 8 GB RAM 3ware 9650SE-16ML RAID Controller, all caches enabled DB is on a RAID6 with 14x 1TB (since the DB partition on the RAID1 was too small) *SW:* Debian Squeeze 6.0 with Kernel 3.5.4 Postgres 8.4.13 (standard Debian package) *Table:* +---------------+-----------------------------+--------------------------= -------------------------------------------+ | Column | Type =20 | Modifiers | +---------------+-----------------------------+--------------------------= -------------------------------------------+ | _rowid | bigint | not null default nextval('backupfiles__rowid_seq'::regclass) | | cfilename | bytea | not null | | nfilesize | bigint | not null default 0::bigint | | nfilectimets | timestamp without time zone | not null default '1970-01-01 00:00:00'::timestamp without time zone | | ntapenr | integer | not null default 0 | | nafiocounter | bigint | not null default 0::bigint | | nblockcounter | bigint | not null default 0::bigint | | cstatus | statust | not null default 'NEW'::statust | | bonsetblue | boolean | default false | | bonsetyellow | boolean | default false | | nlastbackupts | timestamp without time zone | not null default '1970-01-01 00:00:00'::timestamp without time zone | +---------------+-----------------------------+--------------------------= -------------------------------------------+ Indexes: "backupfiles_pkey" PRIMARY KEY, btree (_rowid) "cfilename_index" btree (cfilename) "cstatus_index" btree (cstatus) "nfilectimets_index" btree (nfilectimets) "ntapenr_index" btree (ntapenr) *Example row:* +--------+-----------------------------+-----------+---------------------= +---------+--------------+---------------+---------+------------+--------= ------+---------------------+ | _rowid | cfilename | nfilesize | nfilectimets =20 | ntapenr | nafiocounter | nblockcounter | cstatus | bonsetblue | bonsetyellow | nlastbackupts | +--------+-----------------------------+-----------+---------------------= +---------+--------------+---------------+---------+------------+--------= ------+---------------------+ | 1 | /dicom/log/datadir_init.log | 1790 | 2013-01-30 14:02:48 | 0 | 0 | 0 | NEW | f | f | 0001-01-01 00:00:00 | +--------+-----------------------------+-----------+---------------------= +---------+--------------+---------------+---------+------------+--------= ------+---------------------+ --=20 Mit freundlichen Gr=FC=DFen Best regards Florian Schr=F6ck IT Services aycan Digitalsysteme GmbH Innere Aum=FChlstr. 5 97076 W=FCrzburg . Germany Tel. +49 (0)9 31. 270 40 88 Fax +49 (0)9 31. 270 40 89 mailto:fschroeck@aycan.de mailto:store@aycan.de http://www.aycan.de Gesch=E4ftsf=FChrer: Dipl.-Ing. Stephan Popp Sitz der Gesellschaft: W=FCrzburg Eingetragen beim Amtsgericht W=FCrzburg unter HRB 6043 Ust-Id Nr. DE 190658226 aycan PACS Ihre Vorteile: www.aycan.de/pacs-wechsel Was ist ein VNA?: www.aycan.de/vna --------------020400050704010600030407 Content-Type: multipart/related; boundary="------------080008040106080504070400" --------------080008040106080504070400 Content-Type: text/html; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable Hi!
I'm new to this mailinglist and I'm new to postgres as well. It is about our own backup software (java); we switched the DB from MySQL to postgres and we need some help.
The backup database holds all files from the server in the database. On my testing platform there are about 40 mio rows and the DB size grew to about 70 GB (the same DB was about 11 GB with MySQL, but this is another issue).

Before each backup job, there is a reset to get a consistent state of all files:
UPDATE BackupFiles SET nTapeNr=3D0, nAFIOCounter=3D0, nBlockCounter=3D0, cStatus=3D'NEW'::StatusT, bOnSetBlue=3Dfalse, bOnSetYellow=3Dfalse, nLastBackupTS=3D '0001-01-01 00:00:00' WHERE cStatus=3D'NEW' OR cStatus=3D'WRITING'OR cStatus=3D'ONTAPE';
Explain analyze: http://e= xplain.depesz.com/s/8y5
The statement takes 60-90 minutes. In MySQL the same statement takes about 2 minutes on the same HW.
I tried to optimize the settings but until now without success.

Can we optimize this update statement somehow? Do you have any other ideas?

Any help is appreciated! Thank you!

My current config:
shared_buffers =3D 2GB
work_mem =3D 16MB
wal_buffers =3D 16MB
checkpoint_segments =3D 45
random_page_cost =3D 2.0
effective_cache_size =3D 6GB

HW:
2x Intel E5405 @ 2.00GHz
8 GB RAM
3ware 9650SE-16ML RAID Controller, all caches enabled
DB is on a RAID6 with 14x 1TB (since the DB partition on the RAID1 was too small)

SW:
Debian Squeeze 6.0 with Kernel 3.5.4
Postgres 8.4.13 (standard Debian package)

Table:
+---------------+-----------------------------+------------------= ---------------------------------------------------+
|=A0=A0=A0 Column=A0=A0=A0=A0 |=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0 Type=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 |=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0 Modifiers=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0 |
+---------------+-----------------------------+-------------= --------------------------------------------------------+
| _rowid=A0=A0=A0=A0=A0=A0=A0 | bigint=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 | not null default nextval('backupfiles__rowid_seq'::regclass)=A0=A0=A0=A0=A0=A0= =A0 |
| cfilename=A0=A0=A0=A0 | bytea=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 | not null=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 |
| nfilesize=A0=A0=A0=A0 | bigint=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 | not null default 0::bigint=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 = |
| nfilectimets=A0 | timestamp without time zone | not null default '1970-01-01 00:00:00'::timestamp without time zone |
| ntapenr=A0=A0=A0=A0=A0=A0 | integer=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 | not null default 0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0 |
| nafiocounter=A0 | bigint=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0 | not null default 0::bigint=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 = |
| nblockcounter | bigint=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0 | not null default 0::bigint=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 = |
| cstatus=A0=A0=A0=A0=A0=A0 | statust=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 | not null default 'NEW'::statust=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 |
| bonsetblue=A0=A0=A0 | boolean=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 | default false=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0 |
| bonsetyellow=A0 | boolean=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0 | default false=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0 |
| nlastbackupts | timestamp without time zone | not null default '1970-01-01 00:00:00'::timestamp without time zone |
+---------------+-----------------------------+-------------= --------------------------------------------------------+
Indexes:
=A0=A0=A0 "backupfiles_pkey" PRIMARY KEY, btree (_rowid)

=A0=A0=A0 "cfilename_index" btree (cfilename)
=A0=A0=A0 "cstatus_index" btree (cstatus)
=A0=A0=A0 "nfilectimets_index" btree (nfilectimets)=
=A0=A0=A0 "ntapenr_index" btree (ntapenr)


Example row:
+--------+-----------------------------+-----------+-------------= --------+---------+--------------+---------------+---------+------------+= --------------+---------------------+
| _rowid |=A0=A0=A0=A0=A0=A0=A0=A0=A0 cfilename=A0=A0=A0=A0=A0= =A0=A0=A0=A0 | nfilesize |=A0=A0=A0 nfilectimets=A0=A0=A0=A0 | ntapenr | nafiocounter | nblockcounter | cstatus | bonsetblue | bonsetyellow |=A0=A0=A0 nlastbackupts=A0=A0=A0= |
+--------+-----------------------------+-----------+--------= -------------+---------+--------------+---------------+---------+--------= ----+--------------+---------------------+
|=A0=A0=A0=A0=A0 1 | /dicom/log/datadir_init.log |=A0=A0=A0=A0= =A0 1790 | 2013-01-30 14:02:48 |=A0=A0=A0=A0=A0=A0 0 |=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0 0 |=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 0 | NEW=A0=A0=A0=A0 | f=A0=A0=A0=A0=A0=A0=A0=A0=A0 | f=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0 | 0001-01-01 00:00:00 |
+--------+-----------------------------+-----------+--------= -------------+---------+--------------+---------------+---------+--------= ----+--------------+---------------------+




--
Mit freundlichen Gr=FC=DF=
en
Best regards

Florian Schr=F6ck
IT Services

aycan Digitalsysteme GmbH
Innere Aum=FChlstr. 5
97076 W=FCrzburg . Germany
Tel. +49 (0)9 31. 270 40 88
Fax +49 (0)9 31. 270 40 89
mailto:fschroeck@aycan.de
mailto:store@aycan.de
http://www.aycan.de

Gesch=E4ftsf=FChrer: Dipl.-Ing. Stephan Popp
Sitz der Gesellschaft: W=FCrzburg
Eingetragen beim Amtsgericht W=FCrzburg unter HRB 6043
Ust-Id Nr. DE 190658226


3D"aycan

www.aycan=
.de/pacs-wechsel

Was ist ein VNA?:=A0www.aycan= .de/vna

<= /span>
--------------080008040106080504070400 Content-Type: image/png; name="aycan_email_footer_pacs-wechsel.png" Content-Transfer-Encoding: base64 Content-ID: Content-Disposition: inline; filename="aycan_email_footer_pacs-wechsel.png" iVBORw0KGgoAAAANSUhEUgAAAZAAAACCCAMAAABfCG7aAAAAGXRFWHRTb2Z0d2FyZQBBZG9i ZSBJbWFnZVJlYWR5ccllPAAAAMBQTFRFz9DVb25wLy0x5+frj46PXabTsK+w8/P0/v7+RkRH VVVUkkNOSUdUrNLrRDpI2treVFJiCwkJTS8yODY+UExMUkpYRUQ5YlVWS1JWubq/PUBHYlto VFVL4uPoSU9JXmFmZ2Vg7e3weXh8JR0pWl9XOz44qKeiJyUix8fHmZmhgH+CFxMd8u7siIaC pZ6k8/Ps6OTaoaSnen92wL677fX4wsLI9/f4IxgYmaCYm5qa4eHlISMo8+/z+fv6GxsZ//// KqexNwAAAEB0Uk5T//////////////////////////////////////////////////////// ////////////////////////////AMJ7sUQAADMvSURBVHja7F2Lf6I414bIVpPNIk4AESyg gDAyzr7TfrXjjf7//9X3nICXXqYz3d15f7v7NrWKQEI8T841J2A8vJe/VTH+WDVhvXKwqb5x rUofWLxweFH94V9gbd/avzeXfVVV+9Pm9ucC8svs0XdTdRRqzHZDmX8RIBvVoBgv1/0TBHx6 tYp2vL09i3rHN8fONpvTkQmnQ3rHNqWt9OcC8stvl98nTTsAUlXqz20z+WsA2TQWBhk1Zrww xJ7smzwZBdbm21fTY/eiwh8GBGywbJbdMBTqNESbVPcare4Vx/vW+MmA/PLb/11wZzc0mk1j tJyy/2sAeZnTvkUd8UYGuqjwhwGh92XTtlFujz9i0yzOgrX5ueLqCMgvvwwvfrtmyEn5wPVv MvUvnVhWNyy2G8tqfzD2td3DxoRQ2y+szfYICIaRoc88oWQ95gYcnTzlkG7ftjI51A1JbioY nNysjPOZuA4xW3c1cEhX4TEgx/5Rhc1l96r9fmMt9I7F/gkgVYtDunwQ7QDal+ZT0B6pFt3B I4NX5+aMjb7avt21rzpCLejEymovjL1b3ZPngPzy2/okWrSoWqYPSw1Fid+yF+Vy2XZs2aTW UtEPFqll0uDZc2VZKahtKNXu0YBYYsmt5cWvEWp/OdyXjWkpvn94ad9CqFKIB0NQUQ16Uiqx PJ3JTUvwvRCWWRrt1boKjwA59o82uXjUvYVaWsrcKt3OS4BswQmLcv+MKarmkeg8dfDIkGfR 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 --------------080008040106080504070400-- --------------020400050704010600030407--