<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    
    <title>Raymond P. Burkholder - Things I Do - PostgrSQL</title>
    <link>http://blog.raymond.burkholder.net/</link>
    <description>In And Around Technology and The Arts</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.7.2 - http://www.s9y.org/</generator>
    <pubDate>Tue, 25 Jun 2019 18:04:31 GMT</pubDate>

    <image>
        <url>http://blog.raymond.burkholder.net/templates/bulletproof/img/s9y_banner_small.png</url>
        <title>RSS: Raymond P. Burkholder - Things I Do - PostgrSQL - In And Around Technology and The Arts</title>
        <link>http://blog.raymond.burkholder.net/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>Monitoring PostgreSQL (and stuff)</title>
    <link>http://blog.raymond.burkholder.net/index.php?/archives/858-Monitoring-PostgreSQL-and-stuff.html</link>
            <category>PostgrSQL</category>
    
    <comments>http://blog.raymond.burkholder.net/index.php?/archives/858-Monitoring-PostgreSQL-and-stuff.html#comments</comments>
    <wfw:comment>http://blog.raymond.burkholder.net/wfwcomment.php?cid=858</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.raymond.burkholder.net/rss.php?version=2.0&amp;type=comments&amp;cid=858</wfw:commentRss>
    

    <author>nospam@example.com (Raymond P. Burkholder)</author>
    <content:encoded>
    &lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://medium.com/@jonathangfischoff/what-should-a-postgresql-migrator-do-47fd34804be&quot; target=_blank&gt;What Should a PostgreSQL Migrator do?&lt;/a&gt;: discusses schema migration methods from version to version
  &lt;li&gt;&lt;a href=&quot;https://www.postgresql.org/docs/9.0/static/arrays.html&quot; target=_blank&gt;arrays&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.postgresql.org/docs/9.2/static/tutorial-inheritance.html&quot; target=_blank&gt;inheritance&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;https://medium.com/holistics-software/why-you-should-use-postgres-over-mysql-for-analytics-purpose-e3df42df35d7&quot; target=_blank&gt;analytics&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.postgresql.org/docs/9.2/static/monitoring-stats.html&quot; target=_blank&gt;statistics collector&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.postgresql.org/docs/8.4/static/dynamic-trace.html&quot; target=_blank&gt;dynamic tracing&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.postgresql.org/docs/9.5/static/runtime-config-logging.html&quot; target=_blank&gt;logs&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;https://plproxy.github.io/tutorial.html&quot; target=_blank&gt;proxies&lt;/a&gt;
  &lt;/ul&gt; 
    </content:encoded>

    <pubDate>Wed, 08 Nov 2017 13:14:49 +0000</pubDate>
    <guid isPermaLink="false">http://blog.raymond.burkholder.net/index.php?/archives/858-guid.html</guid>
    
</item>
<item>
    <title>Transactionally Staged Job Drains in Postgres </title>
    <link>http://blog.raymond.burkholder.net/index.php?/archives/811-Transactionally-Staged-Job-Drains-in-Postgres.html</link>
            <category>PostgrSQL</category>
    
    <comments>http://blog.raymond.burkholder.net/index.php?/archives/811-Transactionally-Staged-Job-Drains-in-Postgres.html#comments</comments>
    <wfw:comment>http://blog.raymond.burkholder.net/wfwcomment.php?cid=811</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.raymond.burkholder.net/rss.php?version=2.0&amp;type=comments&amp;cid=811</wfw:commentRss>
    

    <author>nospam@example.com (Raymond P. Burkholder)</author>
    <content:encoded>
    &lt;p&gt;This is something worth recording.  The original article &lt;a href=&quot;https://brandur.org/job-drain&quot; target=_blank&gt;Transactionally Staged Job Drains in Postgres&lt;/a&gt;, which is informative by itself, was linked from &lt;a href=&quot;https://news.ycombinator.com/item?id=15294722&quot; target=_blank&gt;Hacker News&lt;/a&gt;, which has even more supporting information.

&lt;p&gt;&lt;blockquote&gt;
Building a robust background worker system that leverages transactional isolation to never work a job too early, and transactional durabiity to never let one drop.&lt;/blockquote&gt;

&lt;p&gt;&lt;blockquote&gt;With this pattern, jobs aren’t immediately sent to the job queue. Instead, they’re staged in a table within the relational database itself, and the ACID properties of the running transaction keep them invisible until they’re ready to be worked. A secondary enqueuer process reads the table and sends any jobs it finds to the job queue before removing their rows.&lt;/blockquote&gt;

&lt;p&gt;&lt;blockquote&gt;Jobs are only removed after they’re successfully transmitted to the queue, so even if the worker dies partway through, it will pick back up again and send along any jobs that it missed. At least once delivery semantics are guaranteed.&lt;/blockquote&gt; 
    </content:encoded>

    <pubDate>Sat, 23 Sep 2017 23:24:48 +0000</pubDate>
    <guid isPermaLink="false">http://blog.raymond.burkholder.net/index.php?/archives/811-guid.html</guid>
    
</item>
<item>
    <title>Installing PostgreSQL on Debian Lenny</title>
    <link>http://blog.raymond.burkholder.net/index.php?/archives/443-Installing-PostgreSQL-on-Debian-Lenny.html</link>
            <category>Debian</category>
            <category>PostgrSQL</category>
    
    <comments>http://blog.raymond.burkholder.net/index.php?/archives/443-Installing-PostgreSQL-on-Debian-Lenny.html#comments</comments>
    <wfw:comment>http://blog.raymond.burkholder.net/wfwcomment.php?cid=443</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.raymond.burkholder.net/rss.php?version=2.0&amp;type=comments&amp;cid=443</wfw:commentRss>
    

    <author>nospam@example.com (Raymond P. Burkholder)</author>
    <content:encoded>
    &lt;p&gt;Release 5.0.1 of Debian&#039;s Lenny GNU/Linux distribution includes version 8.3 of  PostgreSQL.

&lt;p&gt;During the creation of a new Debian Lenny server, a list of software packages is 
provided.  To make a new PostgreSQL-only server, unselect everything, including the 
&#039;Standard system&#039;, then select  &#039;SQL Database&#039;, and proceed with the installation.

&lt;p&gt;Once installation has completed, and the new server has rebooted, the PostgreSQL service
is not auto-started.  There are a couple of manual commands to be applied.  In prior 
versions, PostgreSQL was auto-started.  I think I understand the reasoning, particularily 
because it is useful for my situation.

&lt;p&gt;During the server creation, I have a separate set of disks allocated for the database.  
By manually finishing the PostgreSQL implementation, I am able to initialize the directory 
location during service creation.  If I have I&#039;ve mounted my drives at /var/local/db, then 
these two commands get the PostgreSQL 8.3 service started:

&lt;blockquote&gt;&lt;pre&gt;
pg_createcluster -d /var/local/db 8.3 main
/etc/init.d/postgresql-8.3 start
&lt;/pre&gt;&lt;/blockquote&gt; 
    </content:encoded>

    <pubDate>Thu, 04 Jun 2009 17:53:43 +0000</pubDate>
    <guid isPermaLink="false">http://blog.raymond.burkholder.net/index.php?/archives/443-guid.html</guid>
    
</item>
<item>
    <title>PostgreSQL Upgrade 8.2 to 8.3</title>
    <link>http://blog.raymond.burkholder.net/index.php?/archives/434-PostgreSQL-Upgrade-8.2-to-8.3.html</link>
            <category>PostgrSQL</category>
    
    <comments>http://blog.raymond.burkholder.net/index.php?/archives/434-PostgreSQL-Upgrade-8.2-to-8.3.html#comments</comments>
    <wfw:comment>http://blog.raymond.burkholder.net/wfwcomment.php?cid=434</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.raymond.burkholder.net/rss.php?version=2.0&amp;type=comments&amp;cid=434</wfw:commentRss>
    

    <author>nospam@example.com (Raymond P. Burkholder)</author>
    <content:encoded>
    &lt;p&gt;Back in Febrary, I wrote a longish article on how to upgrade PostgreSQL.  That article is  outdated.  An upgrade can now take place with two lines:

&lt;pre&gt;&lt;blockquote&gt;
pg_upgradecluster -v 8.3 8.2 main
pg_dropcluster 8.2 main
&lt;/blockquote&gt;&lt;/pre&gt;

&lt;p&gt;The first copies the older version 8.2 files to the new 8.3 files directory.  It does any 
modifications necessary.  The second line then removes the old stuff. 
    </content:encoded>

    <pubDate>Wed, 04 Jun 2008 17:48:52 +0000</pubDate>
    <guid isPermaLink="false">http://blog.raymond.burkholder.net/index.php?/archives/434-guid.html</guid>
    
</item>
<item>
    <title>Upgrading PostgreSQL 7.x to 8.x</title>
    <link>http://blog.raymond.burkholder.net/index.php?/archives/432-Upgrading-PostgreSQL-7.x-to-8.x.html</link>
            <category>PostgrSQL</category>
    
    <comments>http://blog.raymond.burkholder.net/index.php?/archives/432-Upgrading-PostgreSQL-7.x-to-8.x.html#comments</comments>
    <wfw:comment>http://blog.raymond.burkholder.net/wfwcomment.php?cid=432</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.raymond.burkholder.net/rss.php?version=2.0&amp;type=comments&amp;cid=432</wfw:commentRss>
    

    <author>nospam@example.com (Raymond P. Burkholder)</author>
    <content:encoded>
    &lt;p&gt;Upgrading a PostgreSQL server version 7.x to version 8.x was relatively painless. It  helped that there wasn&#039;t a significant amount of data to move, or blob objects to move.

&lt;p&gt;For a Debian server on which I recently ran &#039;apt-get dist-upgrade&#039;, the Debian crew made 
PostgreSQL 8.2 run along side version 7.4.  The /etc/postgresql/8.2/main/postgresql.conf 
file showed the server port as being 5433, by default.  Since the service wasn&#039;t turned on, 
I set it for 5432, and changed the listen_addresses for &#039;* &lt;br /&gt;&lt;a href=&quot;http://blog.raymond.burkholder.net/index.php?/archives/432-Upgrading-PostgreSQL-7.x-to-8.x.html#extended&quot;&gt;Continue reading &quot;Upgrading PostgreSQL 7.x to 8.x&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Tue, 19 Feb 2008 19:20:00 +0000</pubDate>
    <guid isPermaLink="false">http://blog.raymond.burkholder.net/index.php?/archives/432-guid.html</guid>
    
</item>
<item>
    <title>libpqxx: A PosgreSQL C++ Wrapper Library</title>
    <link>http://blog.raymond.burkholder.net/index.php?/archives/368-libpqxx-A-PosgreSQL-C++-Wrapper-Library.html</link>
            <category>C++</category>
            <category>PostgrSQL</category>
    
    <comments>http://blog.raymond.burkholder.net/index.php?/archives/368-libpqxx-A-PosgreSQL-C++-Wrapper-Library.html#comments</comments>
    <wfw:comment>http://blog.raymond.burkholder.net/wfwcomment.php?cid=368</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.raymond.burkholder.net/rss.php?version=2.0&amp;type=comments&amp;cid=368</wfw:commentRss>
    

    <author>nospam@example.com (Raymond P. Burkholder)</author>
    <content:encoded>
    &lt;p&gt;I&#039;ve looked at the C library for PostgreSQL and then wanted to see if there were any C++  wrappers for it.  The most current appears to be  &lt;a href=&quot;http://pqxx.org/development/libpqxx/&quot; target=_blank&gt;libpqxx&lt;/a&gt;.  On first blush,  it looks very good.  It if functional and robust.  But... it has one draw back.  The library  insists on converting all binary stuff into text for passing back to the caller.  For some  applications, that can be a reasonable library simplifier.

&lt;p&gt;But in this day and age of Templates and polymorphism, it seems to be a copout.  Yes, if 
I had time, I&#039;d probably try my hand at implementing some sort of &#039;variant&#039; implementation 
to handle the various types of data that come back.
 &lt;br /&gt;&lt;a href=&quot;http://blog.raymond.burkholder.net/index.php?/archives/368-libpqxx-A-PosgreSQL-C++-Wrapper-Library.html#extended&quot;&gt;Continue reading &quot;libpqxx: A PosgreSQL C++ Wrapper Library&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sat, 06 Oct 2007 03:14:24 +0000</pubDate>
    <guid isPermaLink="false">http://blog.raymond.burkholder.net/index.php?/archives/368-guid.html</guid>
    
</item>

</channel>
</rss>
