Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1UyUKN-0006oy-5O for pgsql-hackers@arkaria.postgresql.org; Sun, 14 Jul 2013 21:59:35 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.80) (envelope-from ) id 1UyUKM-0000n8-GD for pgsql-hackers@arkaria.postgresql.org; Sun, 14 Jul 2013 21:59:34 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1UyUKJ-0000mz-Rp for pgsql-hackers@postgresql.org; Sun, 14 Jul 2013 21:59:32 +0000 Received: from moutng.kundenserver.de ([212.227.17.9]) by magus.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1UyUKF-0002QE-Ev for pgsql-hackers@postgresql.org; Sun, 14 Jul 2013 21:59:31 +0000 Received: from [192.168.1.110] (mail.highperformancepostgresql.com [71.179.240.8]) by mrelayeu.kundenserver.de (node=mrbap0) with ESMTP (Nemesis) id 0Meuvx-1UnFvh2O8P-00OXs1; Sun, 14 Jul 2013 23:59:17 +0200 Message-ID: <51E31F33.2000300@2ndQuadrant.com> Date: Sun, 14 Jul 2013 17:59:15 -0400 From: Greg Smith User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:17.0) Gecko/20130620 Thunderbird/17.0.7 MIME-Version: 1.0 To: KONDO Mitsumasa CC: Andres Freund , Robert Haas , Heikki Linnakangas , PostgreSQL-development Subject: Re: Improvement of checkpoint IO scheduler for stable transaction responses References: <51BEB6F5.7070907@lab.ntt.co.jp> <51C40EF4.1080201@lab.ntt.co.jp> <51C9D03B.10107@vmware.com> <51C9FD5C.5050706@vmware.com> <51CD873A.5070705@lab.ntt.co.jp> <51D3DE55.6030901@lab.ntt.co.jp> <51D56A5B.3050504@lab.ntt.co.jp> <20130704130555.GA1403@awork2.anarazel.de> <51D59644.2070005@commandprompt.com> <51D67ADA.4020205@lab.ntt.co.jp> <51DA7C21.5090106@lab.ntt.co.jp> <51DEA513.2000108@lab.ntt.co.jp> In-Reply-To: <51DEA513.2000108@lab.ntt.co.jp> Content-Type: multipart/mixed; boundary="------------070202030001030203080907" X-Provags-ID: V02:K0:ft4yiWQmYKqVL4iFrg1IPppMMWDVll1cG3AzJPavTUf lOhIxB2w4OU8eWmj/L+bDiiKs6A/tfxHL12HvJri7tfqMs0dBc aaTJKQVZnfIS841N8HAz0EwKbGg3Ly4LAro7r2NPhSVIdAj1Da JPhR8GqZKZqPA4FKYwbksD0FAXNdMeij4Frxo1LwAykq7ojJ25 b0ITPxQCQU03lRQPw6Y6T603Tj6VnAEY2CQDyTDBO+entx34zJ 6SW9pVQbf8Ygd3bzCLeUTUCDi4WJOaPmDi4ERSxWHoTnA+ZmVJ n9Wc4Pv+iJKOvSPNat7+oU/uVObo7kpPlo0quJRxMwXimxJRJ3 vb/KmRv+GGc1W0qYH5iY= X-Pg-Spam-Score: -1.9 (-) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-hackers Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org This is a multi-part message in MIME format. --------------070202030001030203080907 Content-Type: text/plain; charset=Shift_JIS Content-Transfer-Encoding: 7bit On 7/11/13 8:29 AM, KONDO Mitsumasa wrote: > I use linear combination method for considering about total checkpoint schedule > which are write phase and fsync phase. V3 patch was considered about only fsync > phase, V4 patch was considered about write phase and fsync phase, and v5 patch > was considered about only fsync phase. Your v5 now looks like my "Self-tuning checkpoint sync spread" series: https://commitfest.postgresql.org/action/patch_view?id=514 which I did after deciding write phase delays didn't help. It looks to me like some, maybe all, of your gain is coming from how any added delays spread out the checkpoints. The "self-tuning" part I aimed at was trying to stay on exactly the same checkpoint end time even with the delays in place. I got that part to work, but the performance gain went away once the schedule was a fair comparison. You are trying to solve a very hard problem. How long are you running your dbt-2 tests for? I didn't see that listed anywhere. > ** Average checkpoint duration (sec) (Not include during loading time) > | write_duration | sync_duration | total > fsync v3-0.7 | 296.6 | 251.8898 | 548.48 | OK > fsync v3-0.9 | 292.086 | 276.4525 | 568.53 | OK > fsync v3-0.7_disabled| 303.5706 | 155.6116 | 459.18 | OK > fsync v4-0.7 | 273.8338 | 355.6224 | 629.45 | OK > fsync v4-0.9 | 329.0522 | 231.77 | 560.82 | OK I graphed the total times against the resulting NOTPM values and attached that. I expect transaction rate to increase along with time time between checkpoints, and that's what I see here. The fsync v4-0.7 result is worse than the rest for some reason, but all the rest line up nicely. Notice how fsync v3-0.7_disabled has the lowest total time between checkpoints, at 459.18. That is why it has the most I/O and therefore runs more slowly than the rest. If you take your fsync v3-0.7_disabled and increase checkpoint_segments and/or checkpoint_timeout until that test is averaging about 550 seconds between checkpoints, NOTPM should also increase. That's interesting to know, but you don't need any change to Postgres for that. That's what always happens when you have less checkpoints per run. If you get a checkpoint time table like this where the total duration is very close--within +/-20 seconds is the sort of noise I would expect there--at that point I would say you have all your patches on the same checkpoint schedule. And then you can compare the NOTPM numbers usefully. When the checkpoint times are in a large range like 459.18 to 629.45 in this table, as my graph shows the associated NOTPM numbers are going to be based on that time. I would recommend taking a snapshot of pg_stat_bgwriter before and after the test runs, and then showing the difference between all of those numbers too. If the test runs for a while--say 30 minutes--the total number of checkpoints should be very close too. > * Test Server > Server: HP Proliant DL360 G7 > CPU: Xeon E5640 2.66GHz (1P/4C) > Memory: 18GB(PC3-10600R-9) > Disk: 146GB(15k)*4 RAID1+0 > RAID controller: P410i/256MB > (Add) Set off energy efficient function in BIOS and OS. Excellent, here I have a DL160 G6 with 2 processors, 72GB of RAM, and that same P410 controller + 4 disks. I've been meaning to get DBT-2 running on there usefully, your research gives me a reason to do that. You seem to be in a rush due to the commitfest schedule. I have some bad news for you there. You're not going to see a change here committed in this CF based on where it's at, so you might as well think about the best longer term plan. I would be shocked if anything came out of this in less than 3 months really. That's the shortest amount of time I've ever done something useful in this area. Each useful benchmarking run takes me about 3 days of computer time, it's not a very fast development cycle. Even if all of your results were great, we'd need to get someone to duplicate them on another server, and we'd need to make sure they didn't make other workloads worse. DBT-2 is very useful, but no one is going to get a major change to the write logic in the database committed based on one benchmark. Past changes like this have used both DBT-2 and a large number of pgbench tests to get enough evidence of improvement to commit. I can help with that part when you get to something I haven't tried already. I am very interesting in improving this area, it just takes a lot of work to do it. -- Greg Smith 2ndQuadrant US greg@2ndQuadrant.com Baltimore, MD PostgreSQL Training, Services, and 24x7 Support www.2ndQuadrant.com --------------070202030001030203080907 Content-Type: image/png; name="NOTPM-Checkpoints.png" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="NOTPM-Checkpoints.png" iVBORw0KGgoAAAANSUhEUgAAAkIAAAG1CAIAAACaugxrAAAYGmlDQ1BJQ0Mg UHJvZmlsZQAAWAmtWXk4ld+33+8ZOY7hOMjsmOc5Q+Z5zjxXOObx0DEryhAl 0SAJRYhElAqJigwNSqloIjJESSQJlbs1fL+/+9x7/7vv87z7/Zy111577bX2 tNYBgPcKNSoqHMUGQAQthu5obkRx9/Ck4IcBHqAAETACBapfdJShvb0N+D+f r4MA2ah8Ir8h6/9k+98rSP4B0X4AIPaw2tc/2i8C4isAoFv8ougxAGA35InF x0Rt4MMQc9ChghBXbuCg37hlA/v+xn2/eJwdjSHPKAAMRCqVHgQA8yykU+L8 gqAcFiIAOHaafwgNNqNArOcXTPUHgNcH8shFRERu4ByIpXz/Q07Qf2Aq1fcf mVRq0D/491hgS9ixSUh0VDg18deP/88iIjwW2uvXIwhLYnSYkzX8ckG7JfhR TZ0g5oY4NzjA0uYPvSoqxsjxD70tJMbSGWIOyPM0ONbC5Q+ejg1zMYSYH9K/ h0Vab/BDO6G4ab62dhCzQyzmF20Mbb/RF0o9KdjZ7Q+PjX+AiSnEcBah3OmR jn/5g6PjnP7Sk5KCjW3/8odSrTb8zQL5s6l0iH7pgyoMCDff6FcE0uuiYuw3 9Nzo6yEt3PbPWFATgXSzDZ4N+mpA9K/xbugWHBPsbAHpUGc0WwzdeYMHjhHN HxhiZgkx1A2tFEy3+Es3iAr/NadhW7QzPdZxww5iEAcG0Fw2bLhBz/anmmzY FtoEXQLMABXQQQDwBTQwAyjABhgDkz8lBdJpkOYHIkE4fOkU1r812CnsY+xb 7DPsKPbFXxps+YcPhAB/iH/L+o/2kO4EksBHKDUARP/tDcOL0cNoY2xgaQBf FYwmZsvfuoezzbN/8R9dg2Bb+T+yjf5oHwcl/vjL5x2SRv+L/7Tx/afF/9TJ DExACwT95VCqVZpR+v63/b8jxpniTHAWODOcNHo/+jK6F92BvotuQzcDCvom ugXdh27fwH/0+tsLFVI2rLJh4WhgDa0YAGJ//aL97e+/WSn2H44/ElhkWNSA I2xFA2GwLuSfHlx/aR3yP6TEQg5f2GMo5LX+xx9/9MJIQOuqYYwwutDO0MYY LgwvkMdshhY3xOhDH6hB6r9e/O+jkQeBv6wd92ssYWAKjiMiJiAhBs4lYBwZ lUgPCQqOoRjC3TJAjmJJ81OQo6goKauCjb13gweARcdfeyrC1f8vLUgFALUF ONcl/6WFnADgOlxX+J3/0iTgGmDpAOBuvl8sPe63PMzGBwsIgBWuCh4gCESB FLSIClAH2sAAmAIrYAecgQfwgnM4GERAjePBbpAKMsFBcBgcB0WgFFSAc+AC aATNoA10gB5wHzwCz8ArMAomwQcwD76CNQRB8AgzQkZ4ECFEHJFFVBBNRA8x RWwQR8QD8UGCEBoSi+xG0pGDyFGkCDmD1CCXkGtIB3IXeYy8QMaQGeQzsopC o4goDpQASgKliNJEGaKsUc6oHagg1E5UEioDlYsqRJWj6lBNqA7UfdQz1Cjq A2oJDdBMaC60MFoerYk2RtuhPdGBaDo6BZ2NLkCXo+vRrXAuPkGPomfRKxgc hoyhYOShJy0wLhg/zE5MCiYHU4Q5h2nCdGGeYMYw85ifWGYsP1YWq4W1xLpj g7Dx2ExsAbYKexXbDdfzJPYrDofjwkniNOBs98CF4nbhcnCncA24W7jHuHHc Eh6P58HL4nXxdngqPgafiT+Jr8PfxA/gJ/HfGJgYhBhUGMwYPBloDGkMBQzn GW4wDDC8Y1hjZGMUZ9RitGP0Z0xkzGOsZGxl7GecZFwjkAiSBF2CMyGUkEoo JNQTugmvCYtMTEwiTFuYHJhCmPYyFTJdZLrDNMa0QmQnyhCNiduJscRcYjXx FvEFcZGZmVmC2YDZkzmGOZe5hvk28wjzNxYyiwKLJYs/yx6WYpYmlgGWOVZG VnFWQ1Yv1iTWAtbLrP2ss2yMbBJsxmxUthS2YrZrbENsSyQySZlkR4og5ZDO k+6Sptnx7BLspuz+7BnsFey32cfJaLIo2ZjsR04nV5K7yZMcOA5JDkuOUI6D HBc4HnLMc7JzbuZ05UzgLOZs5xzlQnNJcFlyhXPlcTVyDXKtbhLYZLgpYNOB TfWbBjYtc/NxG3AHcGdzN3A/417lofCY8oTxHOFp5hnmxfDK8DrwxvOe5u3m neXj4NPm8+PL5mvke8mP4pfhd+TfxV/B38e/JCAoYC4QJXBS4LbArCCXoIFg qGC+4A3BGSGykJ5QiFC+0E2h9xROiiElnFJI6aLMC/MLWwjHCp8Rfii8JiIp 4iKSJtIgMixKENUUDRTNF+0UnRcTEtsqtlusVuylOKO4pniw+AnxXvFlCUkJ N4ksiWaJaUluSUvJJMlayddSzFL6UjulyqWeSuOkNaXDpE9JP5JByajJBMsU y/TLomTVZUNkT8k+lsPKbZGjyZXLDckT5Q3l4+Rr5ccUuBRsFNIUmhXmFMUU PRWPKPYq/lRSUwpXqlR6pcyubKWcptyq/FlFRsVPpVjlqSqzqpnqHtUW1YXN spsDNp/e/FyNrLZVLUutU+2HuoY6Xb1efUZDTMNHo0RjSJND014zR/POFuwW oy17trRtWdFS14rRatT6pC2vHaZ9XntaR1InQKdSZ1xXRJeqe0Z3VI+i56NX pjeqL6xP1S/Xf2sgauBvUGXwzlDaMNSwznDOSMmIbnTVaNlYyzjZ+JYJ2sTc JNvkoSm7qYtpkemImYhZkFmt2by5mvku81sWWAtriyMWQ5YCln6WNZbzVhpW yVZd1kRrJ+si67c2MjZ0m9atqK1WW49tfW0rbkuzbbYDdpZ2x+yG7SXtd9pf d8A52DsUO0w5Kjvudux1Ijt5O513+ups5Jzn/MpFyiXWpdOV1XW7a43rspuJ 21G3UXdF92T3+x68HiEeLZ54T1fPKs+lbabbjm+b3K62PXP74A7JHQk77nrx eoV7tXuzelO9L/tgfdx8zvt8p9pRy6lLvpa+Jb7zfsZ+J/w++Bv45/vPBOgG HA14F6gbeDRwOkg36FjQTLB+cEHwbIhxSFHIQqhFaGnocphdWHXYerhbeEME Q4RPxDUaOy2M1hUpGJkQ+ThKNiozanSn1s7jO+fp1vSqaCR6R3RLDAe85PbF SsXuix2L04srjvsW7xp/OYGUQEvoS5RJPJD4Lsks6ewuzC6/XZ27hXen7h5L Nkw+k4Kk+KZ07hHdk7Fncq/53nOphNSw1AdpSmlH076ku6W3Zghk7M0Y32e+ rzaTJZOeOZSlnVW6H7M/ZP/DA6oHTh74me2ffe+g0sGCg99z/HLuHVI+VHho PTcw92Geet7pw7jDtMODR/SPnDtKOpp0dPzY1mNN+ZT87Pwvx72P3y3YXFB6 gnAi9sRooU1hy0mxk4dPfi8KLnpWbFTcUMJfcqBk+ZT/qYHTBqfrSwVKD5au loWUPT9jfqapXKK8oAJXEVcxVela2XtW82xNFW/Vwaof1bTq0XOO57pqNGpq zvOfz6tF1cbWztRtr3t0weRCS718/ZkGroaDF8HF2IvvL/lcGmy0buy8rHm5 /or4lZKr5KvZTUhTYtN8c3DzaItHy+NrVtc6W7Vbr15XuF7dJtxW3M7ZnneD cCPjxvrNpJtLt6JuzXYEdYx3ene+uu1++2mXQ9fDbuvuOz1mPbd7DXtv3tG9 03ZX6+61e5r3mu+r32/qU+u7+kDtwdWH6g+b+jX6Wx5tedT6WOfxjQH9gY4n Jk96nlo+vf/M9tnjQZfB50Pbh0af+z+ffhH+YuFl3Mu1V3tfY19nD7MNF4zw j5S/kX7TMKo+2j5mMtb31untq3G/8Q8T0RPfJzOmmKcK3gm9q5lWmW6bMZt5 9H7b+8kPUR/WZjM/kj6WzEnNXflk8Klv3n1+coG+sP45Z5FnsfrL5i+dS/ZL I18jvq4tZ3/j+XZuRXOld9Vt9d1a/Hf898If0j9af1r/fL0esb4eRaVTf90F 0LBEBQYC8LkaxkUeAJAfAUBg+R0b/eKA110E8kDsihxA7URrwtvPJPYOrhqf x5DIGEDYxuRCdGB2ZXFk9WTzIQWz08iZHN1cpE3buKt4Fvh0+LMEXggpUVKE n4rKiqWLD0tqSRVKf5V1lruiwKmYqDSmYqPaqMavnqnxaYuzVpuOiO5+vTkD R8OrxtwmCaYvzDUtTlguWTvb1G4dtyPbGzpEOJ5w6nCeciW4SbubeXh50rel bz+8o9jrjHeVzzlqtW+1X4X/6YDDgXuCaMFeIbahOmGy4XwRTBGrtJnI51G9 O5vp1dEFMftiY+L84h0TDBPlkjbtQnbN7h5K7kip23Nib2pqRJp7unGGwj7e TGzmQtbr/XcOXMkuO5iTc+hQXm5uXu7h3COHjh48tj8/7XhyQcyJ8ELfk65F lsXaJXKn+E8znV4tnSp7eOZyeWHF7krfsxZVCtUc1Wvn3tbcO3+ptqgu7UJ4 vUuD/kXpS+RLPxunLz+50nK1pGlvs1+L6TXJVobW6eu9bWfbU29sv6lxi+3W TEdHZ+FtWpdxN0/3Qs+j3st3Cu4m3fO6b9Qn9YDlwdLD1/1dj+oeHx9IeRL0 1P6Z1qDoEPPQ8vOxFwMvO181vi4fPjKy903k6I4xq7dq45QJwsTnyRdTN99V TmfNhL3f+kFhljg79LFsLuyTxjx2fmih7nPGos8XwyXxr6xffyzPf5teebv6 dm38+9SPjz+/rK//8r8pyhCtiJ7DdGCzcE54BQZOhneMPYQqphxiHLM3iwWr BpsAiYn0k6zI4cWZz9XHjebR4A3mO8M/LMgr5EDJFe4TJYiZi++TuCvFIG0l kyv7VF5IIVjxqjJaxU715OZxdXmNeM1OLSZtJ51i3TF9aYMIw0ajFRM903Sz NvPnFjOW36xxNqStgraSdor2qg7qjupOqs7yLuKufG6s7sD9k8eI54NtrdvP 7Njrtc1bzYfVZ4ba5Vvmt8vfJUAxkBA4GXQruDgkPtQhTC4cH/42op12MpIe ZbNTgg7oL6MvxxyKDYozjOeL/5LwMLE6KW3Xtt2bk4nJUyk39xTujU51T9NL F81gyJjb9zSzNats/74DYdn2B9VyeHLWD03k3smrP3z0SNzRbcf08ynHwfE3 BTdPlBWmnqQWGRWLlmBKJk/1nq4pPVhGO2NfrlrBWfGt8tXZG1Xl1WnnfGuM zovUomvH625fqKxPb/C/aHJJrBHTOHG5+8rZqxlN/s0mLWLXcNdmW59dv9FW 037sRsrNsFseHeadGreluni7WXpQPd965+5M3h2+N3i/v+/ug76H/f2PHz15 PDjw/MnLp6+fjQyODr19PvFi6uW7V+9fzw7Pjyy++Tq68hYZF5+wnUycqn73 Yob03vbDkdkXczKf0ufHP9ssXl9S/drwTXXl+prZ96GfIX/8r4B8QJ1CO2EY MNewcTh13AK+hSGF0YLAT5hn6iIWMIeymLIKs/4k4di5yDIcWzhNuVw3hXLv 5TnOe4Gvm39EYFWIg6IkbCsSKZordkG8X2JRiltaXyZINkfuovyQwg8lYWUz lWDV7M11ag/UZzWJW6S0LLT9dfbolujV69canDbMM0oxDjNxNzUwkzBnNJ+2 6LY8bRVjbWbDYTO69bwt3U7dbtW+3SHFUctxyemic5iLuMsb1yI3Z3cW916P VE8tz8VtdduDdgjtGPI67G3pg/i0UZN8t/gu+zX5xwSoBCwENgRFBMsET4dU hfqHUcKGw4siXGlkWn/kwSiLndidt+mp0XrR32OuxSbEqcUtxNcnhCVKJo4n lcKZwrV7IDk3xWIPes/tvTlwroinLaS3Z2Tvc80UzfyUdX1/1gHHbMHs9wev 5uw9ZJ3LlTuWV3c47ojRUdajr4/V5McdNy4gFYycqC1MPGlWxFE0Bk/N5FM2 p3lPT5c2lWWccSoXL1+rGKy8eDa7yr9a/xzfua81A+cbanPqQi6Y10s0YBom Lt6+VNGYftn/itVVrSalZskWoWvcrRzXSW2kdo4bfDfFb6l0mHR63I7uyutu 6BnoXblLubfj/tiD/f2bH00OlD0NGtR7LvNS/vXWkbzRz+PJU/Iz4MPiJ8Jn w6W8b4vfIzf8/ztHtnEm4NQBqIQ5EddnALhE/8bi+vD86APAnhkA5y0AtU8Q oDYRAJLT98/5gcBTBAeYYDaFF2ZXFIEOjDM9YMS9C+TBaPIajB9nEDTCB6NE K8QPSUYKkSswCvyEYkHJo7aiIlFHUFdQz1E/0CJoS3QUuhBmEj7As8gIQ8OU YO5hVrBSMC7LxrZhP+FEce64XFwP7ideA0/HX8C/Z5BkCGSogruVNGME4yXG ZYIeIZPQz8TLFMB0iYgjUontzPzMu5nfsBiz1LCSWVNYP7J5sT0hWZN6YCzT Q7YhP+OgcixwpnPxcF3a5LjpG3cZjxXPMm81nwc/M3+XQIqgluCKUCslWdhY hCjyXLRKLF7cSkJMEpEcleqUroY7XYJcgLyTgqmilpKysoyKhKr4Zkk1WXUV DW1N5S3SWuLaojpiulJ6ivpaBlaG241ijPNM6k0HzFYtJCxdrbKtO21+2JrY HbUfd9R0OgRPP0O3Uvd1T+q2nh3yXgU+CDXS942/Y0BvkEHwtVDDsL6I7bT5 qAN0iei7sTvjhRKeJuXutkvh2PMm9WJ61j7fLIMDzNlDOeW5kYcNjpKOTRy/ diLvZHCx8SnK6fWysfLuyvqqwnP7zsfWedYbX1RsFLrC3kRowbbi2phv8NyS 7TTuovZk3mm89/YBT7/L44KnvIPVL1RfXR/RGr08LjKZ9e7te9XZpLmW+blF ypLVcvTKybXrP0Z/7R8IQEP/EwEZCMB8w2aYMXGCOZEEcAhUwhzCEFhE2BAp xAjZjiQg+Ugj9P1nFBmlhnJH7Ybx/R3UPJobbYSOQJ9E96AXMaIYJ0wGjM9n YFTuAGPxduwXnDwuCFeBe4MXwG/Hl+CHGSgM/gw1DPOMmoypjH0EbkIA4TIT msmZqYqIIgYRHzJrMlfCqDedZZk1gvUdmx/bOCmINMeeSMaTT3Ioctzh9Ifx aNUmF24C922ePby6vD/5OvmzBZwFhQUXhLopRcIxIvaiimLsYl/FRyUeSLZJ NUhXyZTKlsgVy59WqFSsV2pVvqcyorqkxqoup2Gt6bUlVitPu1bnnu6sPslA yzDAKN+4x2TNTMWcZlFr+dFaxSZha7cdj/1Ohz4naef9LrNuDu6tnhLb8ndg vRK856jBvuP+fgETQaHB86Gp4RwRtZEmUWP01Bix2L742ETRpKe796fo71lJ bUlP3Kefhdvfk52RY5yLzus9kn3M9ji54EVhaVFgifyppdL2M1kVjmeFqmbP XT9/sM62ntwwfKnmcvxVi2a+loXW+21VN/bdCui07FLs4bqD3J29//LB/f72 x5ee0J/JD757XvbS7TVhuPmN3xjj2/MTFpMj72jTq+/TZtEf986tzUctjC86 f7n1VXa5YAWsBq09+KH2s/iP/zHwPwQS4AOSMNNkBtd+BEgHxaAJDIB56Hs5 xBJmhLJgDqgPmUdxonRQ/qhDqBbUBJqENoAr/gz6CQaP0cFEY85jxrECcLXn Ywdw7Dgn3HHcC7wQPhDfgF+FWZR8hglGdcYDjG8IaoRcwgyTKVMFkYmYTPzM HMo8BfMb06yRrGtsOSRR0k12XzITuZUjklOW8wNc2ancrjxKvCy883xD/J0C jYJVQqWUYuFTIhWi9WJt4nclhiRnpBEZflltOW/5/QpXFaeU+VXcVE9sfqUu phGleUOLpB2i060npn/AYNHI13jQ1M6sz8LOctDaz2bRlmY36eDtOOLs7TLl Fun+0/PwdskdHd4+VIxvrb9bIC7oekhUmGT4GK0M3s0loxdib8TnJfrt0knm Slna+zztRkZNZsH+pGyXHJVcct63IyPHeo83nig7ebg47VRcafiZgAqfs97V XjXUWqcLyg2sFz829l0535TV4tuq1cbaPnqzviPhtm436Ll5Z9c9tfsfH5T3 ezxmGTjw5P4zZFBjKPx52YuBV+C1/LDzSPybgtH6sY63D8YHJ55NPp7qetc4 XTKT/N77gxq8MQ5/rJ6jf1L/9G3+2kLMZ4XPM4slX+yWUEsXv+5YJixf+bZj BbdyYdVx9dvaqe/638d+pP8U/dm57rPh/+hAVZizhA9CNILpx5H19UUJmKs8 CsCPI+vra+Xr6z8qYLDxGoBb4b//d9lgxsFcfUnzBuoxzti78f3P578AwPnF 1sjCbaUAAAGdaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8eDp4bXBtZXRh IHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA1 LjEuMiI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5v cmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVz Y3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmV4aWY9 Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPGV4 aWY6UGl4ZWxYRGltZW5zaW9uPjU3ODwvZXhpZjpQaXhlbFhEaW1lbnNpb24+ CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj40Mzc8L2V4aWY6UGl4 ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9y ZGY6UkRGPgo8L3g6eG1wbWV0YT4K7xnVawAAQABJREFUeAHt3Q9YU2eeL/DX XVCwBi86+HfmIqJt7CxpC+uD1kE36E5hvDVeV20fCX3kdgd9dnwQ9j5bJz4j zx28T3nQ7io+M32QGS99psFehfYSZlvs3YKK7RgeL9wxOg1OwwB3m9SBNbRJ x0STLfd9T3KSQwgnoIeQQ77naZNzznvO+/7O5z3mx/mXzBkdHSUYIAABCEAA AvIU+DN5ho2oIQABCEAAAkwAaQz7AQQgAAEIyFgAaUzGnYfQIQABCEAAaQz7 AAQgAAEIyFgAaUzGnYfQIQABCEAAaQz7AAQgAAEIyFgAaUzGnYfQIQABCEAA aQz7AAQgAAEIyFgAaUzGnYfQIQABCEAAaQz7AAQgAAEIyFgAaUzGnYfQIQAB CEAAaQz7AAQgAAEIyFgAaUzGnYfQIQABCEAAaQz7AAQgAAEIyFgAaUzGnYfQ IQABCEAAaQz7AAQgAAEIyFgAaUzGnYfQIQABCEAAaQz7AAQgAAEIyFgAaUzG nYfQIQABCEAAaQz7AAQgAAEIyFgAaUzGnYfQIQABCEAAaQz7AAQgAAEIyFgA aUzGnYfQIQABCEAAaQz7AAQgAAEIyFgAaUzGnYfQIQABCEAAaQz7AAQgAAEI yFgAaUzGnYfQIQABCEAAaQz7AAQgAAEIyFgAaUzGnYfQIQABCEAAaQz7AAQg AAEIyFgAaUzGnYfQIQABCEAAaQz7AAQgAAEIyFgAaUzGnYfQIQABCEAAaQz7 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 tBqT/nS9ic7Wfm+970qhfyF1/nq+EfKMupDOpeAe5x9pdt21NdO/ECHPFLKi cMMEW/qAcXPeRJGRS20NlXvWLEmZMye/ytCblvn0bH1SIhwR5kkpEPrBIWXd qAsCogIPSEg2CpkkZB73caopL3p+eRH9MH1A5i1MSnKT5xYnT1Tx1yzD+ffq ufP9S7FbGAkpr6pZzo3RfPPqwoXkgWJZyF1ziqf3aonh/U+ubVtIs2W55sWv bxzU/+bjztV36eoa9TpCXCJViRSZ6frq7JWCuy5YQGJDSGT8oursVeMq8Trs LLfT05A1z/Pbt5BtHyHDDpp7RAZ1aWlKfb0+57DGdXZ3oOLLd/8kWMe3Wb6+ cMwd84HBFwmWZqOT2dLU3Lc9QyUX37lwsaXecLn6MP2PNFpc+/h0HVIlJiEg IjBmrxRZDkUQiL7AwsXfoo3qyo6+lu+//9HZ2/Gu0f4f+Pw0PiTbPQ9J930g 22920PKnlynIbx10RPPyP7yWy39U9zS/ZSLL5tPdn0udKfN8aSNp0x4d0Vdu 3kqXL38mfYVrq5aUHN5qYGcgn+duLXwwcVUiRePjnHAOOywkho9vuQ9k+YK1 XTq6srC6wWSbaJWkVUp6EGnQ7j322j7/Mt7B5nOXFjyfpfzyeVoyaHWSLN/x lft8cXKRvtw8UkyPjNS1tWfLVn33s5TD9XtOvmQ9lu8/JlORYBr77DfttM55 9C8DdrB5+X/fGM7l+2Kg+zprjguYjUxu8C0+3NNa9/4XrxwrO7uv7Ofuke73 qjYUnf7l+5/uK+MOMSdXFZaCgE8AJxWxJ8SuQOaWF+k1qeqtf996a5hG6ey7 VLxua0nJHit/vDU+9MMllV3DNDU5O84cqTTR55oL04li29/R04uG0sNn+5y0 yHur+WjOnpKSNz9LoGmM+1ilN9wPjrCy9I3buBsZaBZTryRk1QaW0OigefX7 3Ge8SFUiRb46JveqWLuTJiV9UVXzLRqPe7jr5JFq2r5q1YIJ10/KKORWOXq+ y00Xcg++9aNVew4ebLzlSPuLjXRzqguPXOpjJ/QGO+qL9ISUblrDZcgUtvGK v2swUOTKrX/XxZ3zYycbqwtPXOqjyw/3nNcepCuUb1Mp1r3IbuSs3Pr3vqps PW+9VFJPA3vuycDpT1ouPtC6DYYPeyj0vd6mysqDh8900DYTkhS+PyKeWbVQ fH2UQiC8wOQuoWEpCExRwHfrtkrwrROCb44I+caN7lqWOwJfwMFNqnxf92Bu 0oXsuKUN4b9xY/xN/ESlM/vvah9q8N3MEKxLZaA38tHBfzMkK+hkdxvYuS/L IKUG7s49j1nLrSK4qWTiqkYnKuK+gENAEbL5IbIeazvNSsKhtIHegSJWyfhV 6KGW77aNcYBqtuGCvqCt+2/L1DTY+TsVha3X8beimBq5GyIFZTXtXCPB2sSC 5G8lpYeBDS6XiV24HDOUh7txJ8QGkxAIIzCHzhuzL2ECAtIIOHs6Lg898d1t uZn0mIcN3pGuj649XLUxT5nmHe796PrAWvW2TO77D+kTy5dvfvmMOj+dO/U1 0td17XcPN/4gL41bk5b++tJHn39FkhZ+O3dbYW5m+D//uTq/Um381m/ee9f8 FfnO6o2a3XmCRb19XR+8f7WXHq8s/PZfFrzob4vG5Rzs+vVl88O5/3H73nza 4nDvteu//9OTeduU7KFjb9+1j373pyc2bvMH49uSiapiy4drhX4d4s0vV/wg 3/91iCGbz9U59sVtu/Ter01sm5ds3K7J4zY5fCV52zJ9D0e7hzv++b3/84ev 6L0yyo3f/35e4KlztoHvGq4OuemGqwpeLGDIgr7gGh6+dql7hKTmfS+xRJFD atuOP/d12/U/JC1Zrd7+n7IET1LTrjG876tKueWvv6/0FQlqCx+kv6O9vdc+ MPbZFyzL2VmQleAd7vrgX672fk4D/rYq96+35fq6eywEpiAQWQBpLLIRloBA vAi4e3Ym5zhquztwjSpeunw2bCeujc2GXsQ2QEAaAQ+ht7Dck6Yu1AKBKAn4 z/dEqTU0AwEIxLJA8uK/ral6+NziWI4RsUEgRAAnFUNAMAkBCEAAAnISwElF OfUWYoUABCAAgRABpLEQEExCAAIQgICcBJDG5NRbiBUCEIAABEIEkMZCQDAJ AQhAAAJyEkAak1NvIVYIQAACEAgRQBoLAcEkBCAAAQjISQBpTE69hVghAAEI QCBEAGksBASTEIAABCAgJwGkMTn1FmKFAAQgAIEQAaSxEBBMQgACEICAnASQ xuTUW4gVAhCAAARCBJDGQkAwCQEIQAACchJAGpNTbyFWCEAAAhAIEUAaCwHB JAQgAAEIyEkAaUxOvYVYIQABCEAgRABpLAQEkxCAAAQgICcBpDE59RZihQAE IACBEIH/Dyc81h60bRGVAAAAAElFTkSuQmCC --------------070202030001030203080907 Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers --------------070202030001030203080907--