<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-7997313029981170997.post238066785352972554..comments</id><updated>2010-09-12T00:56:12.198-04:00</updated><category term='mobile'/><category term='Fedora'/><category term='postgres'/><category term='tools'/><category term='sysadmin'/><category term='pentaho'/><category term='data-structures'/><category term='community'/><category term='hosting'/><category term='analytics'/><category term='SELinux'/><category term='Unicorn'/><category term='redhat'/><category term='audio'/><category term='travel'/><category term='css'/><category term='git'/><category term='tips'/><category term='nginx'/><category term='Spree'/><category term='cakephp'/><category term='email'/><category term='nosql'/><category term='social-networking'/><category term='performance'/><category term='unicode'/><category term='piggybak'/><category term='eye-candy'/><category term='reporting'/><category term='thrift'/><category term='facebook'/><category term='visualization'/><category term='openbsd'/><category term='mysql'/><category term='scalability'/><category term='riak'/><category term='security'/><category term='CentOS'/><category term='graphics'/><category term='cucumber'/><category term='rvm'/><category term='cloud'/><category term='django'/><category term='remote-work'/><category term='networking'/><category term='wordpress'/><category term='perlbrew'/><category term='optimization'/><category term='book review'/><category term='dropbox'/><category term='sinatra'/><category term='design'/><category term='mp3'/><category term='ruby-and-ruby-on-rails'/><category term='testing'/><category term='open-source'/><category term='json'/><category term='ruby'/><category term='yui'/><category term='virtualization'/><category term='COTS'/><category term='Camps'/><category term='javascript'/><category term='admin'/><category term='workflow'/><category term='sponsorship'/><category term='perl'/><category term='messaging'/><category term='environment'/><category term='gnu'/><category term='lua'/><category term='rpm'/><category term='browsers'/><category term='configuration-management'/><category term='python'/><category term='ecommerce'/><category term='Conference'/><category term='voldemort'/><category term='image'/><category term='jasper'/><category term='clients'/><category term='dbdpg'/><category term='Android'/><category term='virtualenv'/><category term='database'/><category term='version-control'/><category term='linux'/><category term='USPS'/><category term='data-warehouse'/><category term='openafs'/><category term='cassandra'/><category term='mondaylinks'/><category term='php'/><category term='Debian'/><category term='monitoring'/><category term='liquid-galaxy'/><category term='audit'/><category term='Bucardo'/><category term='Java'/><category term='mongodb'/><category term='API'/><category term='seo'/><category term='SeniorNet'/><category term='company'/><category term='jquery'/><category term='jobs'/><category term='sql'/><category term='virtualenvwrapper'/><category term='search'/><category term='Ubuntu'/><category term='Interchange'/><category term='caching'/><category term='ipv6'/><title type='text'>Comments on End Point Blog: Reducing bloat without locking</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.endpoint.com/feeds/238066785352972554/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7997313029981170997/238066785352972554/comments/default'/><link rel='alternate' type='text/html' href='http://blog.endpoint.com/2010/09/reducing-bloat-without-locking.html'/><author><name>Jon Jensen</name><uri>http://www.blogger.com/profile/18273388885281263476</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_rFXHDrokbpE/SJHpPosaIQI/AAAAAAAAAAM/GnqeZuLItOA/S220/jon1.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7997313029981170997.post-7050497958059512520</id><published>2010-09-12T00:56:12.198-04:00</published><updated>2010-09-12T00:56:12.198-04:00</updated><title type='text'>To clarify that bit at the end, HOT helps reduce t...</title><content type='html'>To clarify that bit at the end, HOT helps reduce the scope of the problems with this trick, by avoiding bloat during some of the many updates here, but it can&amp;#39;t completely eliminate the index bloat concerns.  Referring to what you wrote for a second about when HOT kicks in:  &amp;quot;...there&amp;#39;s sufficient free space available for the tuple to stay on the same page&amp;quot;.  If the tuple stays on the same page, you didn&amp;#39;t accomplish anything useful yet:  the tuple will still be on the almost empty page you were trying to clean out.  So eventually, to do what you want here, you must create a situation where HOT doesn&amp;#39;t help.&lt;br /&gt;&lt;br /&gt;Also, while this is a neat userland version of what had been only proposed as server side code before, your title is overpromising just a bit here.  In order for the database to do the &amp;quot;truncated x to y pages&amp;quot; trick, it still has to acquire an exclusive lock on the table, as pointed out in the &amp;quot;Recovering Disk Space section of the documentation (and in vacuumlazy.c where this message spits out from).  So this technique doesn&amp;#39;t eliminate the need for such a lock; it just reduces the amount of time said lock has to be active for.  VACUUM FULL holds an exclusive lock the whole time you&amp;#39;re running it.  Using this approach, you only need it for the shorter period when the &amp;quot;lazy&amp;quot; regular VACUUM is running at the end.  To reduce the size of a relation, you must at some point have at least a brief exclusive lock on it, can&amp;#39;t be avoided.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7997313029981170997/238066785352972554/comments/default/7050497958059512520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7997313029981170997/238066785352972554/comments/default/7050497958059512520'/><link rel='alternate' type='text/html' href='http://blog.endpoint.com/2010/09/reducing-bloat-without-locking.html?showComment=1284267372198#c7050497958059512520' title=''/><author><name>Greg Smith</name><uri>http://www.blogger.com/profile/16149991742662655368</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_8I8rKdmVE7Q/Ssv2P2GkwDI/AAAAAAAAAAM/IP1RQrLg2uA/S220/profilepic.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.endpoint.com/2010/09/reducing-bloat-without-locking.html' ref='tag:blogger.com,1999:blog-7997313029981170997.post-238066785352972554' source='http://www.blogger.com/feeds/7997313029981170997/posts/default/238066785352972554' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-857788369'/></entry><entry><id>tag:blogger.com,1999:blog-7997313029981170997.post-3985435224385648557</id><published>2010-09-10T14:48:10.760-04:00</published><updated>2010-09-10T14:48:10.760-04:00</updated><title type='text'>Yeah, I didn&amp;#39;t bring up that discussion at lea...</title><content type='html'>Yeah, I didn&amp;#39;t bring up that discussion at least in part because it was already a long post. I&amp;#39;d really like something like that to exist, especially if it can be told to run through only a portion of the available bloat. In at least some cases, full table locking would be fine if it was only for a short time, as opposed to the full time required to consolidate rows, or rewrite an entire table and all its indexes.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7997313029981170997/238066785352972554/comments/default/3985435224385648557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7997313029981170997/238066785352972554/comments/default/3985435224385648557'/><link rel='alternate' type='text/html' href='http://blog.endpoint.com/2010/09/reducing-bloat-without-locking.html?showComment=1284144490760#c3985435224385648557' title=''/><author><name>Joshua Tolley</name><uri>http://www.blogger.com/profile/08481531515300677240</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.endpoint.com/2010/09/reducing-bloat-without-locking.html' ref='tag:blogger.com,1999:blog-7997313029981170997.post-238066785352972554' source='http://www.blogger.com/feeds/7997313029981170997/posts/default/238066785352972554' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-615717728'/></entry><entry><id>tag:blogger.com,1999:blog-7997313029981170997.post-6730231185975826809</id><published>2010-09-10T03:31:25.214-04:00</published><updated>2010-09-10T03:31:25.214-04:00</updated><title type='text'>When it was decided to change the way VACUUM FULL ...</title><content type='html'>When it was decided to change the way VACUUM FULL works, there was this idea of providing a contrib module that does what you&amp;#39;re describing. See:&lt;br /&gt;&lt;a href="http://www.mail-archive.com/pgsql-hackers@postgresql.org/msg135774.html" rel="nofollow"&gt;thread on pgsql-hackers&lt;/a&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7997313029981170997/238066785352972554/comments/default/6730231185975826809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7997313029981170997/238066785352972554/comments/default/6730231185975826809'/><link rel='alternate' type='text/html' href='http://blog.endpoint.com/2010/09/reducing-bloat-without-locking.html?showComment=1284103885214#c6730231185975826809' title=''/><author><name>Heikki Linnakangas</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.endpoint.com/2010/09/reducing-bloat-without-locking.html' ref='tag:blogger.com,1999:blog-7997313029981170997.post-238066785352972554' source='http://www.blogger.com/feeds/7997313029981170997/posts/default/238066785352972554' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-977768757'/></entry></feed>
