<?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>Postgres OnLine Journal - 9.1</title>
    <link>https://www.postgresonline.com/journal/</link>
    <description>Tips and tricks for PostgreSQL</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 2.3.5 - http://www.s9y.org/</generator>
    <pubDate>Sat, 02 Jul 2016 03:15:33 GMT</pubDate>

    <image>
    <url>https://www.postgresonline.com/journal/templates/default/img/s9y_banner_small.png</url>
    <title>RSS: Postgres OnLine Journal - 9.1 - Tips and tricks for PostgreSQL</title>
    <link>https://www.postgresonline.com/journal/</link>
    <width>100</width>
    <height>21</height>
</image>

<item>
    <title>regexp_split_to_table and string_to_array unnest performance</title>
    <link>https://www.postgresonline.com/journal/index.php?/archives/370-regexp_split_to_table-and-string_to_array-unnest-performance.html</link>
            <category>8.3</category>
            <category>8.4</category>
            <category>9.0</category>
            <category>9.1</category>
            <category>9.2</category>
            <category>9.3</category>
            <category>9.4</category>
            <category>9.5</category>
            <category>9.6</category>
            <category>postgresql versions</category>
    
    <comments>https://www.postgresonline.com/journal/index.php?/archives/370-regexp_split_to_table-and-string_to_array-unnest-performance.html#comments</comments>
    <wfw:comment>https://www.postgresonline.com/journal/wfwcomment.php?cid=370</wfw:comment>

    <slash:comments>11</slash:comments>
    <wfw:commentRss>https://www.postgresonline.com/journal/rss.php?version=2.0&amp;type=comments&amp;cid=370</wfw:commentRss>
    

    <author>nospam@example.com (Leo Hsu and Regina Obe)</author>
    <content:encoded>
    &lt;p&gt;Whenever you need to split a text into multiple records breaking by some delimeter, there are two common options that PostgreSQL provides. The first is
&lt;a href=&quot;https://www.postgresql.org/docs/current/static/functions-string.html&quot; target=&quot;_blank&quot;&gt;&lt;em&gt;regpexp_split_to_table&lt;/em&gt;&lt;/a&gt; and then next popular is using the unnest function in combination with &lt;a href=&quot;https://www.postgresql.org/docs/current/static/functions-array.html&quot; target=&quot;_blank&quot;&gt;&lt;em&gt;string_to_array&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Here is an example using &lt;em&gt;regexp_split_to_table&lt;/em&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;SELECT a
FROM regexp_split_to_table(&#039;john,smith,jones&#039;, &#039;,&#039;) AS a;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Which outputs:&lt;/p&gt;
&lt;pre&gt;   a
-------
 john
 smith
 jones
(3 rows)&lt;/pre&gt;

&lt;p&gt;You can achieve the same result by using the construct:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;SELECT a
FROM unnest(string_to_array(&#039;john,smith,jones&#039;, &#039;,&#039;)) AS a;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;With short text you won&#039;t notice much perfomance difference. But what happens if we pass in a humungous text?&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://www.postgresonline.com/journal/index.php?/archives/370-regexp_split_to_table-and-string_to_array-unnest-performance.html#extended&quot;&gt;Continue reading &quot;regexp_split_to_table and string_to_array unnest performance&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Fri, 01 Jul 2016 23:13:00 -0400</pubDate>
    <guid isPermaLink="false">https://www.postgresonline.com/journal/index.php?/archives/370-guid.html</guid>
    
</item>
<item>
    <title>Oracle FDW 1.1.0 with SDO_Geometry PostGIS spatial support</title>
    <link>https://www.postgresonline.com/journal/index.php?/archives/338-Oracle-FDW-1.1.0-with-SDO_Geometry-PostGIS-spatial-support.html</link>
            <category>9.1</category>
            <category>9.2</category>
            <category>9.3</category>
            <category>9.4</category>
            <category>contrib spotlight</category>
            <category>fdws</category>
            <category>postgis</category>
            <category>postgresql versions</category>
    
    <comments>https://www.postgresonline.com/journal/index.php?/archives/338-Oracle-FDW-1.1.0-with-SDO_Geometry-PostGIS-spatial-support.html#comments</comments>
    <wfw:comment>https://www.postgresonline.com/journal/wfwcomment.php?cid=338</wfw:comment>

    <slash:comments>5</slash:comments>
    <wfw:commentRss>https://www.postgresonline.com/journal/rss.php?version=2.0&amp;type=comments&amp;cid=338</wfw:commentRss>
    

    <author>nospam@example.com (Leo Hsu and Regina Obe)</author>
    <content:encoded>
    &lt;p&gt;Oracle FDW is a &lt;a href=&quot;http://www.postgresql.org/docs/current/static/sql-createforeigndatawrapper.html&quot; target=&quot;_blank&quot;&gt;foreign data wrapper PostgreSQL&lt;/a&gt; extension that allows you to read and write to Oracle database tables  from a PostgreSQL database. You can get it via the &lt;a href=&quot;http://pgxn.org/dist/oracle_fdw/&quot;&gt;PGXN network&lt;/a&gt; or the main website &lt;a href=&quot;http://laurenz.github.io/oracle_fdw/&quot; target=&quot;_blank&quot;&gt;http://laurenz.github.io/oracle_fdw/&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;What is new about the latest 1.1.0 release is that there is now support for the Oracle SDO_GEOMETRY type that allows you to map the most common geometry types POINT, LINE, POLYGON, MULTIPOINT, MULTILINE and MULTIPOLYGON to PostGIS geometry type.  Much of the spatial plumbing work was done by Vincent Mora of &lt;a href=&quot;http://oslandia.com/&quot; target=&quot;_blank&quot;&gt;Oslandia&lt;/a&gt;. If we have any Windows Oracle users out there, yes there are &lt;a href=&quot;https://github.com/laurenz/oracle_fdw/releases/tag/ORACLE_FDW_1_1_0&quot; target=&quot;_blank&quot;&gt;binaries available for windows for PostgreSQL 9.1- 9.4 for both 32-bit and 64-bit&lt;/a&gt;. The FDW does have a dependency on the OCI.dll which I think comes shipped with Oracle products.  Unfortunately, we are not Oracle users so can&#039;t kick the tires.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sat, 06 Dec 2014 12:33:00 -0500</pubDate>
    <guid isPermaLink="false">https://www.postgresonline.com/journal/index.php?/archives/338-guid.html</guid>
    
</item>
<item>
    <title>PostGIS 2.1 windows bundle</title>
    <link>https://www.postgresonline.com/journal/index.php?/archives/319-PostGIS-2.1-windows-bundle.html</link>
            <category>9.0</category>
            <category>9.1</category>
            <category>9.2</category>
            <category>9.3</category>
            <category>new in postgresql</category>
            <category>pgRouting</category>
            <category>postgis</category>
            <category>postgresql versions</category>
    
    <comments>https://www.postgresonline.com/journal/index.php?/archives/319-PostGIS-2.1-windows-bundle.html#comments</comments>
    <wfw:comment>https://www.postgresonline.com/journal/wfwcomment.php?cid=319</wfw:comment>

    <slash:comments>4</slash:comments>
    <wfw:commentRss>https://www.postgresonline.com/journal/rss.php?version=2.0&amp;type=comments&amp;cid=319</wfw:commentRss>
    

    <author>nospam@example.com (Leo Hsu and Regina Obe)</author>
    <content:encoded>
    &lt;p&gt;PostgreSQL 9.3 came out today and we are excited to start using the new features.  &lt;a href=&quot;http://postgis.net/2013/08/17/postgis-2-1-0&quot; target=&quot;_blank&quot;&gt;PostGIS 2.1.0&lt;/a&gt; came out about 2 weeks ago and pgRouting just cut the RC 3 release. For windows PostGIS users who are impatient to try the new suite, binaries
can be found on the &lt;em&gt;Unreleased&lt;/em&gt; versions of &lt;a href=&quot;http://postgis.net/windows_downloads&quot; target=&quot;_blank&quot;&gt;PostGIS.net windows page&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We are planning an official release sometime probably next week on StackBuilder. We are waiting for release of pgRouting 2.0 before we do which should be out next week.  This new 2.1 release will be dubbed the &lt;b&gt;PostGIS 2.1 Bundle&lt;/b&gt; since it will have more than just PostGIS. It will  include postgis extensions (postgis which includes geometry,raster, geography) , postgis_topology, postgis_tiger_geocoder), address_standardizer extension (a companion to tiger geocoder), and pgRouting 2.0.&lt;/p&gt;

&lt;p&gt;For those people running PostGIS 2.0 and PostgreSQL 9.0+, especially (raster and geography) users, I highly recommend you jump to PostGIS 2.1.  PostGIS 2.1 is a soft upgrade from 2.0. For raster there are enormous speed improvements and new functions. The ones we are most excited about in raster are the much much much faster ST_Clip and ST_Union functions (which now does multi-band in addition to being faster). These two functions are highly important since they are generally the first step in many raster workflows.  Geography has speed improvements for point in poly and a ST_Segmentize function done on the spheroid (important for long range). Geometry has a couple of new functions.  The Enhanced 3D functionality provided by &lt;a href=&quot;http://oslandia.github.io/SFCGAL&quot; target=&quot;_blank&quot;&gt;SFCGAL&lt;/a&gt; is brand new and probably won&#039;t be distributed by many package maintainers until PostGIS 2.2 where it will garner a few more features and stability improvements.&lt;/p&gt;


 &lt;a class=&quot;block_level&quot; href=&quot;https://www.postgresonline.com/journal/index.php?/archives/319-PostGIS-2.1-windows-bundle.html#extended&quot;&gt;Continue reading &quot;PostGIS 2.1 windows bundle&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Mon, 09 Sep 2013 15:35:00 -0400</pubDate>
    <guid isPermaLink="false">https://www.postgresonline.com/journal/index.php?/archives/319-guid.html</guid>
    
</item>
<item>
    <title>PostGIS 2.1.0 released</title>
    <link>https://www.postgresonline.com/journal/index.php?/archives/315-PostGIS-2.1.0-released.html</link>
            <category>9.0</category>
            <category>9.1</category>
            <category>9.2</category>
            <category>9.3</category>
            <category>new in postgresql</category>
            <category>postgis</category>
            <category>postgresql versions</category>
    
    <comments>https://www.postgresonline.com/journal/index.php?/archives/315-PostGIS-2.1.0-released.html#comments</comments>
    <wfw:comment>https://www.postgresonline.com/journal/wfwcomment.php?cid=315</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>https://www.postgresonline.com/journal/rss.php?version=2.0&amp;type=comments&amp;cid=315</wfw:commentRss>
    

    <author>nospam@example.com (Leo Hsu and Regina Obe)</author>
    <content:encoded>
    &lt;p&gt;The 2.1.0 release of PostGIS is &lt;a href=&quot;http://download.osgeo.org/postgis/source/postgis-2.1.0.tar.gz&quot;&gt;now available&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The PostGIS development team is proud to release PostGIS 2.1.0. 
As befits a minor release, the focus is on speed improvements, more features, and bug fixes. &lt;/p&gt;

&lt;p&gt;If you are currently using PostGIS 2.0+, you can go the soft upgrade path:&lt;/p&gt;

&lt;pre class=&quot;sql&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;ALTER&lt;/span&gt; EXTENSION postgis &lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;UPDATE&lt;/span&gt; &lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;TO&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;2.1.0&quot;&lt;/span&gt;;
&amp;#160;&lt;/pre&gt;
If you are running 2.1.0 of beta or an unreleased version
(and the above step fails with error “extension postgis has no update path from version x.x.x to version 2.1.0”)
, you need to first copy the file
in share\extensions\postgis—2.0.3—2.1.0.sql  and change the 2.0.3 to the x.x.x noted in the error you are running.
Then follow the above upgrade step again.&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Users of 1.5 and below will need to go the hard-upgrade path 
documented in manual: 
&lt;a href=&quot;http://postgis.net/docs/manual-2.1/postgis_installation.html#hard_upgrade&quot; target=&quot;_blank&quot;&gt;http://postgis.net/docs/manual-2.1/postgis_installation.html#hard_upgrade&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Best served with a bottle of GEOS 3.4.1 and 
  PostgreSQL 9.3beta2 (planned release September). 
&lt;/p&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://www.postgresonline.com/journal/index.php?/archives/315-PostGIS-2.1.0-released.html#extended&quot;&gt;Continue reading &quot;PostGIS 2.1.0 released&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sat, 17 Aug 2013 23:46:00 -0400</pubDate>
    <guid isPermaLink="false">https://www.postgresonline.com/journal/index.php?/archives/315-guid.html</guid>
    
</item>
<item>
    <title>PostGIS 2.0.3 for Windows x32 and x64 installers</title>
    <link>https://www.postgresonline.com/journal/index.php?/archives/296-PostGIS-2.0.3-for-Windows-x32-and-x64-installers.html</link>
            <category>8.4</category>
            <category>9.0</category>
            <category>9.1</category>
            <category>9.2</category>
            <category>9.3</category>
            <category>editor note</category>
            <category>postgis</category>
            <category>postgresql versions</category>
    
    <comments>https://www.postgresonline.com/journal/index.php?/archives/296-PostGIS-2.0.3-for-Windows-x32-and-x64-installers.html#comments</comments>
    <wfw:comment>https://www.postgresonline.com/journal/wfwcomment.php?cid=296</wfw:comment>

    <slash:comments>8</slash:comments>
    <wfw:commentRss>https://www.postgresonline.com/journal/rss.php?version=2.0&amp;type=comments&amp;cid=296</wfw:commentRss>
    

    <author>nospam@example.com (Leo Hsu and Regina Obe)</author>
    <content:encoded>
    &lt;p&gt;We have all the setup executables for PostgreSQL 8.4-9.2 32-bit and
PostgreSQL 9.1-9.2 x64-bit for PostGIS 2.0.3.  We&#039;ll have the 9.0x64-bit
ones up shortly but do have the binaries.&lt;/p&gt;

&lt;p&gt;We are planning to release these to stackbuilder sometime next week, but
would like some feedback first with any issues people run into.&lt;/p&gt;

&lt;p&gt;One person already reported a serious bug in our original packaging which we
fixed. If you already installed 2.0.3 the x64-bit version or any of the 9.2
versions (both x32 and x64) that was not marked as -2.zip, -2.exe, you&#039;ll
want to reinstall. The 8.4-9.1 32-bits were not affected so just have a -1.&lt;/p&gt;

&lt;p&gt;Packages can be downloaded from: &lt;br /&gt;
&lt;a href=&quot;http://download.osgeo.org/postgis/windows&quot; target=&quot;_blank&quot;&gt;http://download.osgeo.org/postgis/windows&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;General details on what is included:&lt;/p&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://postgis.net/windows_downloads&quot; target=&quot;_blank&quot;&gt;http://postgis.net/windows_downloads&lt;/a&gt;
&lt;br /&gt;
&lt;p&gt;As always if you are installing for PostgreSQL x64 make sure to pick a zip
or installer with 64 in the name.  The unmarked or marked with 32 are just
for PostgreSQL 32-bit.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sun, 17 Mar 2013 01:48:00 -0400</pubDate>
    <guid isPermaLink="false">https://www.postgresonline.com/journal/index.php?/archives/296-guid.html</guid>
    
</item>
<item>
    <title>Foreign Data Wrap (FDW) Text Array, hstore, and Jagged Arrays</title>
    <link>https://www.postgresonline.com/journal/index.php?/archives/259-Foreign-Data-Wrap-FDW-Text-Array,-hstore,-and-Jagged-Arrays.html</link>
            <category>9.1</category>
            <category>9.2</category>
            <category>contrib spotlight</category>
            <category>cte</category>
            <category>fdws</category>
            <category>hstore</category>
            <category>postgresql versions</category>
    
    <comments>https://www.postgresonline.com/journal/index.php?/archives/259-Foreign-Data-Wrap-FDW-Text-Array,-hstore,-and-Jagged-Arrays.html#comments</comments>
    <wfw:comment>https://www.postgresonline.com/journal/wfwcomment.php?cid=259</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://www.postgresonline.com/journal/rss.php?version=2.0&amp;type=comments&amp;cid=259</wfw:commentRss>
    

    <author>nospam@example.com (Leo Hsu and Regina Obe)</author>
    <content:encoded>
    &lt;p&gt;As we discussed in &lt;a href=&quot;https://www.postgresonline.com/journal/archives/251-File-FDW-Family-Part-2-file_textarray_fdw-Foreign-Data-Wrapper.html&quot; target=&quot;_blank&quot;&gt;file_textarray_fdw Foreign Data Wrapper&lt;/a&gt;, &lt;a href=&quot;http://people.planetpostgresql.org/andrew/index.php?/archives/271-Deploying-file_text_array-Foreign-Data-wrapper.html&quot; target=&quot;_blank&quot;&gt;Andrew Dunstan&#039;s text array foreign data wrapper&lt;/a&gt; works great for bringing in a delimited file and not having to worry about the column names until they are in.
We had demonstrated one way to tag the field names to avoid having to keep track of index locations, by using hstore and the header column in conjunction.  
The problem with that is it doesn&#039;t work for jagged arrays.  Jagged arrays are when not all rows have the same number of columns. I&#039;ve jury rigged a small example
to demonstrate the issue.  Luckily with the power of PostgreSQL arrays you can usually get around this issue and still have nice names for your columns.  We&#039;ll demonstrate that too.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://www.postgresonline.com/journal/index.php?/archives/259-Foreign-Data-Wrap-FDW-Text-Array,-hstore,-and-Jagged-Arrays.html#extended&quot;&gt;Continue reading &quot;Foreign Data Wrap (FDW) Text Array, hstore, and Jagged Arrays&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sun, 15 Jul 2012 02:35:00 -0400</pubDate>
    <guid isPermaLink="false">https://www.postgresonline.com/journal/index.php?/archives/259-guid.html</guid>
    
</item>
<item>
    <title>PostgreSQL: Up and Running book officially out</title>
    <link>https://www.postgresonline.com/journal/index.php?/archives/258-PostgreSQL-Up-and-Running-book-officially-out.html</link>
            <category>9.1</category>
            <category>9.2</category>
            <category>editor note</category>
            <category>postgis</category>
            <category>postgresql versions</category>
    
    <comments>https://www.postgresonline.com/journal/index.php?/archives/258-PostgreSQL-Up-and-Running-book-officially-out.html#comments</comments>
    <wfw:comment>https://www.postgresonline.com/journal/wfwcomment.php?cid=258</wfw:comment>

    <slash:comments>17</slash:comments>
    <wfw:commentRss>https://www.postgresonline.com/journal/rss.php?version=2.0&amp;type=comments&amp;cid=258</wfw:commentRss>
    

    <author>nospam@example.com (Leo Hsu and Regina Obe)</author>
    <content:encoded>
    &lt;p&gt;Our new book &lt;a href=&quot;/store.php?asin=1449326331&quot; target=&quot;_blank&quot;&gt;PostgreSQL: Up and Running&lt;/a&gt; is officially out. It&#039;s available in hard-copy and e-Book version directly from O&#039;Reilly,
Safari Books Online and available from Amazon in Kindle store.  It should be available in hard-copy within the next week or so from other distributors.&lt;/p&gt;
&lt;p&gt;Sadly we won&#039;t be attending &lt;a href=&quot;http://www.oscon.com/oscon2012/&quot; target=&quot;_blank&quot;&gt;OSCON&lt;/a&gt; this year, but there are several PostgreSQL talks going on. If you are speaking at a talk or other PostgreSQL related get together, and would like 
to give out some free coupons of our book or get a free e-book copy for yourself to see if it&#039;s worth effort mentioning, please send us an e-mail: lr at pcorp.us .&lt;/p&gt;

&lt;p&gt;Our main focus in writing the book is demonstrating features that make PostgreSQL uniquely poised for newer kinds of workflows with particular focus on PostgreSQL 9.1 and 9.2. 
Part of the reason for this focus is our roots and that we wanted to write a short book to get a feel for the audience.  We started to use PostgreSQL in 2001 because of
PostGIS, but were still predominantly SQL Server programmers. At the time SQL Server did not have a spatial component that integrated seamlessly with SQL.  
As die-hard SQLers, PostGIS really turned us on. As years went by, we began to use PostgreSQL
not just for our spatial apps, but predominantly non-spatial ones as well that had heavy reporting needs and that we had a choice of platform. 
So we came for PostGIS but stayed because of all the other neat features PostgreSQL had that we found lacking in SQL Server. Three off the bat
are arrays, regular expressions, and choice of procedural languages. Most other books on the market just treat PostgreSQL like it&#039;s any other relational database. 
In a sense that&#039;s good because it demonstrates
that using PostgreSQL does not require a steep learning curve if you&#039;ve used another relational database.  We didn&#039;t spend as much time on these common features as we&#039;d like to 
in the book because it&#039;s a short book and we figure most users familiar with relational databases
are quite knowledgeable of common features from other experience.  It&#039;s true that a lot of people coming to PostgreSQL are looking for cost savings,
ACID compliance, cross-platform support and decent speed
, but as PostgreSQL increases in speed, ease of features, and unique features, we think we&#039;ll be seeing more people migrating 
just because its simply better than any other databases 
for the new kinds of workflows we are seeing today -- e.g. BigData analysis, integration with other datasources, leveraging of domain specific languages in a more seamless way with data.&lt;/p&gt;  

&lt;p&gt;So what&#039;s that creature on the cover? &lt;br /&gt; &lt;a href=&quot;/images/postgresqlup_and_running_big.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;/images/postgresql_up_running.gif&quot; alt=&quot;PostgreSQL: Up and Running - elephant shrew&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;br /&gt;It&#039;s an &lt;a href=&quot;http://www.trinity.edu/departments/public_relations/news_releases/080306ribblesengi.htm&quot; target=&quot;_blank&quot;&gt;elephant shrew (sengi)&lt;/a&gt; and is neither an elephant nor a shrew, but closest in ancestry to the elephant, sea cow, and aardvark. 
It is only found 
in Africa (mostly East Africa around Kenya) and in zoos. It gets its name from its unusually long nose which it uses for sniffing out insect prey and keeping tabs on its mate. It has some other unusual habits:
it&#039;s a trail blazer building trails it uses to scout insect prey and also builds escape routes on the trail it memorizes to escape from predators. It&#039;s monogamous, but prefers to keep separate quarters from its mate. Males
will chase off other males and females will chase off other females. &lt;a href=&quot;http://animal.discovery.com/animals/life/rufous-sengi.html&quot; target=&quot;_blank&quot;&gt;It&#039;s fast&lt;/a&gt; and can usually out-run its predators.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Tue, 10 Jul 2012 14:53:00 -0400</pubDate>
    <guid isPermaLink="false">https://www.postgresonline.com/journal/index.php?/archives/258-guid.html</guid>
    
</item>
<item>
    <title>Finding contiguous primary keys</title>
    <link>https://www.postgresonline.com/journal/index.php?/archives/255-Finding-contiguous-primary-keys.html</link>
            <category>8.4</category>
            <category>9.0</category>
            <category>9.1</category>
            <category>9.2</category>
            <category>intermediate</category>
            <category>postgresql versions</category>
            <category>q&amp;a</category>
    
    <comments>https://www.postgresonline.com/journal/index.php?/archives/255-Finding-contiguous-primary-keys.html#comments</comments>
    <wfw:comment>https://www.postgresonline.com/journal/wfwcomment.php?cid=255</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>https://www.postgresonline.com/journal/rss.php?version=2.0&amp;type=comments&amp;cid=255</wfw:commentRss>
    

    <author>nospam@example.com (Leo Hsu and Regina Obe)</author>
    <content:encoded>
    &lt;p&gt;I recently had the need to figure out which ranges of my keys were contiguously numbered.  The related exercise is finding gaps in data as well.
Reasons might be because you need to determine what data did not get copied or what records got deleted.  There are lots of ways of accomplishing this, but this is the 
first that came to mind.  This approach uses window aggregates &lt;code&gt;lead&lt;/code&gt; function and common table expressions, so requires PostgreSQL 8.4+&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://www.postgresonline.com/journal/index.php?/archives/255-Finding-contiguous-primary-keys.html#extended&quot;&gt;Continue reading &quot;Finding contiguous primary keys&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Fri, 08 Jun 2012 16:29:00 -0400</pubDate>
    <guid isPermaLink="false">https://www.postgresonline.com/journal/index.php?/archives/255-guid.html</guid>
    
</item>
<item>
    <title>File FDW Family: Part 2 file_textarray_fdw Foreign Data Wrapper</title>
    <link>https://www.postgresonline.com/journal/index.php?/archives/251-File-FDW-Family-Part-2-file_textarray_fdw-Foreign-Data-Wrapper.html</link>
            <category>9.1</category>
            <category>contrib spotlight</category>
            <category>fdws</category>
            <category>postgresql versions</category>
            <category>winextensions</category>
    
    <comments>https://www.postgresonline.com/journal/index.php?/archives/251-File-FDW-Family-Part-2-file_textarray_fdw-Foreign-Data-Wrapper.html#comments</comments>
    <wfw:comment>https://www.postgresonline.com/journal/wfwcomment.php?cid=251</wfw:comment>

    <slash:comments>3</slash:comments>
    <wfw:commentRss>https://www.postgresonline.com/journal/rss.php?version=2.0&amp;type=comments&amp;cid=251</wfw:commentRss>
    

    <author>nospam@example.com (Leo Hsu and Regina Obe)</author>
    <content:encoded>
    &lt;p&gt;Last time we demonstrated &lt;a href=&quot;https://www.postgresonline.com/journal/archives/250-File-FDW-Family-Part-1-file_fdw.html&quot; target=&quot;_blank&quot;&gt;how to query delimited text files&lt;/a&gt; using the &lt;a href=&quot;http://www.postgresql.org/docs/current/interactive/file-fdw.html&quot;&gt;&lt;em&gt;fdw_file&lt;/em&gt;&lt;/a&gt; that comes packaged with PostgreSQL 9.1+, this time we&#039;ll continue our journey into Flat file querying Foreign Data Wrapper using an experimental foreign data wrapper designed for also querying delimited data, but outputting it as a single column text array table. 
This one is called &lt;em&gt;file_textarray_fdw&lt;/em&gt; and developed by Andrew Dunstan.  It&#039;s useful if you are dealing with for example jagged files, where not all columns are not properly filled in for each record or there are just a ton of columns you don&#039;t want to bother itemizing before you bring in. The benefit is you can still query and decide how you want to break it apart. You can grab the source code from &lt;a href=&quot;https://github.com/adunstan/file_text_array_fdw&quot; target=&quot;_blank&quot;&gt;file_text_array_fdw source code&lt;/a&gt;.  If you are on windows, we have compiled binaries in our Bag o&#039; FDWs for both &lt;a href=&quot;/downloads/fdw_win32_91_bin.zip&quot;&gt;PostgreSQL 9.1 32-bit FDW  for Windows bag&lt;/a&gt; and &lt;a href=&quot;/downloads/fdw_win64_91_bin.zip&quot;&gt;PostgreSQL 9.1 64-bit FDW for Windows bag&lt;/a&gt; that should work fine with the EDB installed windows binaries. 
For other systems, the compile is fairly easy if you have the postgresql development libraries installed.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://www.postgresonline.com/journal/index.php?/archives/251-File-FDW-Family-Part-2-file_textarray_fdw-Foreign-Data-Wrapper.html#extended&quot;&gt;Continue reading &quot;File FDW Family: Part 2 file_textarray_fdw Foreign Data Wrapper&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Wed, 09 May 2012 23:46:00 -0400</pubDate>
    <guid isPermaLink="false">https://www.postgresonline.com/journal/index.php?/archives/251-guid.html</guid>
    
</item>
<item>
    <title>File FDW Family: Part 1 file_fdw</title>
    <link>https://www.postgresonline.com/journal/index.php?/archives/250-File-FDW-Family-Part-1-file_fdw.html</link>
            <category>9.1</category>
            <category>contrib spotlight</category>
            <category>fdws</category>
            <category>postgresql versions</category>
    
    <comments>https://www.postgresonline.com/journal/index.php?/archives/250-File-FDW-Family-Part-1-file_fdw.html#comments</comments>
    <wfw:comment>https://www.postgresonline.com/journal/wfwcomment.php?cid=250</wfw:comment>

    <slash:comments>9</slash:comments>
    <wfw:commentRss>https://www.postgresonline.com/journal/rss.php?version=2.0&amp;type=comments&amp;cid=250</wfw:commentRss>
    

    <author>nospam@example.com (Leo Hsu and Regina Obe)</author>
    <content:encoded>
    &lt;p&gt;Last time we demonstrated how to use the &lt;a href=&quot;https://www.postgresonline.com/journal/archives/246-ODBC-Foreign-Data-wrapper---odbc_fdw-on-windows.html&quot; target=&quot;_blank&quot;&gt;ODBC Foreign Data wrapper&lt;/a&gt;, this time we&#039;ll continue our journey into Foreign Data Wrapper land by demonstrating what I&#039;ll call the &lt;em&gt;File FDW family of Foreign Data Wrappers&lt;/em&gt;.  There is one that usually comes packaged with PostgreSQL 9.1 which is called &lt;a href=&quot;http://www.postgresql.org/docs/9.1/interactive/file-fdw.html&quot;&gt;&lt;em&gt;fdw_file&lt;/em&gt;&lt;/a&gt; but there are two other experimental ones I find very useful which are 
developed by Andrew Dunstan both of which Andrew demoed in &lt;a href=&quot;http://people.planetpostgresql.org/andrew/uploads/fdw2.pdf&quot;&gt;PostgreSQL Foreign Data Wrappers&lt;/a&gt; and talked
about a little bit &lt;a href=&quot;http://people.planetpostgresql.org/andrew/index.php?/archives/260-Text-files-from-a-remote-source.html&quot; target=&quot;_blank&quot;&gt;Text files from a remote source&lt;/a&gt;.  As people who have to deal with text data files day in and out, especially ones from mainframes, these satisfy a certain itch.&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;file_fdw - for querying delimited text files.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/adunstan/file_fixed_length_record_fdw&quot; target=&quot;_blank&quot;&gt;file_fixed_length_fdw&lt;/a&gt; - this one deals with fixed length data. We discussed methods of importing fixed length data in &lt;a href=&quot;https://www.postgresonline.com/journal/archives/157-Import-fixed-width-data-into-PostgreSQL-with-just-PSQL.html&quot;&gt;Import Fixed width data&lt;/a&gt;.  This is yet another approach but has the benefit that you can also use it to import just a subset of a file. &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/adunstan/file_text_array_fdw&quot; target=&quot;_blank&quot;&gt;file_text_array_fdw&lt;/a&gt; - this one queries a delimited file as if each delimiete row was a text array.  It is ideal for those less than perfect moments when someone gives you a file with a 1000 columns and you don&#039;t have patience to look at what the hell those columns mean just yet.&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;
&lt;p&gt;In this article, we&#039;ll just cover the &lt;code&gt;file_fdw&lt;/code&gt; one, but will follow up in subsequent articles, demonstrating the array and fixed length record ones.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://www.postgresonline.com/journal/index.php?/archives/250-File-FDW-Family-Part-1-file_fdw.html#extended&quot;&gt;Continue reading &quot;File FDW Family: Part 1 file_fdw&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 03 May 2012 15:43:00 -0400</pubDate>
    <guid isPermaLink="false">https://www.postgresonline.com/journal/index.php?/archives/250-guid.html</guid>
    
</item>
<item>
    <title>ODBC Foreign Data wrapper to query SQL Server on Window - Part 2</title>
    <link>https://www.postgresonline.com/journal/index.php?/archives/249-ODBC-Foreign-Data-wrapper-to-query-SQL-Server-on-Window-Part-2.html</link>
            <category>9.1</category>
            <category>contrib spotlight</category>
            <category>fdws</category>
            <category>sql server</category>
    
    <comments>https://www.postgresonline.com/journal/index.php?/archives/249-ODBC-Foreign-Data-wrapper-to-query-SQL-Server-on-Window-Part-2.html#comments</comments>
    <wfw:comment>https://www.postgresonline.com/journal/wfwcomment.php?cid=249</wfw:comment>

    <slash:comments>7</slash:comments>
    <wfw:commentRss>https://www.postgresonline.com/journal/rss.php?version=2.0&amp;type=comments&amp;cid=249</wfw:commentRss>
    

    <author>nospam@example.com (Leo Hsu and Regina Obe)</author>
    <content:encoded>
    &lt;p&gt;As promised in &lt;a href=&quot;https://www.postgresonline.com/journal/archives/246-ODBC-Foreign-Data-wrapper---odbc_fdw-on-windows.html&quot; target=&quot;_blank&quot;&gt;our prior article: ODBC Foreign Data wrapper on windows&lt;/a&gt;, we&#039;ll demonstrate how to query SQL Server using the Foreign Data Wrapper.  This we are testing on windows.
As far as querying SQL Server / PostgreSQL goes, the Foreign Data Wrapper still lacks many features that the &lt;a href=&quot;https://www.postgresonline.com/journal/archives/103-Using-Microsoft-SQL-Server-to-Update-PostgreSQL-Data.html&quot; target=&quot;_blank&quot;&gt;SQL Server Linked Server&lt;/a&gt; approach provides.
The key ones we find currently lacking: ability to do updates and reference a table directly from server without knowing underlying structure. That said
the Foreign data Wrapper approach has possiblity to support a lot more data sources with ease.  We&#039;ll demonstrate in subsequent articles using the &lt;b&gt;www_fdw&lt;/b&gt; to query 
web services which we&#039;ve been playing a lot with and the often packaged in &lt;b&gt;file_fdw&lt;/b&gt;. Enough of that let&#039;s start with a concrete example.&lt;/p&gt;

&lt;p&gt;Warning, this is not production ready, but seems like a very promising start and with more testing can become very robust. Although we are demonstrating odbc_fdw on windows,
it is supported on Unix via the UnixODBC, but the data sources you can query will probably be different.
I&#039;m really looking forward to how the FDW technology in PostgreSQL will push the envelop.  I&#039;ve been playing around with the &lt;b&gt;www_fdw&lt;/b&gt; as well and been impressed how easily it is to 
query webservices with SQL. A very ah-hah moment.&lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://www.postgresonline.com/journal/index.php?/archives/249-ODBC-Foreign-Data-wrapper-to-query-SQL-Server-on-Window-Part-2.html#extended&quot;&gt;Continue reading &quot;ODBC Foreign Data wrapper to query SQL Server on Window - Part 2&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sun, 15 Apr 2012 20:09:00 -0400</pubDate>
    <guid isPermaLink="false">https://www.postgresonline.com/journal/index.php?/archives/249-guid.html</guid>
    
</item>
<item>
    <title>Moving PostGIS to another schema with Extensions</title>
    <link>https://www.postgresonline.com/journal/index.php?/archives/248-Moving-PostGIS-to-another-schema-with-Extensions.html</link>
            <category>9.1</category>
            <category>basics</category>
            <category>postgis</category>
    
    <comments>https://www.postgresonline.com/journal/index.php?/archives/248-Moving-PostGIS-to-another-schema-with-Extensions.html#comments</comments>
    <wfw:comment>https://www.postgresonline.com/journal/wfwcomment.php?cid=248</wfw:comment>

    <slash:comments>6</slash:comments>
    <wfw:commentRss>https://www.postgresonline.com/journal/rss.php?version=2.0&amp;type=comments&amp;cid=248</wfw:commentRss>
    

    <author>nospam@example.com (Leo Hsu and Regina Obe)</author>
    <content:encoded>
    &lt;p&gt;One of the things people have complained about for quite some time is that postgis is installed in the public schema by default and it&#039;s difficult to move after the fact.  With now over 900 functions types, etc, in the 2.0.0 release  that is a lot of cluttering of workspace.  Now that postgis 2.0.0 is packaged as an extension, you can move all those functions etc. to another schema with the ALTER EXTENSION command.  PgAdmin even throws a nice GUI on top to allow you to do this with some mouse maneuvering if you prefer the guided way.  This might very well be my most favorite usability feature, because if things don&#039;t work out you can just move it back to public.  I&#039;ve been hesitant to do this before because well it was harder and I have a lot of 3rd party apps I work with and fear one of them hard-coded &lt;cdoe&gt;public.geometry&lt;/code&gt; somewhere.  With extensions I can easily revert if it doesn&#039;t work out. &lt;/p&gt;

&lt;p&gt;I&#039;ve done this with some of my databases and been testing out how it works.  So far so good. Here is how you do it.&lt;/p&gt;

&lt;pre&gt;
&lt;code&gt;CREATE SCHEMA postgis;
ALTER DATABASE &lt;em&gt;your_db_goes_here&lt;/em&gt; SET search_path=&quot;$user&quot;, public, postgis,topology;
GRANT ALL ON SCHEMA postgis TO public;
ALTER EXTENSION postgis SET SCHEMA postgis;&lt;/code&gt;
&lt;/pre&gt;


&lt;p&gt;On a somewhat unrelated side note aside from the fact it has to do with postgis not being in same schema as geometry table is &lt;a href=&quot;http://postgis.net/pipermail/postgis-users/2012-March/033092.html&quot;&gt;someone mentioned in PostGIS newsgroup recently&lt;/a&gt; that is an issue if you are using conditional triggers.  That is that if you have a conditional when trigger it can&#039;t find the geometry when you restore the database because of the way the restore process changes search_path.&lt;/p&gt;

&lt;p&gt;I&#039;m expecting the extension model to significantly simplify PostGIS upgrades in the future, because since the functions don&#039;t get backed up, they don&#039;t get in the way when you do a hard upgrade.  Hard upgrade will simply reduce to just restoring your database.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sat, 07 Apr 2012 13:13:00 -0400</pubDate>
    <guid isPermaLink="false">https://www.postgresonline.com/journal/index.php?/archives/248-guid.html</guid>
    
</item>
<item>
    <title>ODBC Foreign Data wrapper - odbc_fdw on windows</title>
    <link>https://www.postgresonline.com/journal/index.php?/archives/246-ODBC-Foreign-Data-wrapper-odbc_fdw-on-windows.html</link>
            <category>9.1</category>
            <category>fdws</category>
            <category>new in postgresql</category>
            <category>odbc_fdw</category>
    
    <comments>https://www.postgresonline.com/journal/index.php?/archives/246-ODBC-Foreign-Data-wrapper-odbc_fdw-on-windows.html#comments</comments>
    <wfw:comment>https://www.postgresonline.com/journal/wfwcomment.php?cid=246</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://www.postgresonline.com/journal/rss.php?version=2.0&amp;type=comments&amp;cid=246</wfw:commentRss>
    

    <author>nospam@example.com (Leo Hsu and Regina Obe)</author>
    <content:encoded>
    &lt;div style=&quot;background-color:green;color:white&quot;&gt;If you are looking for odbc fdw drivers for PostgreSQL 9.5 and 9.6 refer to &lt;a href=&quot;https://www.postgresonline.com/journal/archives/372-ODBC-FDW-now-supports-9.5-and-9.6.html&quot; style=&quot;color:white&quot; target=&quot;_blank&quot;&gt;this newer article&lt;/a&gt;&lt;/div&gt;

&lt;p&gt;One of the new features in PostgreSQL 9.1 that we&#039;ve been meaning to try is the new foreign data wrapper support.
Now that we are in compile mode gearing up for releasing PostGIS 2.0.0 for windows (both 32 and 64-bit), we thought we&#039;d give the &lt;a href=&quot;http://pgxn.org/dist/odbc_fdw/&quot; target=&quot;_blank&quot;&gt;odbc_fdw&lt;/a&gt; a try trying to compile on windows.  Last we tried we weren&#039;t successful because
we couldn&#039;t get past the -lodbc required step.&lt;/p&gt;

&lt;p&gt;It turns out there is an easy fix to the ODBC dependency issue and I&#039;m not sure I changed the line right.  In the makefile we changed &lt;b&gt;-lodbc&lt;/b&gt; to &lt;b&gt;-lodbc32&lt;/b&gt;.  This was needed for both compiling 32-bit as well as the 64-bit. We compiled the 64-bit version under our Mingw-64 chain
and 32-bit under our old Mingw gcc 3.4.5.  Sadly we still don&#039;t have our mingw64 (compile for windows 32-bit compile up yet).  Our ming64 for windows 32 can compile the 9.2 development branch but not the 9.1.3. Go figure.  Anyrate to make a long story short -- we have 32-bit binaries for PostgreSQL (you can use in VC++ builds) and 64-bit binaries as well that you can use for the VC++ EDB builds for those who are interested in experimenting.
&lt;a href=&quot;/downloads/fdw_win32_91_bin.zip&quot;&gt;PostgreSQL 9.1 Windows 32-bit ODBC FDW&lt;/a&gt; &amp;#160;&amp;#160;&lt;a href=&quot;/downloads/odbc_fdw_win64bin.zip&quot;&gt;PostgreSQL 9.1 Windows 64-bit ODBC FDW&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So far we&#039;ve tried the PostgreSQL 64-bit data wrapper against a SQL Server 2005 DSN and it seems to work fine.  Have yet to try it on other ODBC sources.
We&#039;ll write up a more detailed article describing how to make the connections.&lt;/p&gt;

&lt;p&gt;There is one trick to getting Mingw64 compiled PostgreSQL extensions to work with the Windows 64-bit EDB builds, and that is that when you compile your PostgreSQL under mingw64,
you have to configure with option &lt;code&gt;----disable-float8-byval&lt;/code&gt; as we noted in our &lt;a href=&quot;http://trac.osgeo.org/postgis/wiki/DevWikiWinMingW64&quot; target=&quot;_blank&quot;&gt;PostGIS Window 64 build instructions&lt;/a&gt;.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Tue, 27 Mar 2012 16:30:00 -0400</pubDate>
    <guid isPermaLink="false">https://www.postgresonline.com/journal/index.php?/archives/246-guid.html</guid>
    
</item>
<item>
    <title>PostGIS 64-bit for Windows it's coming</title>
    <link>https://www.postgresonline.com/journal/index.php?/archives/245-PostGIS-64-bit-for-Windows-its-coming.html</link>
            <category>9.1</category>
            <category>editor note</category>
            <category>gis</category>
    
    <comments>https://www.postgresonline.com/journal/index.php?/archives/245-PostGIS-64-bit-for-Windows-its-coming.html#comments</comments>
    <wfw:comment>https://www.postgresonline.com/journal/wfwcomment.php?cid=245</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://www.postgresonline.com/journal/rss.php?version=2.0&amp;type=comments&amp;cid=245</wfw:commentRss>
    

    <author>nospam@example.com (Leo Hsu and Regina Obe)</author>
    <content:encoded>
    &lt;div  style=&quot;background-color:yellow&quot;&gt;&lt;b&gt;UPDATE&lt;/b&gt; We have &lt;a href=&quot;http://postgis.net/download/windows/&quot; target=&quot;_blank&quot;&gt;PostGIS 2.0.0 available&lt;/a&gt; for both 32-bit and 64-bit windows PostgreSQL. We are wroking on getting the installers out&lt;/div&gt;
&lt;p&gt;This past week has been very nerve racking but also exciting. We have successfully compiled PostGIS under the mingw64 chain and built a PostGIS windows 64-bit
for 2.0 (and 1.5), that can install under the Enterprise Db VC++ 64-bit builds of PostgreSQL 9.1.  We haven&#039;t tried on 9.0, but we assume that should be fairly trivial.
Note only that, but it passes most of the PostGIS battery of tests.  We first want to thank a group of people which made this all possible:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://people.planetpostgresql.org/andrew/&quot;&gt;Andrew Dunstan&lt;/a&gt; we are greatly indebted to for making it possible to compile PostgreSQL under mingw64 tool chain. As much as people have whined
about wanting to compile PostGIS under a pure VC chain, this is not possible at this juncture just because a lot of the tests and other tool chains PostGIS uses for building
are too tied to the Unix build environment.&lt;/li&gt;
&lt;li&gt;We want to thank &lt;a href=&quot;http://www.pledgebank.com/postgis64windows&quot; target=&quot;_blank&quot;&gt;the generous folks&lt;/a&gt; who provided money for our campaign so that we could funnel time from paid consulting work to focus on this effort and to prove that every little bit counts.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.gaia-gis.it/gaia-sins/&quot; target=&quot;_blank&quot;&gt;SpatiaLite&lt;/a&gt; developer Alessandro Furieri whose &lt;a href=&quot;http://www.gaia-gis.it/gaia-sins/mingw64_how_to.html&quot;&gt;mingw64 compile instructions&lt;/a&gt; were invaluable to helping us overcome our GEOS and other compile obstacles. SpatiaLite (the OGC spatial extender for &lt;a href=&quot;http://www.sqlite.org/&quot; target=&quot;_blank&quot;&gt;SQLite&lt;/a&gt;),uses much of the same plumbing that PostGIS uses under the hood, so many of the lessons he learned an provide could be put to use with our problems.&lt;/li&gt;
&lt;li&gt;To &lt;a href=&quot;http://blog.cleverelephant.ca/&quot; target=&quot;_blank&quot;&gt;Paul Ramsey&lt;/a&gt; especially and other PostGIS devs for general moral support and helping us tackle some PostGIS specific issues when compiled with mingw64.  &lt;a href=&quot;http://trac.osgeo.org/postgis/wiki/DevWikiWinMingWSys_20_MSVC&quot;&gt;Paul&lt;/a&gt; demonstrated that yes you can mix VC++ built components with MingW and steps on how to do it. Part of the reason for that is the newer mingw32 seemed to crash with GEOS compiled under mingw32.  Though the mingw64 chain didn&#039;t have this issue once we overcame our compile obstacle. We may in the future compare and see if compiling Geos under VC++ provides better performance and will also get us closer to having it possible to compile PostGIS fully under VC++ if people choose to.  For the time being having a single tool chain that we can extract and run with is most important.  We are preparing a self-standing Mingw64 tool chain with all the components needed to build PostGIS already compiled so that windows users who want to help with PostGIS need only extract to have a fully functioning postGIS dev environment and we also plan to move our mingw32 build to mingw64 chain of tools.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We hope to have a 64-bit compiled download ready next week for PostGIS 2.0.0 beta3 for people to try out. We are working on some issues with the raster2pgsql and loader/dumper guis we compiled not working right, but the core PostGIS works just fine in 64-bit and the 32-bit loader tools work fine against a 64-bit install.  One thing we did  notice with the 64-bit PostgreSQL is that we
can set shared_buffers much higher than the 32-bit PostgreSQL windows. On windows we could never go beyond ~700MB without it not being able to start or crashing. With the 64-bit we were able to go to 2GB.  Haven&#039;t tried higher yet.  We hope this will prove to be a performance boost for tasks such as geocoding that reuse a lot of the same datasets and benefit a lot from share memory.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sat, 10 Mar 2012 03:46:00 -0500</pubDate>
    <guid isPermaLink="false">https://www.postgresonline.com/journal/index.php?/archives/245-guid.html</guid>
    
</item>
<item>
    <title>Table Inheritance and the tableoid</title>
    <link>https://www.postgresonline.com/journal/index.php?/archives/240-Table-Inheritance-and-the-tableoid.html</link>
            <category>8.2</category>
            <category>8.3</category>
            <category>8.4</category>
            <category>9.0</category>
            <category>9.1</category>
            <category>9.2</category>
            <category>beginner</category>
            <category>q&amp;a</category>
    
    <comments>https://www.postgresonline.com/journal/index.php?/archives/240-Table-Inheritance-and-the-tableoid.html#comments</comments>
    <wfw:comment>https://www.postgresonline.com/journal/wfwcomment.php?cid=240</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>https://www.postgresonline.com/journal/rss.php?version=2.0&amp;type=comments&amp;cid=240</wfw:commentRss>
    

    <author>nospam@example.com (Leo Hsu and Regina Obe)</author>
    <content:encoded>
    &lt;p&gt;If I could name a number one feature I love most about PostgreSQL, it&#039;s the table inheritance feature which we described in &lt;a href=&quot;https://www.postgresonline.com/journal/archives/59-How-to-Inherit,-Unherit-and-Merge-Inherit.html&quot; target=&quot;_blank&quot;&gt;How to Inherit and Uninherit&lt;/a&gt;. A lot of people use it for table partitioning using &lt;a href=&quot;https://www.postgresonline.com/journal/archives/27-Reading-PgAdmin-Graphical-Explain-Plans.html&quot; target=&quot;_blank&quot;&gt;CONSTRAINT EXCLUSION&lt;/a&gt;.  Aside from that, in combination with PostgreSQL schema search_path (customizable by user and/or database) it makes for a very flexible abstraction tool.  For example, for many of our web apps that service many departments where each department/client wants to keep a high level of autonomy, we have a schema set aside for each 
that inherits from a master template schema.  Each department site uses a different set of accounts with the primary schema being that of the department/client so that they are hitting their own  tables. &lt;/p&gt;
&lt;p&gt;Inheritance allows us to keep data separate,do roll-up reports if we need to, use the same application front-end, and yet allows us the ability to add new columns in just one place (the master template schema).  It is more flexible than other approaches because for example we may have a city organization that need to share tables, like for example a system loaded list of funding source shared across the agency.  We can set aside these shared tables in a separate schema visible to all or have some have their own copy they can change if they don&#039;t want to use the shared one.&lt;/p&gt;

&lt;p&gt;Every once in a while, we find ourselves needing to query the whole hierarchy and needing to know which table the results of the query are coming from. To help
solve that issue, we employ the use of the system column &lt;b&gt;tableoid&lt;/b&gt; which all user tables have. The tableoid is the the object id of a table.  PostgreSQL has many system columns that you have to explicitly select
and can&#039;t be accessed with a SELECT * with the tableoid being one of them.  These are: tableoid, cmax,cmin, xmin,xmax,ctid which are all described in &lt;a href=&quot;http://www.postgresql.org/docs/9.1/static/ddl-system-columns.html&quot; target=&quot;_blank&quot;&gt;System Columns&lt;/a&gt;.  The &lt;a href=&quot;http://www.postgresql.org/docs/9.1/static/ddl-inherit.html&quot; target=&quot;_blank&quot;&gt;PostgreSQL docs on inheritance&lt;/a&gt; have examples of using it, but we thought it worthwile to repeat the exercise since it&#039;s not that common knowledge and is unique enough feature of PostgreSQL that others coming from other relational databases, may miss the treat.  I&#039;ve often demonstrated
it to non-PostgreSQL users who use for example SQL Server or MySQL, and they literally fall out of their chair when I show the feature to them and its endless possibilities.&lt;/p&gt;   &lt;a class=&quot;block_level&quot; href=&quot;https://www.postgresonline.com/journal/index.php?/archives/240-Table-Inheritance-and-the-tableoid.html#extended&quot;&gt;Continue reading &quot;Table Inheritance and the tableoid&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Mon, 16 Jan 2012 05:52:54 -0500</pubDate>
    <guid isPermaLink="false">https://www.postgresonline.com/journal/index.php?/archives/240-guid.html</guid>
    
</item>

</channel>
</rss>
