<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title><![CDATA[zillablog]]></title>
  <link href="https://xzilla.net//atom.xml" rel="self"/>
  <link href="https://xzilla.net//"/>
  <updated>2021-06-09T16:01:23-04:00</updated>
  <id>https://xzilla.net//</id>
  <author>
    <name><![CDATA[xzilla]]></name>
    
  </author>
  <generator uri="http://octopress.org/">Octopress</generator>

  
  <entry>
    <title type="html"><![CDATA[Where To Get Postgres Help Online?]]></title>
    <link href="https://xzilla.net//blog/2021/Jun/Where-To-Get-Postgres-Help-Online.html"/>
    <updated>2021-06-09T09:06:00-04:00</updated>
    <id>https://xzilla.net//blog/2021/Jun/Where-To-Get-Postgres-Help-Online</id>
    <content type="html"><![CDATA[<p>In the recent <a href="https://www.timescale.com/state-of-postgres-results">Postgres Community Survey by Timescale</a>, nearly 50% of users reported that they started using Postgres within the last 5 years, including almost 20% within just the last 2 years. With the pandemic and subsequent lock-downs wiping out so many local user groups and in-person conferences, being able to get help and network with other Postgres users online has never been more important.</p>

<p>Of course the Postgres website lists <a href="https://www.postgresql.org/community/">several community resources</a> which I would encourage you to check out, but given the <a href="https://en.wikipedia.org/wiki/Freenode#Ownership_change_and_conflict">recent kerfuffle with the freenode irc community</a> I thought it might be good to highlight some additional options. Luckily there are a bunch of them out there, and they are all free to join. The following list is not exhaustive by any means, but these are the regular postgres gatherings that I visit at least occasionally and I think you’ll be able to get something out of as well.</p>

<p><strong><em><a href="https://postgres-slack.herokuapp.com/">PostgresTeam.Slack.com</a></em></strong> - Ok, this one is listed on the community page, but since I use slack regularly for work, the Postgres slack team has become my daily driver. The <a href="https://postgresteam.slack.com/archives/C0FS3UTAP">#general</a> channel serves as the primary spot for general Q&amp;A, but there are also topic specific channels like <a href="https://postgresteam.slack.com/archives/CRFV83RLJ">#pgbackrest</a> and <a href="https://postgresteam.slack.com/archives/C9XPYG92A">#patroni</a>, not to mention general information channels like <a href="https://postgresteam.slack.com/archives/C0G165YF9">#postgres-job-offers</a> and <a href="https://postgresteam.slack.com/archives/C848F38GK">#pgsql-commits</a>. So far we’ve had over 10,000 people sign-up for the Postgres slack, and the community continues to grow at a steady pace. If you’ve not used slack before, one of the nice things about it is it has excellent clients for the desktop, through your favorite web browser, and even on mobile; just in case you need to get your postgres fix on the go. (What? I can’t be the only one!)</p>

<p><strong><em>Stackoverflow</em></strong> - Well, technically <a href="https://dba.stackexchange.com">https://dba.stackexchange.com</a>, but in any case, your favorite technical question / answer site has a site dedicated to databases. While I have a lot of concerns about <a href="https://www.prosus.com/news/prosus-to-acquire-stack-overflow-for-us18-billion/">the recent purchase</a>, I don&#8217;t see anything that comes close to an alternative given what it offers. One of the nice things about stackexchange is that it works a little better for long form questions that require more detail and less back-and-forth troubleshooting like you might do on Slack. It also better embraces the asynch nature of the web, which is not to say that you’ll have to wait long, the community there is pretty active and answers can often come in minutes. Oh, if you go now, they are running their annual <a href="https://stackoverflow.blog/2021/05/25/the-2021-developer-survey-is-now-open/">Developer Survey</a>; if you sign up be sure to represent the Postgres community :-)</p>

<p><strong><em>The Postgres blogging community</em></strong> is also pretty active, and you can certainly get a lot of good information through posts, and get some questions answered via comments on those topics. While I don’t have a dedicated process for reading Postgres blogs, I find that I do end up coming back to certain ones time and again. If you don’t have a favorite, just keep the <a href="https://planet.postgresql.org">Planet Postgres</a> site handy and you&#8217;ll have the chance to check out many of the most active Postgres bloggers and assemble your own list.</p>

<p><strong><em>Of course there is always twitter</em></strong>. Best for quick questions and finding out what&#8217;s new in the world of Postgres, many folks in the community are active and willing to answer (short!) questions on twitter. While there aren’t any official hashtags, I’d recommend following (or tagging) tweets with #postgres or #postgresfriends (or #pghelp if you&#8217;re optimistic) to get started, and through those you’ll be able to uncover active community members that might also be worth following.</p>

<p>Finally I also want to <strong><em>give a nod to IRC</em></strong>. I’ve been visiting the postgres channel on freenode for nearly 20 years and while the recent changes were a tad depressing the community members on IRC have bailed me out plenty of times, and I&#8217;m certainly thankful for thier help over the years. You can read the official <a href="https://www.postgresql.org/about/news/migration-of-postgresql-irc-channels-2216/">migration announcement</a> about the irc team moving to the Libera Chat network, and the Libera Chat folks also have some nice docs on access IRC, whether through a dedicated IRC client or through <a href="https://web.libera.chat/">a web based client</a> (I&#8217;m currently trialing this). The primary community channel on IRC is #postgresql, but there are a number of other options; check out the <a href="https://www.postgresql.org/community/irc/">community irc page</a> for more info. If you don’t like Slack for some reason and want to do chat, IRC is still a nice option.</p>

<p> As I mentioned before, this list is certainly not exhaustive. If you don’t like these options, you’re only a google search away from other ones, especially if you are looking for regional or language specific options.</p>

<p>In my experience most of these groups are quite welcoming to new users and happy to answer questions on all sorts of Postgres related topics. Of course, given the distributed nature of the project, and being on the internet in general, you are likely to encounter all different sorts of opinions and folks living in their own world; remember to approach new things with an open mind and find the right fit for you.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Do This 10 Times And Stop... In Postgres]]></title>
    <link href="https://xzilla.net//blog/2020/Nov/Do-This-10-Times-And-Stop-dot-dot-dot-In-Postgres.html"/>
    <updated>2020-11-14T21:12:00-05:00</updated>
    <id>https://xzilla.net//blog/2020/Nov/Do-This-10-Times-And-Stop-dot-dot-dot-In-Postgres</id>
    <content type="html"><![CDATA[<p>Say you want to run a query a specific number of times and then stop&#8230; trivial right? Not as much as I first thought. Below is a recreation of how I thought this was supposed to work (I&#8217;ve subbed in <code>select now();</code> for my actual query, as it&#8217;s a bit more illustrative.)</p>

<figure class='code'><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
<span class='line-number'>8</span>
<span class='line-number'>9</span>
<span class='line-number'>10</span>
<span class='line-number'>11</span>
<span class='line-number'>12</span>
<span class='line-number'>13</span>
<span class='line-number'>14</span>
<span class='line-number'>15</span>
<span class='line-number'>16</span>
<span class='line-number'>17</span>
<span class='line-number'>18</span>
<span class='line-number'>19</span>
<span class='line-number'>20</span>
</pre></td><td class='code'><pre><code class=''><span class='line'>pagila=# select now(); \g 10
</span><span class='line'>              now
</span><span class='line'>-------------------------------
</span><span class='line'> 2020-11-14 17:37:50.694618-05
</span><span class='line'>(1 row)
</span><span class='line'>
</span><span class='line'>pagila=# select now();
</span><span class='line'>              now
</span><span class='line'>-------------------------------
</span><span class='line'> 2020-11-14 17:37:56.045518-05
</span><span class='line'>(1 row)
</span><span class='line'>
</span><span class='line'>pagila=# \g
</span><span class='line'>              now
</span><span class='line'>-------------------------------
</span><span class='line'> 2020-11-14 17:37:58.133626-05
</span><span class='line'>(1 row)
</span><span class='line'>
</span><span class='line'>pagila=# \g 10
</span><span class='line'>pagila=#</span></code></pre></td></tr></table></div></figure>


<p>My first attempt, without any thought really, was that the right syntax for this was <code>\g 10</code>. When it didn&#8217;t work, I stepped through the idea, first verifying my select was good, then verifying <code>\g</code> worked as expected, and then trying the <code>\g 10</code> on it&#8217;s own. When that didn&#8217;t work, I double checked the docs and then hit irc to ask if anyone remember that syntax working&#8230; of course the answer was no.</p>

<p>If you are wondering, I think I was conflating <code>\g</code> (which among other things causes psql to either execute the query on the line or re-run the previous query) with <code>\w</code> which also re-runs the previous query, but takes an argument equal to the number of seconds to delay between each run; so <code>\w 10</code> will &#8220;watch&#8221; your query every 10 seconds for eternity.</p>

<p>So, that didn&#8217;t work, so how to do this easily? Well, the best suggestion from irc was to wrap the query in a quick shell loop, which I admit is a simpel enough way to solve this, but to be honest I wanted an sql level way to handle this. The most obvious solution there was to wrap the query into a <code>DO</code> script and just loop through 10 times, but even that felt more cumbersome than it should have been, not to mention that would have put all 10 queries in the same transaction context, which probably didn&#8217;t matter, but wasn&#8217;t something I wanted to think about.</p>

<p>And that&#8217;s when <code>\gexec</code> popped into my head. Ok, it doesn&#8217;t hurt I had just read the docs; but postgres has such a large feature set that even us old timers forget all the things it can do. For the record, the docs describe <code>\gexec</code> as so:</p>

<blockquote><p>Sends the current query buffer to the server, then treats each column of each row of the query&#8217;s output (if any) as a SQL statement to be executed.</p></blockquote>

<p>Ok, there&#8217;s actually more, so <a href="https://www.postgresql.org/docs/current/app-psql.html">go check out the docs</a>, but the main part here was if I could just generate the query enough times, then I could use <code>\gexec</code> to run it for me. Of course anytime you&#8217;re dealing with loops at the SQL level, <code>generate_series()</code> should come to mind, and so marrying the two, you get:</p>

<figure class='code'><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
<span class='line-number'>8</span>
<span class='line-number'>9</span>
<span class='line-number'>10</span>
<span class='line-number'>11</span>
<span class='line-number'>12</span>
<span class='line-number'>13</span>
<span class='line-number'>14</span>
<span class='line-number'>15</span>
<span class='line-number'>16</span>
<span class='line-number'>17</span>
<span class='line-number'>18</span>
<span class='line-number'>19</span>
<span class='line-number'>20</span>
<span class='line-number'>21</span>
<span class='line-number'>22</span>
<span class='line-number'>23</span>
<span class='line-number'>24</span>
<span class='line-number'>25</span>
<span class='line-number'>26</span>
<span class='line-number'>27</span>
<span class='line-number'>28</span>
<span class='line-number'>29</span>
<span class='line-number'>30</span>
<span class='line-number'>31</span>
<span class='line-number'>32</span>
<span class='line-number'>33</span>
<span class='line-number'>34</span>
<span class='line-number'>35</span>
<span class='line-number'>36</span>
<span class='line-number'>37</span>
<span class='line-number'>38</span>
<span class='line-number'>39</span>
<span class='line-number'>40</span>
<span class='line-number'>41</span>
</pre></td><td class='code'><pre><code class=''><span class='line'>pagila=# select 'select now();' from generate_series(1,10) \gexec
</span><span class='line'>              now
</span><span class='line'>-------------------------------
</span><span class='line'> 2020-11-14 17:58:06.963936-05
</span><span class='line'>(1 row)
</span><span class='line'>              now
</span><span class='line'>-------------------------------
</span><span class='line'> 2020-11-14 17:58:06.964205-05
</span><span class='line'>(1 row)
</span><span class='line'>              now
</span><span class='line'>-------------------------------
</span><span class='line'> 2020-11-14 17:58:06.964411-05
</span><span class='line'>(1 row)
</span><span class='line'>             now
</span><span class='line'>------------------------------
</span><span class='line'> 2020-11-14 17:58:06.96467-05
</span><span class='line'>(1 row)
</span><span class='line'>              now
</span><span class='line'>-------------------------------
</span><span class='line'> 2020-11-14 17:58:06.964953-05
</span><span class='line'>(1 row)
</span><span class='line'>              now
</span><span class='line'>-------------------------------
</span><span class='line'> 2020-11-14 17:58:06.965214-05
</span><span class='line'>(1 row)
</span><span class='line'>             now
</span><span class='line'>------------------------------
</span><span class='line'> 2020-11-14 17:58:06.96544-05
</span><span class='line'>(1 row)
</span><span class='line'>              now
</span><span class='line'>-------------------------------
</span><span class='line'> 2020-11-14 17:58:06.965713-05
</span><span class='line'>(1 row)
</span><span class='line'>              now
</span><span class='line'>-------------------------------
</span><span class='line'> 2020-11-14 17:58:06.965962-05
</span><span class='line'>(1 row)
</span><span class='line'>              now
</span><span class='line'>-------------------------------
</span><span class='line'> 2020-11-14 17:58:06.966218-05
</span><span class='line'>(1 row)</span></code></pre></td></tr></table></div></figure>


<p>By using <code>generate_series()</code> I can generate exactly how many copies of the statement I want (and dynamically substituate in info as needed) and each query will run as it&#8217;s own statement, all without leaving psql. It&#8217;s the little things eh?</p>

<p>Note: If you like this post and think <code>\gexec</code> is going to be a usefel addition for your tool box, you may be equally excited to know that just this week Postgres released a <a href="https://www.postgresql.org/about/news/2111/">round of security fixes</a> which includes a fix for a nasty exploit involving <code>\gexec</code>. Yeah, that sucks, but maybe now you&#8217;ll get some value out of the thing you have to patch. Take what you can get, it&#8217;s 2020.</p>

<p>Note redux: Thats what I get for not double checking. The security fix was for <code>\gset</code>, not <code>\gexec</code>. Apologies for any confusion and/or if you accidentally upgraded your database because of my post.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[phpPgAdmin 7.13.0 released]]></title>
    <link href="https://xzilla.net//blog/2020/Nov/phpPgAdmin-7-13-0-released.html"/>
    <updated>2020-11-06T21:12:00-05:00</updated>
    <id>https://xzilla.net//blog/2020/Nov/phpPgAdmin-7-13-0-released</id>
    <content type="html"><![CDATA[<p>I reckon releasing new software trumps just biden yer time, and so I&#8217;m pleased to announce the latest release of phpPgAdmin, version 7.13.0.</p>

<p>This release incorporates the following changes:</p>

<ul>
<li>Add support for Postgres 13</li>
<li>Add provisional support for Postgres 14</li>
<li>Upgrade Jquery library to 3.4.1 (Nirgal)</li>
<li>Allow users to see group owned databases when using &#8220;owned only&#8221;</li>
<li>Fix bug where sorting on selects dumped you to the table screen (MichaMEG)</li>
</ul>


<p>Note this release drops support for PHP 7.1, and will be the last release to support PHP 7.2.</p>

<p>For more information on phpPgAdmin, check out our project page at <a href="https://github.com/phppgadmin/phppgadmin/">https://github.com/phppgadmin/phppgadmin/</a></p>

<p>You can download the release at: <a href="https://github.com/phppgadmin/phppgadmin/releases/tag/REL_7-13-0">https://github.com/phppgadmin/phppgadmin/releases/tag/REL_7-13-0</a></p>

<p>For complete details of changes, please see the HISTORY file and/or commit logs. We hope you find this new release helpful!</p>

<p>Package verification codes:</p>

<ul>
<li>MD5 (phpPgAdmin-7.13.0.tar.bz2) = f4e5e567fb8fae7193fb265b9c7f5b7a</li>
<li>MD5 (phpPgAdmin-7.13.0.tar.gz) = 8a38dca6bd0bcdc9481c88f1ac0c0f80</li>
<li>MD5 (phpPgAdmin-7.13.0.zip) = 46074830709655d1852c3886017ee58c</li>
</ul>


<p>shasum 6.01</p>

<ul>
<li>165caaf0725563b5b98dce6191e55bfdcb1a8c9f  phpPgAdmin-7.13.0.tar.bz2</li>
<li>47620834a8bb169c043f47a3eef6029b4f7169af  phpPgAdmin-7.13.0.tar.gz</li>
<li>12f4dfbaa0f866c6e48e1231f44210a0e6f2907f  phpPgAdmin-7.13.0.zip</li>
</ul>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[New Life Experiment: One Car Family]]></title>
    <link href="https://xzilla.net//blog/2020/Feb/New-Life-Experiment-One-Car-Family.html"/>
    <updated>2020-02-10T09:36:00-05:00</updated>
    <id>https://xzilla.net//blog/2020/Feb/New-Life-Experiment-One-Car-Family</id>
    <content type="html"><![CDATA[<p>Like most American families, for the better part of twenty years, we have been a two car family. When we first moved to Florida, in our beat-up old Dodge Omni, my wife and I simply didn&#8217;t have the money to buy a second car, so we juggled quite a bit. We even &#8220;upgraded&#8221; that car (to a Nissan Sentra!) before getting our second car, but eventually, between both our work schedules and kid activities, we opted for a second car (a 1991 MX-5&#8230; woot!). And it&#8217;s been like that since then; upgraded a car to a SUV to a minivan and several other iterations, but always at least two cars, if not three.</p>

<p>But last year, as OmniTI begat credativ U.S., I made the swap to a full-time remote gig, and no longer need to commute. I still do occasional work trips, or visit meetups, or whatever, but it seems like we don&#8217;t generally need to have two cars, so because the lease s now ended on our small SUV (we own our other car), we turned it in, and are going to see how this one car thing works out. We did some rough math, and figure we&#8217;ll save at around $300-$400/month, between car cost, insurance, tags/title, and other related maintenance. Amber still has a commute, but we think that in the cases where needed, I can give her a ride to work (or her give me a ride to the airport), and if we do have a conflict beyond that, we can use Uber/Lfyt to off-set that, and likely at a rate of less than $300/month. Or maybe we&#8217;ll get it all wrong and go get another car, but for now, we&#8217;re curious to see how it goes.</p>

<p>P.S. For those who have been around a while, yes, we are technically still a two car family. Ole Maggie Miata still sits in the garage, now retired and off the road. If we do need to get a second car, there is a likely chance we&#8217;ll fix her up and get her back on the road. Even if we fail, it&#8217;s a win!</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[The Golden Globes meets Safety Science]]></title>
    <link href="https://xzilla.net//blog/2020/Jan/The-Golden-Globes-meets-Safety-Science.html"/>
    <updated>2020-01-07T14:09:00-05:00</updated>
    <id>https://xzilla.net//blog/2020/Jan/The-Golden-Globes-meets-Safety-Science</id>
    <content type="html"><![CDATA[<p>I&#8217;m not a big fan of T.V./Movie award shows, but I happened to catch the news that this past Sunday the T.V. show Chernobyl won the award for &#8220;Best Television Limited Series&#8221;.  According to it&#8217;s <a href="https://www.imdb.com/title/tt7366338/">IMDB page</a>, the show has apparently won over 30 awards. In this case, I couldn&#8217;t agree more.</p>

<p>I am admittedly late to the Chernobyl party. When the series initially aired in May, I ignored it, thinking I&#8217;d binge-watch it at some point once all the episodes had aired (it is a 5 part mini-series). I did try to watch it late one night during the summer, but if I am being honest, I passed out on the couch before the opening credits finished in the first episode. Maybe Chernobyl wasn&#8217;t for me. And then last fall I happened to end up on a trans-Atlantic flight with 5+ hours to kill so I thought I&#8217;d give it another shot. After all, it is much hard to fall asleep on a plane than on my couch.</p>

<p>And then I was hooked. Since that flight, I have recommended the show to many people, especially those folks I know in the WebOps space who are students of Design Thinking,  Human Factors, Resilience Engineering, or Safety Science.  It isn&#8217;t that the show is not without some flaws; the more you read and learn, you see that there are parts of it that are misrepresented or made up; it is dramatic storytelling after all. But if you have read the literature on complex systems failures or seen failure pathologies documented from the medical, aviation, and nuclear engineering industries, you will immediately recognize the behaviors that surface during the recreation of the accident in the show. Not to mention, the Soviet government does a fine job as a stand-in for internet companies today who are kind-of-sort-of forced to admit when problems go wrong and yet often try to do so without providing any details or disclosing the true nature of the problems.</p>

<p>One of the things so fascinating about Chernobyl, for me at least, is I remember this being in the news as a kid, and that it seemed like it wasn&#8217;t that big of a deal (or at least, not as big of a deal as I thought it should be). Of course, watching this now, it all makes sense since the magnitude of potential destruction was almost incomprehensible (i.e., wiping out most of eastern Europe) compared to what the Soviets were telling everyone at the time. The lasting effects, which were certainly not a worst-case scenario, were still harmful enough that it made me wonder how much of this accident helped lead to the break up of the U.S.S.R. just a few years later.</p>

<p>Since watching the series, I&#8217;ve now gone on to watch a few other shows on Chernobyl, and if you like the show, I&#8217;d recommend these as well. One was a 1-hour documentary called &#8221;<a href="https://www.imdb.com/title/tt8253842/">Chernobyl: As We Watched</a>&#8221; which I caught on something called the &#8220;Americas Hero Network&#8221;. The other was a show titled &#8221;<a href="https://www.imdb.com/title/tt6396950/">Building Chernobyls MegaTomb</a>&#8221;, which highlights a more recent engineering effort to build a new shield over the reactor before the previous one failed. Yes, this is a disaster that will continue to need management for hundreds of years.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[phpPgAdmin 7.12.1 released]]></title>
    <link href="https://xzilla.net//blog/2019/Dec/phpPgAdmin-7-12-1-released.html"/>
    <updated>2019-12-10T21:12:00-05:00</updated>
    <id>https://xzilla.net//blog/2019/Dec/phpPgAdmin-7-12-1-released</id>
    <content type="html"><![CDATA[<p>I&#8217;m pleased to introduce the latest release of phpPgAdmin, version 7.12.1.</p>

<p>This release incorporates the following changes:</p>

<ul>
<li>Fix a number of issues related to changes in Postgres 12.</li>
<li>Fix an issue with truncation of long multibyte strings</li>
<li>Removal of broken tree branches from table/view browse option</li>
<li>Properly escape identifiers when browsing tables/views/schemas</li>
<li>Add support for granting USAGE on sequences</li>
</ul>


<p>Note this new version now requires support for the mbstring module in PHP.</p>

<p>For more information on phpPgAdmin, check out our project page at <a href="https://github.com/phppgadmin/phppgadmin/">https://github.com/phppgadmin/phppgadmin/</a></p>

<p>You can download the release at: <a href="https://github.com/phppgadmin/phppgadmin/releases/tag/REL_7-12-1">https://github.com/phppgadmin/phppgadmin/releases/tag/REL_7-12-1</a></p>

<p>Special thanks to Jean-Michel Vourgère, who supplied a number of significant patches and updates towards this release.
For complete details of changes, please see the HISTORY file and/or commit logs. We hope you find this new release helpful!</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[5 Quick Thoughts on the State of Postgres Survey]]></title>
    <link href="https://xzilla.net//blog/2019/Dec/5-Quick-Thoughts-On-The-State-Of-Postgres-Survey.html"/>
    <updated>2019-12-07T12:20:00-05:00</updated>
    <id>https://xzilla.net//blog/2019/Dec/5-Quick-Thoughts-On-The-State-Of-Postgres-Survey</id>
    <content type="html"><![CDATA[<p>The folks at <a href="https://www.timescale.com/">TimescaleDB</a> have published their &#8221;<a href="https://stateofpostgres.com/">State of Postgres</a>&#8221; survey results in a new micro-site where you can find a summary of responses, some more detailed analysis, and the source data from the survey. This survey was conducted for about 2 months during the late summer/early fall of 2019 and while I haven&#8217;t gone through all the raw data as of yet, after reading the results&#8230; well, I have some opinions. If you haven&#8217;t read it yet, go check it out, it has all the context for the rest of this post :-)</p>

<ol>
<li><p>Join, or Die</p>

<p>Because the Postgres project has no single owner, the Postgres community has always been a little bit fractured and doesn&#8217;t always speak with one voice. As users, this means the community can look rather different depending on which vendors you work with, the country you live in, the tooling you use, or the online communities you interact with. Since these different groups aren&#8217;t always as coordinated as one would hope, initiatives like this can sometimes be harder to push forward, and I think this survey did suffer from that; it only made it out to about 500 people which is a pretty small subset, and you have to keep this in mind before making too large of conclusions about what you see in the data.</p></li>
<li><p>Slow and steady growth</p>

<p>39% of respondents have been using Postgres for less than 5 years, with 10% having started within the last 2 years. I&#8217;ve seen surveys from communities where they suddenly catch fire and 50% have used it in less than a year, and 90% less than two years (rhymes with shmocker?) and it becomes really hard for those communities to manage that, so this seems like a positive, and helps confirm that Postgres is growing at a solid pace, but not in a way that is likely to be damaging for the community.</p></li>
<li><p>You do what now?</p>

<p>Technical titles are hard, but with more than half of the survey respondents reporting some kind of developer-oriented job title, and 50% saying they work in software companies, it is again a good reminder that Postgres isn&#8217;t just for DBA&#8217;s, and that most peoples interactions with the software are coming from non-traditional outlets. I&#8217;ve spent some time coordinating between the Postgres Funds Group and <a href="https://postgresql.us/">The U.S. PostgreSQL Association</a> this year to ensure a presence at shows like <a href="https://us.pycon.org/">Pycon</a>, <a href="https://www.railsconf.com/">Railsconf</a>, and <a href="https://allthingsopen.org/">All Things Open</a>, among others, and I hope to see this trend continue into next year.</p></li>
<li><p>About those clouds</p>

<p>The answers related to running Postgres on-prem vs the cloud were a bit hard to decipher. We can safely assume about 1/3 of folks are running on fully managed Postgres, but we don&#8217;t know how many of those people are also manually managing instances as well. (We do both and I expect others do the same depending on the size/scope of their deployment needs). I feel like I could make a hand-wavey argument that at least 15% of overall respondents are AWS customers, which seems like a pretty big number and will for some will probably exacerbate the rumblings that, relative to their code contributions, Amazon is not contributing their fair share. Granted that isn&#8217;t as surprising as the data on the other cloud providers; <a href="https://docs.microsoft.com/en-us/azure/postgresql/">Azure/Citus</a> didn&#8217;t even rank in the poll, which I just have to attribute to a skew based on Timescale&#8217;s reach, especially since GCP got a hefty 18%, which seems amazing considering how they have managed their <a hef="https://cloud.google.com/sql/docs/postgres/">Postgres offerings</a>. (I have friends at GCP and I like the platform in general, but Postgres seems like a second class citizen the way they are currently running things)</p></li>
<li><p>Those quotes</p>

<p>Oy vey. I&#8217;m not sure if Timescale was picking quotes just to stir up some controversy (there are certainly more friendly ones in the raw data), but the quotes about NoSQL are a bit off-putting. This is an area where the community needs to continue improving because we have a reputation for sometimes being &#8220;stand-offish&#8221;. Not in all cases of course, but if you want to find people with strong opinions who are not afraid to speak out, the Postgres community has lots of them. (Perhaps this blog post is a case in point)  Anyway, given at least 50% of respondents are using at least one NoSQL system in conjunction with Postgres; and based on modern infrastructure patterns that isn&#8217;t going to change; we need to learn to focus on helping people where they are, rather than where we think they should be, and being less abrasive about it in general.</p></li>
</ol>


<p>All in all, I hope this information will be useful for the community, and I want to thank the Timescale folks for publishing the results (and the raw data), and I hope they will continue to do this and/or work within the community to expand the reach of this survey next year.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Introducing phpPgAdmin 7.12.0]]></title>
    <link href="https://xzilla.net//blog/2019/Sep/Introducing-phpPgAdmin-7-dot-12-dot-0.html"/>
    <updated>2019-09-27T00:27:00-04:00</updated>
    <id>https://xzilla.net//blog/2019/Sep/Introducing-phpPgAdmin-7-dot-12-dot-0</id>
    <content type="html"><![CDATA[<p>After an overly long development cycle, I&#8217;m pleased to introduce the latest release of phpPgAdmin, version 7.12.0.</p>

<p>As with many software releases, the code changes are plenty, and the release bullets are few, but they are quite important. In this release we have:</p>

<ul>
<li><p>PHP 7 is now the default version for development, and the minimum version required for phpPgAdmin going forward. Most users are currently running PHP 7, so we&#8217;re happy to support this going forward, and encourage users of PHP 5.x to upgrade for continued support.</p></li>
<li><p>We&#8217;ve added support for all current versions of PostgreSQL, including the pending PostgreSQL 12 release. Our aim going forward will be to ensure that we are properly supporting all current release of Postgres, with degraded support for EOL versions.</p></li>
<li><p>We&#8217;ve updated some internal libraries, fixed additional bugs, and merged many patches that had accumulated over the years. We want to thank everyone who provided a patch, whether merged or not, and hope you will consider contributing to phpPgAdmin in the future.</p></li>
</ul>


<p>This version also comes with a change to our development and release cycle process. When the project originally started, we developed and released new versions like traditional desktop software; annual-ish releases for new versions with all the new features, while providing a few periodic bugfix releases in between. While this was ok from a developers point of view, that meant users had to wait for months (and in unfortunate cases, years) between releases to get new code. As developers, we never felt that pain, because developers would just run code directly from git master. As it turns out, that is a much better experience, and as much of the software world has changed to embrace that idea, our process is going to change as well.</p>

<p>The first part of this is changing how we number our releases. Going forward, our versions numbers will represent:</p>

<pre><code>- the primary PHP version supported (7), 
- the most recent version of PostgreSQL supported (12), 
- and the particular release number in that series (0).   
</code></pre>

<p>Our plan is to continue developing on this branch (7_12) and releasing new features and bug fixes as often as needed. At some point about a year from now, after PostgreSQL has branched for Postgres 13/14, we&#8217;ll incorporate that into an official release, and bump our release number to 7.13.0. Presumably, in a few years, there will eventually be a release of PHP 8, and we&#8217;ll start planning that change at that time. We hope this will make it easier for both users and contributors going forward.</p>

<p>For more information on phpPgAdmin, check out our project page at <a href="https://github.com/phppgadmin/phppgadmin/">https://github.com/phppgadmin/phppgadmin/</a></p>

<p>You can download the release at: <a href="https://github.com/phppgadmin/phppgadmin/releases/tag/REL_7-12-0">https://github.com/phppgadmin/phppgadmin/releases/tag/REL_7-12-0</a></p>

<p>Once again, I want to thank everyone who has helped contribute to phpPgAdmin over the years. The project has gone through some ups and downs, but despite that is still used by a very large number of users and it enjoys a healthy developer ecosystem. We hope you find this new release helpful!</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Charm City Postgres]]></title>
    <link href="https://xzilla.net//blog/2019/Aug/Charm-City-Postgres.html"/>
    <updated>2019-08-15T17:17:00-04:00</updated>
    <id>https://xzilla.net//blog/2019/Aug/Charm-City-Postgres</id>
    <content type="html"><![CDATA[<p>This post marks the official launch of the Charm City Postgres Meetup group. Our goal is to help bring together the growing community of Developers, DBAs, DBREs, and other technologist in the greater Baltimore area who are working with Postgres. We&#8217;re currently working to organize folks and would encourage interested people to <a href="https://www.meetup.com/Charm-City-Postgres/">sign-up on the meetup site</a>, and have set an initial meetup at <a href="https://smartofficebwi.com">Smart Office @ BWI</a>. If you have questions or want to speak, sponsor, or host a meeting in the future, you can contact me either through the meetup page or find me on the <a href="https://join.slack.com/t/postgresteam/shared_invite/enQtNzI3NDUwNDM5ODc2LTk5NWZhMzIxMDcxZWRkOThkMTAyZTNhMmZmMzAxNmMyNzM3ZDI2NTViNTI2MTFlZGYxM2ExMjkyMjMwNTAzMjM">Postgres Team Slack</a>.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[The Lost Art of plpgsql]]></title>
    <link href="https://xzilla.net//blog/2019/Jun/The-Lost-Art-Of-plpgsql.html"/>
    <updated>2019-06-06T01:12:00-04:00</updated>
    <id>https://xzilla.net//blog/2019/Jun/The-Lost-Art-Of-plpgsql</id>
    <content type="html"><![CDATA[<p>One of the big features talked about when PostgreSQL 11 was released was that of the new stored procedure implementation. This gave Postgres a more standard procedure interface compared to the previous use of functions. This is perticularly useful for folks who are doing database migrations where they may have been using the standards <code>CALL</code> syntax vs Postgres traditional use of <code>SELECT function();</code> syntax. So it struck me as odd earlier this year when I noticed that, despite the hoopla, that a year later that there was almost zero in the way of presentations and blog posts on either the new stored procedure functionality or the use of plpgsql in general.</p>

<p>And so I got the idea that maybe I would write such a talk and present it at <a href="https://pgcon.org">PGCon</a>; a nod to the past and the many years I&#8217;ve spent working with plpgsql in a variety of roles. The commitee liked the idea (disclosure that I am on the pgcon committee, but didn&#8217;t advocate for myself) and so this talk was born. For a first time talk I think it turned out well, though it could definitly use some polish; but I&#8217;m happy that it did help spark some conversation and actually has given me a few items worth following up on, hopefully in future blog posts.</p>

<p>Video should be available in a few weeks, but for now, I&#8217;ve gone ahead and uploaded <a href="https://www.slideshare.net/xzilla/thelostartofplpgsql">the slides on slideshare</a>.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[The Ghost of phpPgAdmin]]></title>
    <link href="https://xzilla.net//blog/2018/Nov/The-Ghost-of-phpPgAdmin.html"/>
    <updated>2018-11-12T21:12:00-05:00</updated>
    <id>https://xzilla.net//blog/2018/Nov/The-Ghost-of-phpPgAdmin</id>
    <content type="html"><![CDATA[<p>TLDR; This evening I put the final blotches on to a new release of phpPgAdmin 5.6. This release adds official support for all recent Postgres versions, fixes a number of smaller bugs, and includes several language updates. While I think upstream packagers need not worry about absorbing this release, I&#8217;ve made downloads generally available from the <a href="https://github.com/phppgadmin/phppgadmin/releases/tag/REL_5-6-0">Github project page</a>, or you can just pull from git to get the latest code. Note this release is designed to run on PHP 5.6.</p>

<p>Now for the backstory&#8230;</p>

<p>After much hoopla a few years back about new admin clients and talk of the pgAdmin rewrite, most of the regular contributors had pretty much moved on from the project, hoping to see a clearly better admin tool surface as a replacement. Instead, I saw multiple projects launch, none of which captured the hearts and minds so to speak, and saw the number of pull requests on an ever more abandonded looking project continue to pile up, not to mention thousands of downloads.</p>

<p>As for me, while not doing much publically, privately I was still maintaining two private copies of the code, one which had support for newer Postgres servers, and one which had support for PHP 7; both in rough shape. While my schedule doesn&#8217;t leave much time for random hacking, about a month ago I saw an upcoming block where I would be conferencing three weeks in a row and suspected I could probably find some time during my travels to do some updates. After a little bit of thought, I decided to do two releases. The first would add support up through Postgres 11, the most recently released version of the server software, and the second would add the aforementioned PHP 7 support. Granted, it&#8217;s taken longer than I had hoped, probably mostly because that&#8217;s how software engineering works, but also because I had to literally relearn how it is we were running this project, but I think I&#8217;ve got most of that worked out now.</p>

<p>I suspect the two releases might annoy some people, given that PHP 5.6 is years old and in many peoples minds EOL. But it turns out that a lot of people still run various 5.x versions of PHP, so this is a nod to that user base. If you are one of the people who has been waiting for a PHP 7 release, don&#8217;t worry. As mentioned I already have a patch set, so I&#8217;m hoping to have that completed in the next couple of weeks. Once that is released, I think it will make for a good base to start adding new features again; there is a bunch of stuff that could be added into phpPgAdmin, it&#8217;s just a matter of re-igniting the engine, so to speak.</p>

<p>In any case, there is life again in the old project. Long live open source.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Now With More SSL]]></title>
    <link href="https://xzilla.net//blog/2018/Oct/Now-With-More-SSL.html"/>
    <updated>2018-10-05T21:12:00-04:00</updated>
    <id>https://xzilla.net//blog/2018/Oct/Now-With-More-SSL</id>
    <content type="html"><![CDATA[<p>Some of you may have noticed a minor url change, so I thought I should probably toss out a quick blog update to let you know that I&#8217;ve switched my blog to be SSL only. I&#8217;ve been meaning to do this for a bit but round tuits and all; I ended up finally making the switch as I also moved the site behind <a href="https://cloudflare.com">Cloudflare</a>, which provides a number of web related services, including the aforementioned SSL coverage (for free) as well as caching services, so in theory the site should be just a bit faster for folks.</p>

<p>For those with a deep curiosity, this means my stack is now <a href="http://octopress.org/">Octopress</a> as a static site genarator. Those files are uploaded to <a href="https://surge.sh/">Surge.sh</a> which does static site hosting. And now Cloudfront sits in front of the site, managing DNS, providing caching, and the aforementioned SSL. I also keep a copy of the site at <a href="https://www.heroku.com/">Heroku</a> that I occasionally play with. This means my typical workflow is using vim for site updates, and git pushes to get things to the various places they need to go.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Return Of Pagila]]></title>
    <link href="https://xzilla.net//blog/2017/Sep/Return-Of-Pagila.html"/>
    <updated>2017-09-28T15:36:00-04:00</updated>
    <id>https://xzilla.net//blog/2017/Sep/Return-Of-Pagila</id>
    <content type="html"><![CDATA[<p>In early September, I gave a <a href="https://postgresql.us/events/schedule/pgopen2017/session/447-logical-replication-live/">live demo</a> of Postgres 10 replication at the Postgres Open conference in California. As part of the prep work, I dusted off one of my old projects&#8230; &#8220;Pagila&#8221;. For those unfamiliar, Pagila was a port of the Sakila sample database, created by Mike Hillyer for MySQL. The goal of the project was to provide a simple schema with similarities to other systems showcasing different Postgres features. Originally I hosted it on PgFoundry back in the day and for the most part it has lived there quietly, until now.</p>

<p>One of the reasons Postgres 10 is significant for Pagila is that Pagila contains an example partitioned table, and as many have heard, Postgres 10 contains an initial release of simplified partitioning capabilities. While not particularly useful (yet) compared to the current partitioning capabilities, for the purposes of showing off examples, it was time to update the Pagila schema to show off this new feature. And given I had to do that work, I thought maybe it was time to make a new &#8220;official&#8221; release.</p>

<p>So, I&#8217;ve now created a new <a href="https://github.com/xzilla/pagila">Pagila project page on Github</a>. Unfortunately I was unable to get a full copy of the pervious versions from PgFoundry to do a full import, but I did have some copies of older releases lying around, so I used those to recreate the history in git for past branches. This means if you need a version of the schema that works on postgres 9.x, you can checkout one of the <a href="https://github.com/xzilla/pagila/branches">older branches</a>. Once Postgres 10 is finally released, I&#8217;ll go ahead an tag/branch a version 10 release to complement it. In the mean time, please feel free to play with this, and if you&#8217;d like to contribute, you can find me on the <a href="https://postgres-slack.herokuapp.com">Postgres Slack Team</a> or submit a pull request through Github.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Postgres 9.4 - A First Look]]></title>
    <link href="https://xzilla.net//blog/2014/May/Postgres-9-dot-4-A-First-Look.html"/>
    <updated>2014-05-22T11:23:00-04:00</updated>
    <id>https://xzilla.net//blog/2014/May/Postgres-9-dot-4-A-First-Look</id>
    <content type="html"><![CDATA[<p>Today I gave a talk at <a href="http://pgcon.org/2014">pgcon</a> about the upcoming features in 9.4. As the beta was just last week, I think it&#8217;s a fairly accurate representation of what should ultimately end up in 9.4. Of course, in the course of a talk I couldn&#8217;t cover everything, but I think it should give a good primer for anyone looking to upgrade.</p>

<p>I want to give a big thanks to Magnus Hagander and Dave Page, who did talk on earlier versions of 9.4, which was invaluable in helping me put together my own slide deck. Also thank to <a href="http://michael.otacoo.com/">Michael Paquier</a> and <a href="http://hlinnaka.iki.fi/">Hiekki Linnikagas</a> who provided supplemental materials. Also no one could do these talks without the work of <a href="http://www.depesz.com/">depesz</a>; I would strongly encourage those looking for more information on 9.4 to check out his blog. Finally, I&#8217;d like to thank all of the Postgres Developers who have worked on the 9.4 release, without whom we wouldn&#8217;t have a release.</p>

<iframe src="https://www.slideshare.net/slideshow/embed_code/35006424" width="476" height="400" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>


<p></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Natural Consequence]]></title>
    <link href="https://xzilla.net//blog/2014/Mar/natural-consequence.html"/>
    <updated>2014-03-03T21:12:00-05:00</updated>
    <id>https://xzilla.net//blog/2014/Mar/natural-consequence</id>
    <content type="html"><![CDATA[<p>This weekend I noticed I hadn&#8217;t updated the bio on my blog. It&#8217;s a one letter change, from COO to CEO, but there&#8217;s a lot tied up in that letter. When I started at OmniTI I would never guessed that I would end up here. All I was looking for was Bigger and Badder Postgres challenges to work on. But maybe I should have seen it coming.</p>

<p>One of the driving factors in my career has been my desire to work on the most important part of whatever it was I was working on. Early on this lead me to web development as a means to share knowledge between team members. After awhile, I came to the conclusion that Usability and Front End web work were the most important; those were the areas that directly impacted customer/users, and was more important than the quality of the code or the systems running things on. Get that wrong and nothing else matters. Eventually I ended up doing a 180 and started focusing on databases. It wasn&#8217;t that the database was important, but the data inside those systems was the thing I determined was the most important thing for a business. You can always replace your front end, your application code, even the servers themselves, but lose the customer data, and your done.</p>

<p>As time went by, my thoughts changed here as well. I still think data is the one thing that is irreplaceable, but as time went on, eventually I sought out larger challenges and more responsibility. When Theo and I discussed taking the COO role 2 years ago, I had recognized that we needed someone who could work across the different groups within OmniTI and help people to achieve thier goals. It was an area I thought I could have some impact, so I stepped into the role. At the time I didn&#8217;t worry about the next step, but if you think about this philosophy of taking on the most important work, and take it to it&#8217;s natural consequence, the role of CEO should have been more obvious. Maybe not at OmniTI, but at some point it was bound to happen.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Less Alarming Alerts]]></title>
    <link href="https://xzilla.net//blog/2013/Nov/Less-Alarming-Alerts.html"/>
    <updated>2013-11-24T10:21:00-05:00</updated>
    <id>https://xzilla.net//blog/2013/Nov/Less-Alarming-Alerts</id>
    <content type="html"><![CDATA[<p>A week or so ago, I gave my talk, &#8221;<a href="http://velocityconf.com/velocityeu2013/public/schedule/detail/30983">Less Alarming Alerts!</a>&#8221;, at Velocity Europe. The presentation covers several issues around the process of monitoring, alerting, and waking people up at 2 in the morning cause things break. I find that a lot of people in web operations suffer from excessive paging going on, as it&#8217;s far too easy to add checks than it is to remove them; this talk discusses some of how we approach this problem when <a href="http://omniti.com/does/architecture-and-infrastructure">helping people manage their operations</a>. Special thanks to the <a href="http://www.meetup.com/DevOpsDC">DevOpsDC</a> folks for letting me do a first run back in October. You can grab the slides from the Velocity site, or <a href="http://www.slideshare.net/xzilla/less-alarmingalerts-28333260">view them on slideshare</a>.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[New GPG Key]]></title>
    <link href="https://xzilla.net//blog/2013/Nov/New-GPG-Key.html"/>
    <updated>2013-11-20T13:46:00-05:00</updated>
    <id>https://xzilla.net//blog/2013/Nov/New-GPG-Key</id>
    <content type="html"><![CDATA[<p>A few weeks ago I finally got around to making a <a href="https://xzilla.net//gpg.html">new gpg key</a>. My <a href="http://biglumber.com/x/web?pk=D5893C9E1093BDF3BF75C5AFB4487EF7920A8229;qh=12267">old key</a> was created 9 years ago at <a href="http://conferences.oreillynet.com/cs/os2004/view/e_sess/5173">OSCon</a>, and I remember at the time picking an &#8220;extra large key size&#8221; (1024) figuring that would last me a really long time. I guess 9 years is a really long time in computers, but 1024 is no longer good enough, so a new, stronger key seemed warranted. At the moment, both keys will work, but the newer one should be used going forward. It&#8217;s already been <a href="http://wwwkeys.pgp.net:11371/pks/lookup?op=vindex&amp;search=0x87435B0A61E3EB49">signed by a number of folks</a>, so feel free to grab it from a <a href="http://biglumber.com/x/web?pk=2CF55E8890175AAA5332A60587435B0A61E3EB49">public server</a> if you want.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Past, Present, and Pachyderm]]></title>
    <link href="https://xzilla.net//blog/2013/Nov/Past-Present-and-Pachyderm.html"/>
    <updated>2013-11-08T15:11:00-05:00</updated>
    <id>https://xzilla.net//blog/2013/Nov/Past-Present-and-Pachyderm</id>
    <content type="html"><![CDATA[<p>I&#8217;m <a href="blog/2013/Oct/And-Away-We-Go.html">currently</a> in Germany, having given my <a href="http://slid.es/xzilla/postgres-9-3">talk on Postgres 9.3</a> at <a href="http://2013.pgconf.de">PGConf DE</a> (and last week at <a href="http://2013.pgconf.eu">PGConf EU</a>).</p>


<p></p>

<p>Prior to that, I recently gave a talk at the <a href="http://allthingsopen.org">All Things Open conference</a> entitled &#8220;Past, Present, and Pachyderm&#8221;. The original idea for the talk was to give a highlight of new features coming in Postgres 9.3, however we took a slightly different approach for the ATO2013 crowd, providing some history and discussion around the Postgres project, as well as taking a look at some ideas about future development and direction.</p>


<p></p>

<iframe src="https://www.slideshare.net/slideshow/embed_code/27575631" width="427" height="356" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC;border-width:1px 1px 0;margin-bottom:5px" allowfullscreen> </iframe>




<p>The talk went quite well, and I think really struck a good balance for speaking to a less Postgres focused crowd than the 9.3 talks I have given at Postgres specific conferences.</p>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[MariaDB and the quest for Oracle Freedom]]></title>
    <link href="https://xzilla.net//blog/2013/Oct/MariaDB-and-the-quest-for-Oracle-Freedom.html"/>
    <updated>2013-10-25T09:08:00-04:00</updated>
    <id>https://xzilla.net//blog/2013/Oct/MariaDB-and-the-quest-for-Oracle-Freedom</id>
    <content type="html"><![CDATA[<p>People really don&#8217;t like Oracle. Enough so that SkySQL just got <a href="http://www.theregister.co.uk/2013/10/22/skysql_mariadb_funding/">$20 Million in funding from Intel</a> to help it continue to build a MySQL alternative. Now personally I don&#8217;t have the hatred that a lot of people do for Oracle, but when I look at the pricing and service offerings around Oracle&#8217;s database, Solaris operating system, and even things like ATG, I know that <a href="http://omniti.com">we</a> can offer them comperable solutions at half the price, with far better service, so I get why people want to try to find alternatives to Oracle.</p>

<p>But here is what I don&#8217;t get. This week I went to the <a href="http://allthingsopen.net">All Things Open</a> conference and while I was there, I happened to catch the tail end of a SkySQL talk on new MariaDB features. One of the features that he was describing apparently has issues if you work with MyISAM tables, so he asked how many people in the crowd used MyISAM. Not a single person raised their hand. For most database folks, this isn&#8217;t surprising; for most people doing traditional RDBMS work, you want an <a href="http://en.wikipedia.org/wiki/Multiversion_concurrency_control">MVCC</a> based system of some kind, so people using InnoDB seems like the logical choice. The problem here is, if your community is built around the idea of being free of Oracle, I think there is a problem if your user base is completely built around a technology still owned by Oracle.</p>

<p>So what are these investors buying with thier $20 million? If you are trying to secure the future of your database choice, I think this is a swing and a miss. Sure, MariaDB of today is better than MySQL of back then, but from a technology control standpoint, all you&#8217;ve done is buy yourself a ticket <a href="http://www.oracle.com/us/corporate/Acquisitions/innobase/index.html">back to 2005</a>, when Oracle first purchased Innobase and left MySQL scrambling. Any argument that you can make that the MariaDB community doesn&#8217;t have to worry about this is basically an argument for why MySQL users might as well stick with Oracle MySQL. I suppose that $20 million might buy another attempt at a new storage engine, but we&#8217;ve been down that road before, and it&#8217;s not pretty.</p>

<p>PS. If you&#8217;ve got $20 million and a desire to help Solaris users get free of Oracle, the <a href="http://omnios.omniti.com">OmniOS</a> team would be happy to cash that check.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[And Away We Go]]></title>
    <link href="https://xzilla.net//blog/2013/Oct/And-Away-We-Go.html"/>
    <updated>2013-10-16T15:47:00-04:00</updated>
    <id>https://xzilla.net//blog/2013/Oct/And-Away-We-Go</id>
    <content type="html"><![CDATA[<p>Howdy folks. I&#8217;m currently in Salt Lake City, the first of many weeks of out of town travel coming up. OK, technically that started last week, when <a href="http://www.pateldenish.com/2013/10/can-postgres-9-2-upgrade-cause-out-of-memory-error.html">Denish and I</a> traveled up to New York City, but that was by train, which is way more pleasent than air travel. Anyway I&#8217;ll be in SLC the next couple days, working with a customer to assess their current and future architecture and discuss ways to help them improve thier operations and developement processes.</p>

<p>Next week I&#8217;ll be heading to North Carolina to speak at the <a href="http://www.allthingsopen.org/">All Things Open</a> conference. While there I&#8217;ll be stopping by the <a href="http://www.meetup.com/Triangle-Postgres-Users-Group/">Triangle PUG</a>, for a re-launch / kick-off get together. While I haven&#8217;t been to the RDU area for several years, I do know several people in the area so hopefully it will give me a chance to catch up some some old friends.</p>

<p>After that I&#8217;ll be headed to Dublin, Ireland, where I am speaking at <a href="http://2013.pgconf.eu/">PGConf.EU</a>. While I have spoken in Europe &amp; Russia several times, it will be my first Postgres conference there, so hopefully I&#8217;ll be able to cross paths with a number of the European community members who haven&#8217;t had the opportunity to <a href="http://pgcon.org">make it to Canada</a>. From there I head to Oberhaoussen, Germany, to talk at <a href="http://2013.pgconf.de/">PGConf.DE</a>. I&#8217;ve not been to Germany since I was a kid, so while I am bummed that I am missing out on Octoberfest, hopefully it will be a good time.</p>

<p>Wrapping all that up I&#8217;ll be heading to London to speak at <a href="http://velocityconf.com/velocityeu2013/">Velocity EU</a>, giving the talk I previewed at this months <a href="http://www.meetup.com/DevOpsDC/">DevOpsDC</a> meeting on &#8220;Less Alarming Alerts&#8221;. I really enjoyed Velocity EU and I&#8217;m happy to be heading back this year.</p>

<p>OmniTI has been doing quite a bit more business in Europe over the past year, so during my travels I&#8217;m planning to do a couple of client visits and meeting up with various friends and <a href="http://evol-monkey.blogspot.com/">my newest co-worker Vasilis</a>. If you&#8217;re planning to be at any of these events I hope you&#8217;ll stop and say hi.</p>
]]></content>
  </entry>
  
</feed>
