<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://groups.drupal.org" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>Postgresql</title>
 <link>http://groups.drupal.org/postgresql</link>
 <description>Organizing ideas, maintaining code standards around Drupal and PostgreSQL</description>
 <language>en</language>
<item>
 <title>Is Drupal + PostgreSQL a reliable combination?</title>
 <link>http://groups.drupal.org/node/15612</link>
 <description>&lt;p&gt;I have a simple Drupal 6.4 installation running on PostgreSQL 8.1.6 (because that is what ships with Centos 5).&lt;br /&gt;
So far so good. However, I am evaluating Drupal for use with a large local government website which will probably grow quite complex.&lt;/p&gt;
&lt;p&gt;How likely is it that we will run into problems using PostgreSQL with Drupal? For us, PostgreSQL is the non-negotiable part. We can always use another CMS but we have ruled MySQL out in favour of what we believe to be the more rigorous, capable and standards-compliant database.&lt;/p&gt;
&lt;p&gt;Are we asking for trouble using Drupal with PostgreSQL?&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/postgresql&quot;&gt;Postgresql&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/15612#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/6715">postgresql postgres</category>
 <group domain="http://groups.drupal.org/postgresql">Postgresql</group>
 <pubDate>Mon, 06 Oct 2008 13:07:16 +0000</pubDate>
 <dc:creator>mickh</dc:creator>
 <guid isPermaLink="false">15612 at http://groups.drupal.org</guid>
</item>
<item>
 <title>SimpleTests that are known to fail on PostgreSQL</title>
 <link>http://groups.drupal.org/node/14137</link>
 <description>&lt;p&gt;Here are the results of running our whole test suite on PostgreSQL 8.3.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Actions configuration 30 passes, 8 fails, 0 exceptions&lt;/code&gt;&lt;br /&gt;
See &lt;a href=&quot;http://drupal.org/node/261859&quot; title=&quot;http://drupal.org/node/261859&quot;&gt;http://drupal.org/node/261859&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Block functionality 57 passes, 1 fail, 0 exceptions&lt;/code&gt;&lt;br /&gt;
No known issue (yet!)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Blog API functionality 45 passes, 2 fails, 1 exception&lt;/code&gt;&lt;br /&gt;
No known issue (yet!)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Search engine ranking 21 passes, 5 fails, 20 exceptions&lt;/code&gt;&lt;br /&gt;
See &lt;a href=&quot;http://drupal.org/node/296624&quot; title=&quot;http://drupal.org/node/296624&quot;&gt;http://drupal.org/node/296624&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Module list functionality 53 passes, 4 fails, 0 exceptions&lt;/code&gt;&lt;br /&gt;
No known issue (yet!)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Some of them may be solved or easier to solve once the &lt;a href=&quot;http://drupal.org/node/225450&quot;&gt;PDO patch&lt;/a&gt; will land. Anyway, please help us fix Drupal on PostgreSQL!&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/testing-qa&quot;&gt;Testing and Quality Assurance&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/14137#comments</comments>
 <group domain="http://groups.drupal.org/postgresql">Postgresql</group>
 <group domain="http://groups.drupal.org/testing-qa">Testing and Quality Assurance</group>
 <pubDate>Wed, 20 Aug 2008 21:28:47 +0000</pubDate>
 <dc:creator>Damien Tournoud</dc:creator>
 <guid isPermaLink="false">14137 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Table &quot;Node&quot; Field &quot;language&quot;</title>
 <link>http://groups.drupal.org/node/12590</link>
 <description>&lt;p&gt;Drupal 6.x.    Table &quot;node&quot;.&lt;/p&gt;
&lt;p&gt;What should the value of the &quot;language&quot; field be if the displayed text is Chinese.&lt;/p&gt;
&lt;p&gt;If a value is required, are there any other things that need to be done so that Chinese symbols are correctly displayed.&lt;/p&gt;
&lt;p&gt;Any help appreciated.&lt;/p&gt;
&lt;p&gt;Steve&lt;br /&gt;
&lt;a href=&quot;http://prime357.org&quot; title=&quot;http://prime357.org&quot;&gt;http://prime357.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ps. I&#039;ve got a &lt;a href=&quot;http://prime357.org/node/109&quot;&gt;thread&lt;/a&gt; running at my site which I think this may be a part issue to it.   As you can imagine it&#039;s becoming very confusing as all I see is either unicode or Chinese symbols (can&#039;t read Chinese).&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/postgresql&quot;&gt;Postgresql&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/12590#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/5480">chinese</category>
 <category domain="http://groups.drupal.org/taxonomy/term/3305">encode</category>
 <category domain="http://groups.drupal.org/taxonomy/term/5479">encodings</category>
 <category domain="http://groups.drupal.org/taxonomy/term/2797">language</category>
 <group domain="http://groups.drupal.org/australia">Australia</group>
 <group domain="http://groups.drupal.org/database">Database</group>
 <group domain="http://groups.drupal.org/mysql">MySQL</group>
 <group domain="http://groups.drupal.org/postgresql">Postgresql</group>
 <pubDate>Fri, 20 Jun 2008 04:45:10 +0000</pubDate>
 <dc:creator>superjacent</dc:creator>
 <guid isPermaLink="false">12590 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Looking for Contributors - C++ (and other stuff in time)</title>
 <link>http://groups.drupal.org/node/12566</link>
 <description>&lt;p&gt;Hope I&#039;m not out of line with this request.&lt;/p&gt;
&lt;p&gt;I&#039;m now on the lookout for C++ contributors (and other like stuff in time).   I started the site &lt;a href=&quot;http://prime357.org&quot; title=&quot;http://prime357.org&quot;&gt;http://prime357.org&lt;/a&gt;, which is a separation from my personal blogging (&lt;a href=&quot;http://superjacent.net&quot; title=&quot;http://superjacent.net&quot;&gt;http://superjacent.net&lt;/a&gt; - running) site, in early April this year.    Too much geeky stuff was creeping into the running site.&lt;/p&gt;
&lt;p&gt;The purpose of Prime357 was to track my development in C++ and a place to continue development of the Wordpress to Drupal converter, a &lt;a href=&quot;http://www.realsoftware.com/&quot;&gt;Realbasic&lt;/a&gt; application.   I&#039;ve got some good how-to type tutorials (my opinion) and short demonstration programs which are presented via the Drupal book method.   I first wanted to get some content into the site before seeking contributors so at at least anybody interested could get a feel for my intent (not that it&#039;s set in concrete).&lt;/p&gt;
&lt;p&gt;Unfortunately, as regards C++ my time has been diverted to other IT stuff, the Wordpress converter and very soon &lt;a href=&quot;http://www.purebasic.com/&quot;&gt;Purebasic&lt;/a&gt; development which will in time will replace Realbasic as the development tool for the Wordpress (and phpBB) converter.   I&#039;m getting a heap of hits relating to the C++ stuff and I&#039;d hate to see it dry up.&lt;/p&gt;
&lt;p&gt;Contributors do not have to be fully fledged C++ coding experts but proficient enough to know what they are talking about which translates to explaining why things are/were done in a certain way.   Ideally in normal English, non sms speak.&lt;/p&gt;
&lt;p&gt;What can I offer contributors?   That&#039;s a good question, nothing but a sense of satisfaction.&lt;/p&gt;
&lt;p&gt;I&#039;m Australian based (Melbourne) and the server is in the US.   So any local contributors would be very welcome but that&#039;s not to say international ones wouldn&#039;t be.&lt;/p&gt;
&lt;p&gt;Okay, that&#039;s my pitch.&lt;/p&gt;
&lt;p&gt;Steve&lt;br /&gt;
&lt;a href=&quot;http://prime357.org&quot; title=&quot;http://prime357.org&quot;&gt;http://prime357.org&lt;/a&gt; and &lt;a href=&quot;http://prime357.org/node/108&quot;&gt;Looking for Contributors&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;ps. Where I&#039;ve mentioned C++, if you wanted, you could substitute PHP and/or Drupal itself.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/postgresql&quot;&gt;Postgresql&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/12566#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/2176">C++</category>
 <group domain="http://groups.drupal.org/australia">Australia</group>
 <group domain="http://groups.drupal.org/database">Database</group>
 <group domain="http://groups.drupal.org/mysql">MySQL</group>
 <group domain="http://groups.drupal.org/postgresql">Postgresql</group>
 <pubDate>Thu, 19 Jun 2008 11:37:27 +0000</pubDate>
 <dc:creator>superjacent</dc:creator>
 <guid isPermaLink="false">12566 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Base 36 (Vancode) - leading digit/character</title>
 <link>http://groups.drupal.org/node/12038</link>
 <description>&lt;p&gt;I hope this is the right area for this question which refers to the &#039;thread&#039; field of the table &#039;comments&#039;.   I provide a non php solution to convert  &lt;a href=&quot;http://prime357.org/node/63&quot;&gt;Wordpress data to Drupal&lt;/a&gt;.   I recently became aware that the thread field is not a string of decimal numbers but is in fact a string of base 36 (Vancode) numbers.   I&#039;ve created the necessary functions to convert to and from base 36 format but I&#039;m a little confused re - the leading digit/character.&lt;/p&gt;
&lt;p&gt;Here is an excerpt from &lt;a href=&quot;http://api.drupal.org/api/function/int2vancode/5&quot; title=&quot;http://api.drupal.org/api/function/int2vancode/5&quot;&gt;http://api.drupal.org/api/function/int2vancode/5&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
Generate vancode.&lt;/p&gt;
&lt;p&gt;Consists of a leading character indicating length, followed by N digits with a numerical value in base 36. Vancodes can be sorted as strings without messing up numerical order.&lt;/p&gt;
&lt;p&gt;It goes: 00, 01, 02, ..., 0y, 0z, 110, 111, ... , 1zy, 1zz, 2100, 2101, ..., 2zzy, 2zzz, 31000, 31001, ...&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;So, &lt;code&gt;decimal 35 = z&lt;/code&gt; and so it is written as &lt;code&gt;0z&lt;/code&gt;.   The leading zero in this case, how does that indicate length?    Therefore &lt;code&gt;decimal 36 = 10&lt;/code&gt; and so is written as &lt;code&gt;110&lt;/code&gt; as per the excerpt above.   Again, how does the leading character &lt;code&gt;1&lt;/code&gt; indicate length when the length of &lt;code&gt;10&lt;/code&gt; is &lt;code&gt;2&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Obviously I can see a pattern forming whereby the leading character for the first 36 is 0, the next 36 is 1, the next 2 and so on up until z.   Is there an assumption that the leading character will never be greater than &quot;z&quot;.&lt;/p&gt;
&lt;p&gt;Any help appreciated.&lt;/p&gt;
&lt;p&gt;Steve&lt;br /&gt;
&lt;a href=&quot;http://prime357.org&quot; title=&quot;http://prime357.org&quot;&gt;http://prime357.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Update&lt;/b&gt;: &lt;i&gt;Since no response from the initial group (Database Schema API) I&#039;m posting to other groups I think might be relevant.   Secondary question is, for specific backend database type questions which group or forum is most relevant.   I&#039;ve got other backend database type questions waiting in the wings.&lt;/i&gt;&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/postgresql&quot;&gt;Postgresql&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/12038#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/5373">base 36</category>
 <category domain="http://groups.drupal.org/taxonomy/term/5372">vancode</category>
 <group domain="http://groups.drupal.org/australia">Australia</group>
 <group domain="http://groups.drupal.org/database">Database</group>
 <group domain="http://groups.drupal.org/drubb">DruBB</group>
 <group domain="http://groups.drupal.org/drupal-dojo">Drupal Dojo</group>
 <group domain="http://groups.drupal.org/mysql">MySQL</group>
 <group domain="http://groups.drupal.org/postgresql">Postgresql</group>
 <pubDate>Fri, 06 Jun 2008 00:13:04 +0000</pubDate>
 <dc:creator>superjacent</dc:creator>
 <guid isPermaLink="false">12038 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Speakers needed: European PostgreSQL Day, Prato, Tuscany, Italy on October 17 and 18 2008</title>
 <link>http://groups.drupal.org/node/11099</link>
 <description>&lt;p&gt;Drupal speakers are needed for PostgreSQL Day. If you are available or interested please contact me.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/postgresql&quot;&gt;Postgresql&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/11099#comments</comments>
 <group domain="http://groups.drupal.org/italy">Italy</group>
 <group domain="http://groups.drupal.org/postgresql">Postgresql</group>
 <pubDate>Tue, 29 Apr 2008 19:44:03 +0000</pubDate>
 <dc:creator>Amazon</dc:creator>
 <guid isPermaLink="false">11099 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Installing Drupal with PostgreSQL 7.4</title>
 <link>http://groups.drupal.org/node/10122</link>
 <description>&lt;p&gt;[RESOLVED: see thread below]&lt;/p&gt;
&lt;p&gt;I started in the regular support forums but they seem to be full of messages on the order of &quot;I don&#039;t know anything about PostgreSQL, can anyone verify that it works?&quot; That seemed rather odd to me given that Drupal supposedly now supports use of the PostgreSQL server.&lt;/p&gt;
&lt;p&gt;Anyway, I am trying to get a Drupal 6.1 installation up and running with PostgreSQL 7.4 running on Debian Linux 4.0 (etch). I&#039;ve been over the installation instructions several times, but can&#039;t get the install.php procedure to successfully connect to the PostgreSQL server, which is running on the same host as Drupal.&lt;/p&gt;
&lt;p&gt;After supplying the database name, user name, and password, I get an error screen stating that the connection failed. It tells me to check the PostgreSQL log for the reason.&lt;/p&gt;
&lt;p&gt;The only error indicated there, once each time I try to run the Drupal installation, is:&lt;/p&gt;
&lt;p&gt;2008-03-24 10:02:02 LOG:  incomplete startup packet&lt;/p&gt;
&lt;p&gt;PostgreSQL is working, and does accept queries and database modifications entered from the command line. The user and database created for Drupal to use are available and functional in that mode. This certainly appears to be a flaw in the Drupal setup code, but I&#039;m not fluent enough in PHP to find it. I gather that many of you here have Drupal running on a PostgreSQL database. Any idea what I&#039;m missing?&lt;/p&gt;
&lt;p&gt;--Gary Phillips, Librarian, Harvard Diggins Library, Harvard, Illinois&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/postgresql&quot;&gt;Postgresql&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/10122#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/4582">postgresql installation</category>
 <group domain="http://groups.drupal.org/postgresql">Postgresql</group>
 <pubDate>Tue, 25 Mar 2008 18:02:49 +0000</pubDate>
 <dc:creator>Altivo</dc:creator>
 <guid isPermaLink="false">10122 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Differences between PostgreSQL versions</title>
 <link>http://groups.drupal.org/node/9330</link>
 <description>&lt;p&gt;There is a nice feature matrix on the PostgreSQL page in case you are wondering what features are available in different version of PostgreSQL.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.postgresql.org/about/featurematrix&quot; title=&quot;http://www.postgresql.org/about/featurematrix&quot;&gt;http://www.postgresql.org/about/featurematrix&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Looks like 8.3 is really a killer release!&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/postgresql&quot;&gt;Postgresql&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/9330#comments</comments>
 <group domain="http://groups.drupal.org/postgresql">Postgresql</group>
 <pubDate>Mon, 03 Mar 2008 07:19:00 +0000</pubDate>
 <dc:creator>jaydub</dc:creator>
 <guid isPermaLink="false">9330 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Design suggestion of multiple databases vs multiple schemas within the database</title>
 <link>http://groups.drupal.org/node/9319</link>
 <description>&lt;p&gt;I am building a web app with Postgres, that also uses Drupal with Postgres. I am new to all these frameworks.&lt;/p&gt;
&lt;p&gt;There is some data that I&#039;ll need to cross-reference between the two databases.&lt;/p&gt;
&lt;p&gt;Can I do a cross-schema/catalog join? Or is a cross-database join better?&lt;br /&gt;
Are there any gotchas for the cross-schema/cross-database joins that I need to be aware of? Such as when using Shared hosting?&lt;/p&gt;
&lt;p&gt;Any suggestions/comments appreciated.&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/postgresql&quot;&gt;Postgresql&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/9319#comments</comments>
 <group domain="http://groups.drupal.org/postgresql">Postgresql</group>
 <pubDate>Sun, 02 Mar 2008 19:54:43 +0000</pubDate>
 <dc:creator>swami</dc:creator>
 <guid isPermaLink="false">9319 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Request Virtual Machine with Drupal working with PostgreSQL</title>
 <link>http://groups.drupal.org/node/9266</link>
 <description>&lt;p&gt;Can someone please post a VMware VM appliance with Drupal working with Postgres, that us newbies can play with?&lt;br /&gt;
Additionally, all popular modules working with Postgres may be enabled in this VM. This can help increase a beeline for the unsupported modules to add support.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/postgresql&quot;&gt;Postgresql&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/9266#comments</comments>
 <group domain="http://groups.drupal.org/postgresql">Postgresql</group>
 <pubDate>Thu, 28 Feb 2008 21:56:16 +0000</pubDate>
 <dc:creator>swami</dc:creator>
 <guid isPermaLink="false">9266 at http://groups.drupal.org</guid>
</item>
<item>
 <title>How to write PostgreSQL-friendly SQL</title>
 <link>http://groups.drupal.org/node/9243</link>
 <description>&lt;p&gt;With the release of Drupal 6 support for PostgreSQL has come a long way in that core and contrib modules no longer have to know PostgreSQL syntax for CREATE TABLE and other table/index creation or alteration actions.&lt;/p&gt;
&lt;p&gt;However when it comes to writing actual SQL in core and contrib modules there will be many situations where SQL that works fine in MySQL will not work in PostgreSQL. Most of the time this is due to the use of MySQL-specific SQL functions or to PostgreSQL&#039;s stricter adherence to SQL 92 or SQL 99 standards.&lt;/p&gt;
&lt;p&gt;Now that D6 is out it&#039;s likely that many module authors will begin to port their modules to D6. With the schema API addition to D6, most authors will assume that PostgreSQL support is included without thinking about the SQL they write in their module functions. For those of us that are PostgreSQL supporters and have the knowledge to help module authors with their SQL this is a great time to make a push for more solid support of PostgreSQL in Drupal.&lt;/p&gt;
&lt;p&gt;This Wiki can help to identify different types of SQL that will have problems in PostgreSQL and include solutions if any to these problems. Please add or update anything you think is helpful.&lt;/p&gt;
&lt;h3&gt;Multiple value INSERTs&lt;/h3&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In MySQL (and in PostgreSQL 8.2+) it&#039;s possible to insert multiple rows in a single INSERT statment. This is not available in PostgreSQL &amp;lt; 8.2&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;INSERT INTO foo (bar, baz) VALUES (1,2), (3,4), (5,6)&lt;br /&gt;&lt;br /&gt;replace with&lt;br /&gt;&lt;br /&gt;INSERT INTO foo (bar, baz) VALUES (1,2)&lt;br /&gt;INSERT INTO foo (bar, baz) VALUES (3,4)&lt;br /&gt;INSERT INTO foo (bar, baz) VALUES (5,6)&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;h3&gt;INSERT IGNORE&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;MySQL allows you to use INSERT IGNORE to insert rows into a table and instead of causing an error when attempt to insert a row with a duplicate of a primary key or unique column the insert for that row is ignored.
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://dev.mysql.com/doc/refman/5.0/en/insert.html&quot; title=&quot;http://dev.mysql.com/doc/refman/5.0/en/insert.html&quot;&gt;http://dev.mysql.com/doc/refman/5.0/en/insert.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;&lt;p&gt;
If you use the IGNORE keyword, errors that occur while executing the INSERT  statement are treated as warnings instead. For example, without IGNORE, a row that duplicates an existing UNIQUE index or PRIMARY KEY value in the table causes a duplicate-key error and the statement is aborted. With IGNORE, the row still is not inserted, but no error is issued
&lt;/p&gt;&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;PostgreSQL has no such functionality. The easiest workaround is to replace the INSERT IGNORE with a DELETE and INSERT&lt;br /&gt;
&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;DELETE FROM foo WHERE bar = 1 AND baz = 2&lt;br /&gt;INSERT INTO foo (bar, baz) VALUES (1, 3)&lt;/code&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;REPLACE INTO&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;MySQL allows you to use REPLACE [INTO] in place of an INSERT.  &lt;a href=&quot;http://dev.mysql.com/doc/refman/5.0/en/replace.html&quot; title=&quot;http://dev.mysql.com/doc/refman/5.0/en/replace.html&quot;&gt;http://dev.mysql.com/doc/refman/5.0/en/replace.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;&lt;p&gt;
REPLACE works exactly like INSERT, except that if an old row in the table has the same value as a new row for a PRIMARY KEY or a UNIQUE index, the old row is deleted before the new row is inserted.
&lt;/p&gt;&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;No such function exists for PostgreSQL. The likely workaround would be the same as INSERT IGNORE, to replace with a DELETE and INSERT or a SELECT to find if row exists and UPDATE or INSERT if row does not exist. &lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;UNIX_TIMESTAMP&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;MySQL has a date/time function UNIX_TIMESTAMP to return the current time in UNIX timestamp format. This is essentially the same as the PHP time() function. &lt;/li&gt;
&lt;li&gt;PostgreSQL has a method of extracting the UNIX timestamp but it&#039;s a bit more involved than the MySQL UNIX_TIMESTAMP
&lt;ul&gt;
&lt;li&gt;SELECT EXTRACT(&#039;epoch&#039; FROM CURRENT_TIMESTAMP)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Suggested workaround is to pass in the UNIX timestamp from PHP (which is the better practice anyway, it keeps you from running into time offset issues between your web server and your database server)&lt;br /&gt;
&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;$result = db_query(&amp;#039;SELECT foo, bar FROM baz WHERE created &amp;gt; UNIX_TIMESTAMP - 86400 * 7&amp;#039;);&lt;br /&gt;&lt;br /&gt;replace with &lt;br /&gt;&lt;br /&gt;$time = time();&lt;br /&gt;$result = db_query(&amp;#039;SELECT foo, bar FROM baz WHERE created &amp;gt; %d - 86400 * 7&amp;#039;, $time);&lt;/code&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Date math&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Both MySQL and PostgreSQL have a number of ways to do date arithmetic. Unfortunately they are different enough that whenever needed, it&#039;s best to try and accomplish any date math in PHP where possible.
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.postgresql.org/docs/8.1/static/functions-datetime.html&quot; title=&quot;http://www.postgresql.org/docs/8.1/static/functions-datetime.html&quot;&gt;http://www.postgresql.org/docs/8.1/static/functions-datetime.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html&quot; title=&quot;http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html&quot;&gt;http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;GROUP BY&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;MySQL allows you to SELECT columns that are then not explicitly stated in the GROUP BY clause. PostgreSQL does not
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.postgresql.org/docs/8.1/static/sql-select.html&quot; title=&quot;http://www.postgresql.org/docs/8.1/static/sql-select.html&quot;&gt;http://www.postgresql.org/docs/8.1/static/sql-select.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;&lt;p&gt;
When GROUP BY is present, it is not valid for the SELECT list expressions to refer to ungrouped columns except within aggregate functions, since there would be more than one possible value to return for an ungrouped column.
&lt;/p&gt;&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Workaround is to simply add the additional columns to the GROUP BY clause.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/mysql&quot;&gt;MySQL&lt;/a&gt;&lt;/div&gt;</description>
 <group domain="http://groups.drupal.org/postgresql">Postgresql</group>
 <group domain="http://groups.drupal.org/mysql">MySQL</group>
 <pubDate>Thu, 28 Feb 2008 04:42:26 +0000</pubDate>
 <dc:creator>jaydub</dc:creator>
 <guid isPermaLink="false">9243 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Drupal support for Postgres</title>
 <link>http://groups.drupal.org/node/9236</link>
 <description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I am new to Drupal, and am using Mono/Postgres with my personal project. I&#039;d like to integrate a CMS with it, and zeroed on to Drupal over MojoPortal, for its much higher range of features.&lt;/p&gt;
&lt;p&gt;However, from my search, I find that Postgres support seems kind of step-motherly. As a newbie, I wanted your comments on whether I should still bite the bullet &amp;amp; go with Drupal 6, or should I wait for 7 till the support gets better.&lt;/p&gt;
&lt;p&gt;Here are the Drupal features I need:&lt;br /&gt;
1. Books&lt;br /&gt;
2. Wiki&lt;br /&gt;
3. Blog&lt;br /&gt;
4. Forum&lt;br /&gt;
5. Rating system&lt;br /&gt;
6. Statistics&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/postgresql&quot;&gt;Postgresql&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/9236#comments</comments>
 <group domain="http://groups.drupal.org/postgresql">Postgresql</group>
 <pubDate>Wed, 27 Feb 2008 21:19:00 +0000</pubDate>
 <dc:creator>swami</dc:creator>
 <guid isPermaLink="false">9236 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Postgres Support Task Force</title>
 <link>http://groups.drupal.org/node/9103</link>
 <description>&lt;p&gt;I have been  using Drupal with Postgres for some time now. I actually choose Drupal because of it supported Postgres (I really like the database). Throughout this time I’ve helped fix several issues related to module’s support to Postgres.  This is a kind of chicken and egg problem. Since not all modules support Postgres, a lot of people are forced to use MySQL, and thus never improve Postgres support. Drupal 6 Schema API promises to improve this very much.&lt;/p&gt;
&lt;p&gt;However, after reading a lot of flames on dropping postgres supports from core, and how to fix it, I have come to the conclusion that we need a more coordinated effort to support Postgres. Fixing issues is not really hard, but you are normally focusing on your problems. I believe we need a team of user to help test and fix issues with postgres database support.
&lt;/p&gt;
&lt;p&gt;I’d suggest some actions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Having a tag on the issues that indicates it’s a postgres problem (like the GOP and newbie tags);
&lt;li&gt;Create and promote a Postgres taskforce of people that can help with patching and testing, maybe separate groups;
&lt;/ul&gt;
&lt;p&gt;I really thing this could help, but am not sure how to do this in the “Drupal.org” way.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/postgresql&quot;&gt;Postgresql&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/9103#comments</comments>
 <group domain="http://groups.drupal.org/postgresql">Postgresql</group>
 <pubDate>Fri, 22 Feb 2008 15:50:25 +0000</pubDate>
 <dc:creator>mailleux</dc:creator>
 <guid isPermaLink="false">9103 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Some review and proposal about Drupal 7.x database stack</title>
 <link>http://groups.drupal.org/node/8907</link>
 <description>&lt;p&gt;I start my Drupal + Oracle research since the end of Drupal 4.7 life cycle (around Oct 2006), based on my client&#039;s request. The project is still running, but I am not satisfy about its progress. After keep trace in Drupal database stack implementation for more than years, it is time for focusing on Drupal 7.x development.&lt;/p&gt;
&lt;p&gt;So what are the changes since 4.7.x? And what will be happened for 7.x? I would like to share my research progress with you, and so let&#039;s brain storming for what&#039;s next :-)&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://edin.no-ip.com/html/files/DrupalDBStack_title.png&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;drupal-4.7.x-5.x&quot;&gt;Drupal 4.7.x/5.x&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;http://edin.no-ip.com/html/files/DrupalDBStack_D5.png&quot;&gt;&lt;img src=&quot;http://edin.no-ip.com/html/files/DrupalDBStack_D5.png&quot;&gt;&lt;/a&gt;&lt;br /&gt;
Fig 1.1 Drupal 5.x database stack.&lt;/p&gt;
&lt;p&gt;The case of Drupal 4.7.x and 5.x is very similar: we support both MySQL and PostgreSQL backend, with specific database access API file (e.g. database.mysqli.inc), enclosed with database.inc, and that&#039;s all. We still have some extra abstraction build on top of this simple model, e.g. tablesort.inc and pager.inc, for some useful application layer abstraction.&lt;/p&gt;
&lt;p&gt;During this period, core and contribute developers need to understand the differences between MySQL and PostgreSQL, since database schema must handle manually. I would like to call this as the dark age of our history: we are asking every contribute developers as both MySQL and PostgreSQL expert (but most of us coming with MySQL-only skill set), or else code was not portable. This result in a complicated PostgreSQL support, and so most contribute modules are MySQL only.&lt;/p&gt;
&lt;h2 id=&quot;drupal-6.x&quot;&gt;Drupal 6.x&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;http://edin.no-ip.com/html/files/DrupalDBStack_D6.png&quot;&gt;&lt;img src=&quot;http://edin.no-ip.com/html/files/DrupalDBStack_D6.png&quot;&gt;&lt;/a&gt;&lt;br /&gt;
Fig 2.1 Drupal 6.x database stack.&lt;/p&gt;
&lt;p&gt;For our newest stable Drupal release - 6.x, Schema API is being introduced. We spend a lot of time for its development, during 6.x 1-year development life cycle. It is target to solve the schema problem as mentioned above. Contribute developers are no longer required as bi-expert nor multi-expert: we just need to know how to define our schema in a correct Schema API syntax, Schema API will handle the rest for us. IMHO, it is very powerful, and it is an important improvement for other database development.&lt;/p&gt;
&lt;p&gt;drupal_write_record() is being introduce, too. This handy function will grep out existing cached schema, and build INSERT/UPDATE queries for us automatically. It try to handle all column type binding for normal developers, which is usually very bulky in implementation.&lt;/p&gt;
&lt;p&gt;BTW, the work is not too elegant: all stuff are mixed into database.*.inc, and so files are even split as 2 section (groups &lt;code&gt;database&lt;/code&gt; and &lt;code&gt;schemaapi&lt;/code&gt;) internally. This may increase the difficulty for our core maintenance.&lt;/p&gt;
&lt;p&gt;Most likely, this design is very similar as &lt;a href=&quot;http://docs.moodle.org/en/XML_database_schema&quot;&gt;Moodle 1.7+ XMLDB&lt;/a&gt; implementation.&lt;/p&gt;
&lt;h2 id=&quot;drupal-7.x&quot;&gt;So what&#039;s coming next for Drupal 7.x?&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;http://edin.no-ip.com/html/files/DrupalDBStack_D7_hook.png&quot;&gt;&lt;img src=&quot;http://edin.no-ip.com/html/files/DrupalDBStack_D7_hook.png&quot;&gt;&lt;/a&gt;&lt;br /&gt;
Fig 3.1 Well... So what&#039;s coming next for Drupal 7.x?&lt;/p&gt;
&lt;p&gt;The truth is: I don&#039;t know the overall schedule up to this moment. &lt;a href=&quot;http://groups.drupal.org/data-architecture-design-sprint&quot;&gt;Data Architecture Design Sprint group&lt;/a&gt; is now hard working for this, and going to present their research progress in Boston DrupalCon 2008. Since we are going to use PHP PDO (instead of legacy PHP database connection drivers), people are also focusing on implement Data API or Active record model for a higher level of abstraction. Before they have their final decision, I would like to provide some successful case study as reference, and let&#039;s brain storming for the optimal solution :-)&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://edin.no-ip.com/html/files/MoodleDBStack.png&quot;&gt;&lt;img src=&quot;http://edin.no-ip.com/html/files/MoodleDBStack.png&quot;&gt;&lt;/a&gt;&lt;br /&gt;
Fig 3.2 Moodle 1.7+ XMLDB stack. From &lt;a href=&quot;http://docs.moodle.org/en/Development:XMLDB_introduction#The_Stack&quot;&gt;doc.moodle.org&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;When we are talking about improve our database abstraction as more powerful and universal, Moodle 1.7+ XMLDB stack should act as a perfect example (it since &lt;a href=&quot;http://docs.moodle.org/en/Release#Moodle_1.7&quot;&gt;Nov 2006&lt;/a&gt;). As Moodle core uses ADOdb internally, this possibility has been present since the beginning. Plus their XMLDB abstraction, Moodle 1.7+ is able to handle both MySQL, PostgreSQL, Oracle and MSSQL while maintaining everything working properly. I will not detail their implementation within this article, and you may refer to their &lt;a href=&quot;http://docs.moodle.org/en/Development:XMLDB_introduction&quot;&gt;introducetion&lt;/a&gt;, &lt;a href=&quot;http://docs.moodle.org/en/Development:XMLDB_roadmap&quot;&gt;roadmap&lt;/a&gt; and &lt;a href=&quot;http://docs.moodle.org/en/Development:XMLDB_problems&quot;&gt;problems&lt;/a&gt; document.&lt;/p&gt;
&lt;p&gt;The most important idea of Moodle&#039;s XMLDB stack is split-brain handling. They left every layer keep focus on their duty ONLY, and so the final approach is perfect and elegant. This is also similar as the well-known &lt;a href=&quot;http://en.wikipedia.org/wiki/OSI_model&quot;&gt;OSI model&lt;/a&gt;: A layer is a collection of related functions that provides services to the layer above it and receives service from the layer below it.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://edin.no-ip.com/html/files/DrupalDBStack_D7_draft.png&quot;&gt;&lt;img src=&quot;http://edin.no-ip.com/html/files/DrupalDBStack_D7_draft.png&quot;&gt;&lt;/a&gt;&lt;br /&gt;
Fig 3.3 Research progress of &lt;a href=&quot;http://edin.no-ip.com/project/siren&quot;&gt;Siren&lt;/a&gt; + personal suggestion.&lt;/p&gt;
&lt;p&gt;Well, &lt;a href=&quot;http://edin.no-ip.com/project/siren&quot;&gt;Siren&lt;/a&gt; is my personal research project besides Drupal 6.x, which target to explore the possibility of multiple database support as like as Moodle, Gallery2, and eGroupWare. Moreover, prepare research progress whenever Drupal 7.x is open for public development (and that&#039;s now). Within this project, we are able to support both 5 database + totally 9 PHP database access drivers, including mysql, mysqli, pgsql, oci8, pdo_mysql, pdo_pgsql, pdo_oci, pdo_sqlite and pdo_ibm.&lt;/p&gt;
&lt;p&gt;It sounds interesting, isn&#039;t it? So what changes I have been made in order to support this approach? Just some step forward improvement: split the handle of function calls into number of individual files, and each layer just keep focus on what they are needed for. E.g. split Schema API related functions into schema.&lt;em&gt;.inc, common DML into common.&lt;/em&gt;.inc, and so on. Surly I plug some extra update to our core queries syntax; but most likely, the idea is just very strict forward. The research progress should belongs to &lt;a href=&quot;http://en.wikipedia.org/wiki/Session_layer&quot;&gt;OSI session layer&lt;/a&gt; when compare with OSI model.&lt;/p&gt;
&lt;p&gt;IMHO, Data API is a must for our future, if Drupal is going to be a web service framework. Acting as a high level abstraction should be the best position for it. It should be similar as the idea of &lt;a href=&quot;http://en.wikipedia.org/wiki/Presentation_layer&quot;&gt;OSI presentation layer&lt;/a&gt;, which is one level below our core application APIs. It may implement as OOP or whatever; BTW, according to its duty and responsibility, it should be separated from PDO database access API (where PDO is much similar as &lt;a href=&quot;http://en.wikipedia.org/wiki/Transport_layer&quot;&gt;OSI transport layer&lt;/a&gt; implementation).&lt;/p&gt;
&lt;p&gt;One statement as conclusion: split-brain handling.&lt;/p&gt;
&lt;h2 id=&quot;other_suggestion&quot;&gt;Any else suggestion?&lt;/h2&gt;
&lt;p&gt;Database driver is something only need to be implement once and forever. Once the design of logic is completed, the rest is all about the style of implementation, e.g. using OOP as ADOdb or traditional function callback as Drupal.&lt;/p&gt;
&lt;p&gt;The design of abstraction layer is also similar, too. Once you get a complete study of the variation between each databases, and able to foresee ALL of the needs of their specific limitation, it is all done. There is no such idea of &quot;Contribute Supported Database&quot; within the above 2 layers, and it is what I call as &quot;No gray area, but only black and white&quot;. Whatever you support it, or else you don&#039;t.&lt;/p&gt;
&lt;p&gt;On the other hand, Data API is much different. It try to serve the need of our application, and so its requirement will keep on changing depend on time. Therefore a split-brain handle should be the most suitable implementation. Please correct me if you have some better idea :-)&lt;/p&gt;
&lt;p&gt;But the truth case is: we are lack of PostgreSQL/Oracle/DB2/SQLite/etc developers, and not enough task force nor union for a complete and perfect support for them. Up to this point, I would like to proposal the idea of &quot;Contribute Supported Database&quot; in this way:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Implement ALL possible database drivers into core, and build an abstraction that cover ALL the needs of them. This is a once forever task, and the base of the rest of discussion.&lt;/li&gt;
&lt;li&gt;ALL core libraries and essential modules for installation MUST implemented as universal, so basic installation MUST function for ALL databases. E.g. node, comment, users, block, etc. This is all the duty of our core developers which need to be ensure before stable release. On the other hand, if MySQL (and maybe SQLite, too) is our main focus, just keep its support as perfect as usual.
&lt;p&gt;&lt;i&gt;P.S. an additional pre-requirement for this point: try to implement ALL core module as SQL-99 compatible by default, and so save a lot of time for further more follow up handling.&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;Label the optional modules as &quot;Not supported&quot; or &quot;Not perfectly supported&quot; within modules selection page, if that is the case of specific database backend; give a different level of support status; or maybe even, disable its activation checkbox by default. Don&#039;t let our second/third priority database hold our stable release!&lt;/li&gt;
&lt;li&gt;left the issue open for contribute developers if they really hope to let that module function for database A/B/C/etc, and release subversions besides stable release for this purpose. E.g. if now search and forum module are not compatible with Oracle, just let it be as Oracle developers duty!&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This is my ideal proposal. So how about yours? &lt;a href=&quot;http://edin.no-ip.com/html/files/DrupalDBStack.odg&quot;&gt;Here&lt;/a&gt; is the raw file of above images, please feel free to utilize it if you hope to visualize your idea as above :-)&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/postgresql&quot;&gt;Postgresql&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/8907#comments</comments>
 <group domain="http://groups.drupal.org/database">Database</group>
 <group domain="http://groups.drupal.org/enterprise">Enterprise</group>
 <group domain="http://groups.drupal.org/postgresql">Postgresql</group>
 <pubDate>Fri, 15 Feb 2008 06:40:02 +0000</pubDate>
 <dc:creator>hswong3i</dc:creator>
 <guid isPermaLink="false">8907 at http://groups.drupal.org</guid>
</item>
<item>
 <title>DB support as contribute: is it a good idea?</title>
 <link>http://groups.drupal.org/node/8855</link>
 <description>&lt;h2 id=&quot;abstract&quot;&gt;Abstract&lt;/h2&gt;
&lt;p&gt;Drupal 6.0 is revamped with &lt;a href=&quot;http://api.drupal.org/api/group/schemaapi/6&quot;&gt;Schema API&lt;/a&gt;, so what&#039;s next for Drupal 7.x? &lt;a href=&quot;http://php.net/pdo&quot;&gt;PDO&lt;/a&gt; for sure! With this powerful &lt;b&gt;data-access&lt;/b&gt; abstraction layer, workload will much reduced for DB abstraction layer designers and developers, and finally benefit our contribute developers and end users.&lt;/p&gt;
&lt;p&gt;By the way, together with the decision of Drupal 7.x + PDO, there is also some voice about &lt;b&gt;moving PostgreSQL&lt;/b&gt; (and so other potential databases support, e.g. Oracle, DB2, MSSQL, etc) &lt;b&gt;support away from core, but contribute&lt;/b&gt;; on the other hand, &lt;b&gt;add official SQLite support&lt;/b&gt; into Drupal core, together with MySQL.&lt;/p&gt;
&lt;p&gt;Is this really a good idea? Or even if it is possible? As an existing Drupal + PostgreSQL users, what will this affect your daily work? As a potential customer of Drupal + Oracle/DB2/MSSQL/etc, is this a good new for you, or just an evil? I would like to provide some brief idea for you within this article.
&lt;/p&gt;
&lt;h2 id=&quot;background&quot;&gt;Background&lt;/h2&gt;
&lt;p&gt;After &lt;a href=&quot;http://cvs.drupal.org/viewvc.py/drupal/drupal/database/database.pgsql?hideattic=0&amp;amp;view=log&quot;&gt;more than 6 years of PostgreSQL supporting in Drupal core&lt;/a&gt;, PostgreSQL users are going to have a revamped experience with Drupal 6.0. Drupal 6.0 will ship with &lt;a href=&quot;http://api.drupal.org/api/group/schemaapi/6&quot;&gt;Schema API&lt;/a&gt;, which simplify most of the variation between databases handling - &lt;a href=&quot;http://en.wikipedia.org/wiki/Data_Definition_Language&quot;&gt;DDL&lt;/a&gt;. This useful improvement will not only benefit our existing core and contribute developers, but also simplify most workload for other database driver development, besides MySQL and PostgreSQL. With Drupal 6.0, we can simply foresee the expand of existing market sharing, together with the explore of hidden customers.&lt;/p&gt;
&lt;p&gt;As Drupal 6.0 is ready to launch, it is also a good timing to plan for Drupal 7.x. As we will only support PHP 5.2.x or above in Drupal 7.x, it is for sure that we will revamp our existing DB abstraction layer with the help of &lt;a href=&quot;http://php.net/pdo&quot;&gt;PDO&lt;/a&gt;. It does simplify and standardize a lot of function call implementation, together with some useful new features. If you are a DB abstraction layer designer and developer, moving your work to PDO will save you a lot of time.&lt;/p&gt;
&lt;p&gt;On the other hand, some people also think it is a good timing for adding &lt;a href=&quot;http://drupal.org/node/39260&quot;&gt;Oracle&lt;/a&gt;, &lt;a href=&quot;http://drupal.org/node/67349&quot;&gt;SQLite&lt;/a&gt;, &lt;a href=&quot;http://drupal.org/node/165788&quot;&gt;DB2&lt;/a&gt; and &lt;a href=&quot;http://drupal.org/node/74308&quot;&gt;MSSQL&lt;/a&gt; support into Drupal core. Most of this request are halted for 2~3 years.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://groups.drupal.org/data-architecture-design-sprint&quot;&gt;Some of the developers&lt;/a&gt; are hard working with the future plan for how Drupal 7.x DB handling should looks like. BTW, the idea is most likely for expand Drupal usability and functionality, but not about maintain nor expand different databases supporting: some developers even think &lt;a href=&quot;http://lists.drupal.org/pipermail/development/2008-January/028343.html&quot;&gt;we should&lt;/a&gt; only official support MySQL and SQLite with Drupal 7.x + PDO, but move away PostgreSQL (nor other potential databases) supporting as contribute level.&lt;/p&gt;
&lt;h2 id=&quot;pdo_does_doesnt&quot;&gt;What PDO Does and Doesn&#039;t?&lt;/h2&gt;
&lt;p&gt;For finding out why this brain storming happen, we need to have some idea about what PDO does and doesn&#039;t:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;PDO is a data-access abstraction layer, but not provide a database abstraction.&lt;/b&gt; E.g., this means we can simply forget the function API differences between &lt;a href=&quot;http://php.net/mysql-connect&quot;&gt;mysql_connect()&lt;/a&gt;, &lt;a href=&quot;http://php.net/mysqli-connect&quot;&gt;mysqli_connect()&lt;/a&gt; and also &lt;a href=&quot;http://php.net/pg_connect&quot;&gt;pg_connect()&lt;/a&gt;: we just need to &lt;a href=&quot;http://www.php.net/manual/en/function.PDO-construct.php&quot;&gt;construct a new-standardized PDO object&lt;/a&gt; with different DSN (Data Source Name). Moreover, we can forget those complicated programming logic differences between &lt;a href=&quot;http://www.php.net/manual/en/function.pg-escape-bytea.php&quot;&gt;pg_escape_bytea()&lt;/a&gt;, &lt;a href=&quot;http://www.php.net/manual/en/function.oci-lob-load.php&quot;&gt;OCI-Lob-&amp;gt;load()&lt;/a&gt; and &lt;a href=&quot;http://www.php.net/db2_lob_read&quot;&gt;db2_lob_read()&lt;/a&gt;, but simply using standard &lt;a href=&quot;http://www.php.net/manual/en/ref.stream.php&quot;&gt;Stream API&lt;/a&gt; as &lt;a href=&quot;http://php.net/pdo#pdo.lobs&quot;&gt;PDO LOB (Large OBject) handling&lt;/a&gt;.
&lt;p&gt;BTW, these are most likely abstracted by Drupal 6.x DB API, e.g. &lt;a href=&quot;http://api.drupal.org/api/function/db_connect/6&quot;&gt;db_connect()&lt;/a&gt;, &lt;a href=&quot;http://api.drupal.org/api/function/db_query/6&quot;&gt;db_query()&lt;/a&gt;, &lt;a href=&quot;http://api.drupal.org/api/function/db_decode_blob/6&quot;&gt;db_decode_blob()&lt;/a&gt;, etc.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;PDO provide &lt;a href=&quot;http://php.net/pdo#pdo.prepared-statements&quot;&gt;prepared statements and variable binding&lt;/a&gt;, even it is not supported by database, e.g. MySQL.&lt;/b&gt; With PDO variable binding, we may use &lt;code&gt;?&lt;/code&gt; or named-variable (leading with &lt;code&gt;:&lt;/code&gt;, e.g. &lt;code&gt;:value&lt;/code&gt;) within prepare statement. This seems to be a good idea for replace our existing user-space printf-syntax (e.g. %d, %f, %s, %b and %%) as PDO&#039;s C/C++ implementation, and simply forget the relationship between data, data type and database column type. This also give a great hope to &lt;a href=&quot;http://groups.drupal.org/node/8001&quot;&gt;Drupal 7.x Data API&lt;/a&gt; research and development.
&lt;p&gt;So isn&#039;t it perfect? No, it is not... First of all, &lt;b&gt;most databases require special LOB handle during variable binding&lt;/b&gt; (specific PDO::PARAM_LOB manually), e.g. &lt;a href=&quot;http://edin.no-ip.com/viewvc/siren/includes/database.pdo_pgsql.inc?view=markup&quot;&gt;PostgreSQL&lt;/a&gt;, &lt;a href=&quot;http://edin.no-ip.com/viewvc/siren/includes/database.pdo_oci.inc?view=markup&quot;&gt;Oracle&lt;/a&gt;, &lt;a href=&quot;http://edin.no-ip.com/viewvc/siren/includes/database.pdo_ibm.inc?view=markup&quot;&gt;DB2&lt;/a&gt;, etc. Only MySQL and SQLite are able to handle variable binding without type specified. Also, &lt;b&gt;there is no spotlight performance different, even we swap queries variable binding from user-space printf-syntax to PDO&lt;/b&gt;, which is proved by &lt;a href=&quot;http://edin.no-ip.com/project/siren/siren-1.0-rc4#benchmarking_result&quot;&gt;benchmarking result&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;PDO isn&#039;t a database abstraction layer, it doesn&#039;t abstract and standardize ANY database variation.&lt;/b&gt; E.g., PDO doesn&#039;t solve the problem of reserved words conflict&lt;/a&gt;, it don&#039;t &lt;a href=&quot;http://drupal.org/node/167335&quot;&gt;abstract any SQL function name variation&lt;/a&gt;, it also have not duty with &lt;a href=&quot;http://drupal.org/node/147947&quot;&gt;resolve the maximum string size limitation across most databases&lt;/a&gt;.
&lt;p&gt;Let&#039;s take Oracle LOB handling as an example: PDO give none of help to &lt;a href=&quot;http://php.net/pdo#pdo.lobs&quot;&gt;Oracle LOB INSERT/UPDATE handling&lt;/a&gt;, we still need to use RETURNING + Schema API. According to &lt;a href=&quot;http://edin.no-ip.com/project/siren&quot;&gt;my research progress&lt;/a&gt; and case of Oracle, using standardized function call is the only benefit of using PDO, but didn&#039;t help or simplify any programming logic or implementation.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;IMHO, PDO is very useful for DB abstraction layer designer and developer: it do simplify most of the DB function call variation; BTW, when we are talking about &quot;PDO can improve database abstraction and so software with PDO can support more databases&quot;, it is not really truth. PDO don&#039;t have duty with this ;-(&lt;/p&gt;
&lt;h2 id=&quot;contribute_support&quot;&gt;How about Drupal + PostgreSQL (or other databases) support as contribute?&lt;/h2&gt;
&lt;p&gt;It is for sure that MySQL own around 90-95% of our existing market sharing; it is not question that SQLite is a &lt;a href=&quot;http://www.cliki.net/manifest%20type%20system&quot;&gt;manifest typing&lt;/a&gt; database engine; based on the above PDO stuff information, MySQL and SQLite are both very suitable with PDO lossy-form variable binding technology (able to use &lt;code&gt;?&lt;/code&gt; and named-variable binding without type specified). But when we are talking about &lt;b&gt;&quot;How many percentage of PDO technologies are utilized by MySQL and SQLite?&quot;&lt;/b&gt; and &lt;b&gt;&quot;How many percentage of technologies that PDO NOT covered are used by MySQL and SQLite?&quot;&lt;/b&gt;, I guess the answer may just below &lt;b&gt;70%&lt;/b&gt;...&lt;/p&gt;
&lt;p&gt;So what will happen if we seem MySQL and SQLite as our first priority core supported database, and ONLY focus with them? &lt;b&gt;For sure that we will miss out the rest of 30%, which means the basic elements needed by other databases, within Drupal database abstraction layer.&lt;/b&gt; This also means asking other database drivers implement as contribute is just a nonsense, if we only support a subset of requirement within core.&lt;/p&gt;
&lt;p&gt;On the other hand, writing MySQL-specific queries also generate a lot of incompatible issues for PostgreSQL during Drupal 6.x development life cycle. People also claim that &lt;a href=&quot;http://lists.drupal.org/pipermail/development/2008-January/028295.html&quot;&gt;PostgreSQL issues slow down our Drupal 6.x release&lt;/a&gt;. BTW, there is still a lot of incompatible issues even PostgreSQL is now seems as our &quot;Official Supported Database&quot; in Drupal 6.x, we can simply foresee about the case if we just seems it as contribute supported. It is better say that: &lt;b&gt;we are NOT going to support PostgreSQL anymore!&lt;/b&gt; And so the similar case for other databases driver development: &lt;b&gt;we will have NO WAY to implement other database drivers as contribute support!&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;PDO + PostgreSQL + LOB handling should be a good example of this assumption. In case of pdo_pgsql, we need to specify PDO::PARAM_LOB manually during INSERT/UPDATE variable binding, and &lt;a href=&quot;http://bugs.php.net/bug.php?id=37124&quot;&gt;must use Stream API for BLOB decode&lt;/a&gt;. Both of these handling are NOT required by MySQL and SQLite. If our Drupal 7.x Data API design are target for MySQL and SQLite ONLY, it is for sure that NO WAY for PostgreSQL driver implement as contribute: we will have no hook for it!&lt;/p&gt;
&lt;p&gt;As a simple conclusion, &lt;b&gt;multiple database support MUST build inside core, with a complete research of what are they needed for.&lt;/b&gt; There is no shortcut, and no gray area. The support of database is just simply a TRUE/FALSE question. Please don&#039;t be faked by the beautiful wording of &quot;Contribute Supported Database&quot;: it is just a sweet poison candy, that is not the truth case, and I have NEVER seen a successful story about this :-p&lt;/p&gt;
&lt;h2 id=&quot;should_do&quot;&gt;Oh my god! So what should I do for it?&lt;/h2&gt;
&lt;p&gt;&lt;b&gt;If you are an existing Drupal + PostgreSQL user&lt;/b&gt;, it is strongly suggest to keep you eye focus on the &lt;a href=&quot;http://groups.drupal.org/data-architecture-design-sprint&quot;&gt;Data Architecture Design Sprint group&lt;/a&gt;, comment your needs and wish to them, or else you may be fired away without notice. You may also have a look about &lt;a href=&quot;http://drupal.org/project/issues?text=postgresql&amp;amp;states=1,16,8,13,14,15,2,4&amp;amp;projects=&amp;amp;priorities=&amp;amp;categories=&amp;amp;users=&quot;&gt;issues related to PostgreSQL&lt;/a&gt;, give a hand to it if possible, and &lt;a href=&quot;http://groups.drupal.org/node/6980&quot;&gt;comment them as a Wiki collection&lt;/a&gt;. IMHO, it is a critical timing for Drupal + PostgreSQL besides the past 6 years support period. It is time for &lt;b&gt;YOU&lt;/b&gt; to take &lt;b&gt;YOUR&lt;/b&gt; action, or else will be too late.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;If you are a potential customer or user of Drupal + Oracle/SQLite/DB2/MSSQL/etc&lt;/b&gt;, beside the above suggestion for PostgreSQL, I would also like to invite you to give a hand on some &lt;a href=&quot;http://drupal.org/project/issues?projects=3060&amp;amp;text=Siren&amp;amp;states=1,16,8,13,14,15,2,4&amp;amp;priorities=&amp;amp;categories=&amp;amp;users=&quot;&gt;existing issues&lt;/a&gt;, review and comment them, and finally record your work in another &lt;a href=&quot;http://groups.drupal.org/node/8663&quot;&gt;Wiki tasklist&lt;/a&gt;. According to &lt;a href=&quot;http://edin.no-ip.com/project/siren&quot;&gt;some research founding&lt;/a&gt;, we would able to enrich our database supporting without a critical pain of revamp, based on our existing Drupal 6.x DB API implementation. Most research are now completed, so issues review and comment your point of view should be your highest priority. Please remember that: &lt;b&gt;comment is power&lt;/b&gt;, and &lt;b&gt;YOUR&lt;/b&gt; review is very important for speeding up the core support of your target databases.&lt;/p&gt;
&lt;h2 id=&quot;conclusion&quot;&gt;My humble conclusion&lt;/h2&gt;
&lt;p&gt;Every developers have their own background, their own wish, their own needs, and also their own rose garden. I would not like to comment this &lt;b&gt;&quot;PostgreSQL as Contribute&quot;&lt;/b&gt; idea as silly; but at least, it is not my cup of tea.&lt;/p&gt;
&lt;p&gt;On the other hand, supporting more database won&#039;t be a conflict with the research and develop of Drupal&#039;s Schema API or Data API: they are target for a better developer and user experience, serving database abstraction should be one of their core duties. Asking for better abstraction and functionality but reduce the number of supported database, or even close the door for other database should be count as loss focus.&lt;/p&gt;
&lt;p&gt;From my point of view, more choice is always better than just giving me a single solution. The use and choose of database should depend on the needed of each individual case of clients and users, but not forced by developers. If we are already close to our target, there is no point for rollback our 6-years progress on tomorrow.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;A beautiful-sweet-poisoned candy? No thanks!&lt;/b&gt;&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/postgresql&quot;&gt;Postgresql&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/8855#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/2777">db2</category>
 <category domain="http://groups.drupal.org/taxonomy/term/844">mssql</category>
 <category domain="http://groups.drupal.org/taxonomy/term/748">oracle</category>
 <category domain="http://groups.drupal.org/taxonomy/term/4089">PDO</category>
 <category domain="http://groups.drupal.org/taxonomy/term/758">PostgreSQL</category>
 <category domain="http://groups.drupal.org/taxonomy/term/4090">SQLite</category>
 <group domain="http://groups.drupal.org/database">Database</group>
 <group domain="http://groups.drupal.org/enterprise">Enterprise</group>
 <group domain="http://groups.drupal.org/postgresql">Postgresql</group>
 <pubDate>Wed, 13 Feb 2008 08:45:44 +0000</pubDate>
 <dc:creator>hswong3i</dc:creator>
 <guid isPermaLink="false">8855 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Issues Need Review for Enhance Cross Database Compatibility</title>
 <link>http://groups.drupal.org/node/8663</link>
 <description>&lt;p&gt;Enhance cross database compatibility is important for our Drupal Core, especially when we are going to ship D7 with PHP5.2.x PDO implementation. BTW, this will require number of individual patches, so your help and review are required - add it to the top list with a brief description and an estimate of the time to review. Once reviewed, move the issues to the bottom &quot;reviewed&quot; list, perhaps with your name attached.
&lt;/p&gt;
&lt;h3&gt;Need Review&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://drupal.org/node/371&quot; title=&quot;http://drupal.org/node/371&quot;&gt;http://drupal.org/node/371&lt;/a&gt; - Resolve ANSI SQL-92/99/2003 reserved words conflict. (just a few minute, but need a lot of follow up)&lt;/li&gt;
&lt;li&gt;&lt;del&gt;http://drupal.org/node/199217 - Split Schema API and shared functions from DB drivers. (just a few minute)&lt;/del&gt; (Already come with TNG DB)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://drupal.org/node/167335&quot; title=&quot;http://drupal.org/node/167335&quot;&gt;http://drupal.org/node/167335&lt;/a&gt; - Handle database-specific SQL functions/operators by simple abstraction. (just a few minute)&lt;/li&gt;
&lt;li&gt;&lt;del&gt;http://drupal.org/node/199101 - Core queries coding style cleanup for PDO development (should be RTBC, but need a lot of follow up)&lt;/del&gt; (Already come with TNG DB)&lt;/li&gt;
&lt;li&gt;&lt;del&gt;http://drupal.org/node/218128 - Enhance _db_query_callback() for PDO.&lt;/del&gt;&lt;/li&gt;
&lt;li&gt;&lt;del&gt;http://drupal.org/node/183148 - INSERT/UPDATE/DELETE API, drupal_drop_record() and enhance drupal_write_record().&lt;/del&gt; (Already come with TNG DB)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://drupal.org/node/147947&quot; title=&quot;http://drupal.org/node/147947&quot;&gt;http://drupal.org/node/147947&lt;/a&gt; - Replace some TEXT:BIG with BLOB, based on cross database compatibility concern.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Reviewed&lt;/h3&gt;
&lt;h3&gt;Committed without Thorough Review&lt;/h3&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/postgresql&quot;&gt;Postgresql&lt;/a&gt;&lt;/div&gt;</description>
 <group domain="http://groups.drupal.org/database">Database</group>
 <group domain="http://groups.drupal.org/enterprise">Enterprise</group>
 <group domain="http://groups.drupal.org/postgresql">Postgresql</group>
 <pubDate>Tue, 05 Feb 2008 08:48:16 +0000</pubDate>
 <dc:creator>hswong3i</dc:creator>
 <guid isPermaLink="false">8663 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Are performance optimisations still going into D6?</title>
 <link>http://groups.drupal.org/node/8492</link>
 <description>&lt;p&gt;I&#039;m assuming it&#039;s too late, but if not here&#039;s an easy performance win for D6:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://drupal.org/node/215080&quot; title=&quot;http://drupal.org/node/215080&quot;&gt;http://drupal.org/node/215080&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;The type column of the {system} table is currently a varchar(255) field. Yet in 99% of all Drupal installations it stores either the text &#039;module&#039; or the text &#039;theme&#039; and nothing else. This is already a strong case for making it an int column and defining constants for module and theme. Then, on every page, there is this query:&lt;br /&gt;
SELECT filename FROM system WHERE name = &#039;user&#039; AND type = &#039;module&#039;;&lt;/p&gt;
&lt;p&gt;This query always takes over 1 ms to run making it not a criminally slow query, but relatively slow, nonetheless. This is because the list of indexes available doesn&#039;t help the query much&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;By shortening the {system}.type column to 32 chars and adding an index we reduce the query by around 60%... and this query runs on every page load.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/postgresql&quot;&gt;Postgresql&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/8492#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/3558">D6</category>
 <category domain="http://groups.drupal.org/taxonomy/term/3714">high performance</category>
 <category domain="http://groups.drupal.org/taxonomy/term/1046">optimization</category>
 <group domain="http://groups.drupal.org/benchmarking-drupal">Benchmarking Drupal</group>
 <group domain="http://groups.drupal.org/database">Database</group>
 <group domain="http://groups.drupal.org/high-performance">High performance</group>
 <group domain="http://groups.drupal.org/mysql">MySQL</group>
 <group domain="http://groups.drupal.org/postgresql">Postgresql</group>
 <pubDate>Mon, 28 Jan 2008 15:07:59 +0000</pubDate>
 <dc:creator>robertDouglass</dc:creator>
 <guid isPermaLink="false">8492 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Core / Contrib Issues That Require a Postgres Review</title>
 <link>http://groups.drupal.org/node/6980</link>
 <description>&lt;p&gt;If you know of an issue that is being postponed while waiting for a Postgres review or that adds PostgreSQL compliance to a module and therefore needs testing on PostgreSQL - add it to the top list with a brief description and an estimate of the time to review.  Once reviewed, move the issues to the bottom &quot;reviewed&quot; list, perhaps with your name attached.&lt;/p&gt;
&lt;h3&gt;Need Reviews&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://drupal.org/node/225450&quot; title=&quot;http://drupal.org/node/225450&quot;&gt;http://drupal.org/node/225450&lt;/a&gt; - New database layer&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://drupal.org/node/285074&quot; title=&quot;http://drupal.org/node/285074&quot;&gt;http://drupal.org/node/285074&lt;/a&gt; - Simpletest broken on postgres&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://drupal.org/node/107051&quot; title=&quot;http://drupal.org/node/107051&quot;&gt;http://drupal.org/node/107051&lt;/a&gt; - Same user listed multiple times in who&#039;s online block&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://drupal.org/node/223820&quot; title=&quot;http://drupal.org/node/223820&quot;&gt;http://drupal.org/node/223820&lt;/a&gt; - Book module tests for postgres error&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://drupal.org/node/181689&quot; title=&quot;http://drupal.org/node/181689&quot;&gt;http://drupal.org/node/181689&lt;/a&gt; - Modify db_distinct_field() so it doesn&#039;t fail with count() queries. 15 minutes.  needs a review on the regex and perhaps an install to verify the fix. install OG, enable access control for OG, then go to path: /q=og. should be error-free with the patch. (mmilano)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://drupal.org/node/189810&quot; title=&quot;http://drupal.org/node/189810&quot;&gt;http://drupal.org/node/189810&lt;/a&gt; - Recipe Modules fails to insert ingredients.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://drupal.org/node/212264&quot; title=&quot;http://drupal.org/node/212264&quot;&gt;http://drupal.org/node/212264&lt;/a&gt; - SQL Query failed on PostgreSQL 7.4 (syntax errors on admin pages with a fresh install).&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://drupal.org/node/128846&quot; title=&quot;http://drupal.org/node/128846&quot;&gt;http://drupal.org/node/128846&lt;/a&gt; - Rewritten PostgreSQL queries fail / Nodes are sorted in the wrong order on pgsql when using a node access module.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://drupal.org/node/229038&quot; title=&quot;http://drupal.org/node/229038&quot;&gt;http://drupal.org/node/229038&lt;/a&gt; - &quot;Query failed&quot; error in Chart API.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://drupal.org/node/222389&quot; title=&quot;http://drupal.org/node/222389&quot;&gt;http://drupal.org/node/222389&lt;/a&gt; - Add PostgreSQL support to &quot;Job queue&quot; module.&lt;/li&gt;
&lt;li&gt;[Comment notify query for people to send mails to missing column aliases and uses = &#039;&#039; instead of is null in where] (&lt;a href=&quot;http://drupal.org/node/308585&quot; title=&quot;http://drupal.org/node/308585&quot;&gt;http://drupal.org/node/308585&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add your issue here&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Reviewed&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://drupal.org/node/208938&quot;&gt;Critical Core Comment Index&lt;/a&gt; - To test: install drupal5 with comment module, upgrade to Drupal6.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://drupal.org/node/247526&quot; title=&quot;http://drupal.org/node/247526&quot;&gt;http://drupal.org/node/247526&lt;/a&gt; - PostgreSQL support in FeedAPI update functions.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://drupal.org/node/212327&quot;&gt;Improve bulk update speed using a cast&lt;/a&gt; - Especially needs postgres testers - reviewed by aufumy.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Committed without thorough review&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://drupal.org/node/242048&quot; title=&quot;http://drupal.org/node/242048&quot;&gt;http://drupal.org/node/242048&lt;/a&gt; - Replace &#039;Blue Smurf&#039; in search results message - and it apparently fails on postgresql: &lt;a href=&quot;http://drupal.org/node/264836&quot; title=&quot;http://drupal.org/node/264836&quot;&gt;http://drupal.org/node/264836&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://drupal.org/node/190128&quot; title=&quot;http://drupal.org/node/190128&quot;&gt;http://drupal.org/node/190128&lt;/a&gt; - _block_rehash fails on pgsql.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://drupal.org/node/146466&quot; title=&quot;http://drupal.org/node/146466&quot;&gt;http://drupal.org/node/146466&lt;/a&gt; - Search improvements.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://drupal.org/node/189837&quot; title=&quot;http://drupal.org/node/189837&quot;&gt;http://drupal.org/node/189837&lt;/a&gt; - Remove temporary table from comment.install | Drupal6 Core | 5 minutes (setup new installation of Core, make sure it doesn&#039;t blow up.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://drupal.org/node/195044&quot;&gt;Pathauto new install fails on Postgresql&lt;/a&gt; - Code needs review.  Just have a clean drupal5 installation on postgres, install Pathauto for the first time (after patching pathauto).  Make sure the variable table&#039;s column width gets resized.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://drupal.org/node/232564&quot; title=&quot;http://drupal.org/node/232564&quot;&gt;http://drupal.org/node/232564&lt;/a&gt; - Comment notify refactored data storage and postgresql compliance&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/reviewers&quot;&gt;Reviewers&lt;/a&gt;&lt;/div&gt;</description>
 <group domain="http://groups.drupal.org/postgresql">Postgresql</group>
 <group domain="http://groups.drupal.org/reviewers">Reviewers</group>
 <pubDate>Wed, 07 Nov 2007 13:08:02 +0000</pubDate>
 <dc:creator>greggles</dc:creator>
 <guid isPermaLink="false">6980 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Developer | Catalyst IT</title>
 <link>http://groups.drupal.org/node/5493</link>
 <description>&lt;p&gt;Want to live and work in New Zealand?&lt;/p&gt;
&lt;p&gt;We are expanding our drupal work, and are looking for more developers who love drupal.&lt;/p&gt;
&lt;p&gt;Other Opportunities within catalyst to learn and work with other opensource technologies as well as drupal including php, perl, java, ruby, erlang, more...&lt;/p&gt;
&lt;p&gt;send your CV to &lt;a href=&quot;mailto:brenda@catalyst.net.nz&quot;&gt;brenda@catalyst.net.nz&lt;/a&gt;. Please include links to modules you&#039;ve contributed or patches/testing/benchmarking you&#039;ve done on drupal.org, or another open source project.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://catalyst.net.nz&quot;&gt;http://catalyst.net.nz&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://catalyst.net.nz&quot;&gt;&lt;img src=&quot;http://www.catalyst.net.nz/sites/all/themes/Catalyst/images/logo.gif&quot; alt=&quot;Catalyst logo&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
Here, have some blurb:&lt;/p&gt;
&lt;p&gt;Catalyst is a fully New Zealand owned company, directed and staffed by bright and intelligent Information Technology experts who deliver critical open source business systems to some of NZ&#039;s largest organisations.&lt;/p&gt;
&lt;p&gt;For nearly five years Catalyst has been working with Telecom New Zealand to deliver a truly impressive range of mobile services for the country&#039;s leading telecommunications provider. The key to the relationship is not so much the technology, it&#039;s Catalyst&#039;s no-fuss ability to deliver.&lt;/p&gt;
&lt;p&gt;Catalyst is spearheading the New Zealand Open Source Awards to highlight the broad range of open source activity in New Zealand and by New Zealanders. The Awards coincide with Catalyst&#039;s ten year in business as New Zealand&#039;s leading independent open source solutions provider.&lt;/p&gt;
&lt;p&gt;Catalyst has enabled the Electoral Enrolment Centre to fully embrace open source from desktops to the high-end applications that manage the electoral roll, and secure communications between the Centre and its field officers.&lt;/p&gt;
&lt;p&gt;Catalyst has now had several years involvement with Moodle - an open source Learning Management System, helping educators create effective online learning communities.&lt;/p&gt;
&lt;p&gt;In that time we have become Moodle Developers - a status given to only a few - and we have built up a Moodle hosting infrastructure that offers robustness, performance, scaleability and full redundancy via a remote disaster recovery site.&lt;/p&gt;
&lt;p&gt;In fact we host and support the Open Polytechnic&#039;s Moodle sites, which is one of the largest on-line learning services in the world.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/postgresql&quot;&gt;Postgresql&lt;/a&gt;&lt;/div&gt;</description>
 <category domain="http://groups.drupal.org/taxonomy/term/2762">elections</category>
 <category domain="http://groups.drupal.org/taxonomy/term/1119">newspapers</category>
 <category domain="http://groups.drupal.org/taxonomy/term/1813">opensource</category>
 <category domain="http://groups.drupal.org/taxonomy/term/2763">perl</category>
 <category domain="http://groups.drupal.org/taxonomy/term/334">php</category>
 <category domain="http://groups.drupal.org/taxonomy/term/758">PostgreSQL</category>
 <category domain="http://groups.drupal.org/taxonomy/term/2761">telecommunications</category>
 <group domain="http://groups.drupal.org/high-performance">High performance</group>
 <group domain="http://groups.drupal.org/new-zealand">New Zealand</group>
 <group domain="http://groups.drupal.org/newspapers-on-drupal">Newspapers on Drupal</group>
 <group domain="http://groups.drupal.org/postgresql">Postgresql</group>
 <pubDate>Tue, 07 Aug 2007 22:42:52 +0000</pubDate>
 <dc:creator>Shiny</dc:creator>
 <guid isPermaLink="false">5493 at http://groups.drupal.org</guid>
</item>
<item>
 <title>php/drupal programmer | Database Designs Associates</title>
 <link>http://groups.drupal.org/node/4998</link>
 <description>&lt;p&gt;Database Designs Associates is looking for a programmer with PHP/ MySQL background.  Projects will include both general web development projects and Drupal customization. Other potentially useful skills: Access database development, postgreSQL, perl, HTML, XML and related web site developer skills. Ability to communicate well is also valuable.&lt;/p&gt;
&lt;p&gt;We’re looking for  someone to&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;*learn our systems working with senior consultants;
*assist on development tasks related to forms, reporting, data management;
*assist on testing, quality control, installation, and support.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The opening would be part time to start, and could lead to full time.  We are based in Boston, though we would also consider someone based in the Amherst area.&lt;/p&gt;
&lt;p&gt;We are a 15 year nonprofit oriented consulting and software development practice, committed to a collaborative work environment, progressive values, and client-centered practices. Please visit our website for more about us.  If you know someone who might be interested, please respond to &lt;a href=&quot;mailto:jobs@dbdes.com&quot;&gt;jobs@dbdes.com&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/western-massachusetts&quot;&gt;Western Massachusetts&lt;/a&gt;&lt;/div&gt;</description>
 <category domain="http://groups.drupal.org/taxonomy/term/565">jobs</category>
 <group domain="http://groups.drupal.org/boston">Boston</group>
 <group domain="http://groups.drupal.org/postgresql">Postgresql</group>
 <group domain="http://groups.drupal.org/western-massachusetts">Western Massachusetts</group>
 <pubDate>Thu, 05 Jul 2007 18:52:49 +0000</pubDate>
 <dc:creator>jobs</dc:creator>
 <guid isPermaLink="false">4998 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Converting from MySQL to PostgreSQL</title>
 <link>http://groups.drupal.org/node/4680</link>
 <description>&lt;ol&gt;
&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; I suppose you could use a converter on your schema, but I was using MySQL 4.1 and wanted the constraints that came with Postgresql.  I was able to just convert it with no problems.  I started with MySQL 4.1 and moved to PostgreSQL 7.4&lt;/p&gt;
&lt;li&gt; Figure out which modules might not support Postgresql.  I put this part first since it might take you a while to track down upgrades, patches, or fixes you apply yourself.  Find out all the modules that you are using.
&lt;p&gt;&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;# modules=`echo &amp;quot;SELECT name FROM system WHERE status=1 AND type=&amp;#039;module&amp;#039;&amp;quot; | mysql --skip-column-names -u &amp;lt;em&amp;gt;prototype -p prototype`&lt;/code&gt;&lt;/div&gt; &lt;/p&gt;
&lt;p&gt;Find all the install files that contain the word db_type:&lt;/p&gt;
&lt;p&gt;&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;# cd /path/to/modules&lt;br /&gt;# installs=`for module in $modules; do find . -name $module.install -exec grep&amp;nbsp; db_type {} /dev/null \; ; done | awk -F: &amp;#039;{ print $1 }&amp;#039; |sort | uniq`&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Find all the install files that do not contain the word pgsql:&lt;/p&gt;
&lt;p&gt;&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;# for install in $installs; do grep -q &amp;#039;pgsql&amp;#039; $install /dev/null || echo &amp;quot;$install does not contain psql schema code.&amp;quot;; done&lt;br /&gt;./devel/devel.install does not contain psql schema code.&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;With this list you should see if you can find a patch like this one:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://drupal.org/files/issues/devel_18.patch&quot; title=&quot;http://drupal.org/files/issues/devel_18.patch&quot;&gt;http://drupal.org/files/issues/devel_18.patch&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Or perhaps you need to upgrade the version of the module you are using.  Otherwise you have to leave it off the list when we update the fresh database we are about to create.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;Create a fresh database on you development server.  This way we can get a fresh schema for importing into a second database.  This works better than try to import data into an existing fresh installation.
&lt;p&gt;  &lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;$ createdb -U &amp;lt;em&amp;gt;drupal5 -W drupal5fresh -E UNICODE&lt;br /&gt;CREATE DATABASE&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;
&lt;Strong&gt;NOTE:&lt;/strong&gt; You should already have a drupal5 user setup that can add databases&lt;/strong&gt;
  &lt;/li&gt;
&lt;li&gt;Checkout a fresh installation of your drupal  code &lt;strong&gt;-or-&lt;/strong&gt; use your existing development setup&lt;/li&gt;
&lt;li&gt;Update sites/defaults/settings to point to a new database&lt;/li&gt;
&lt;li&gt;Perform a normal installation (e.i. goto &lt;a href=&quot;http://127.0.0.1/install.php&quot; title=&quot;http://127.0.0.1/install.php&quot;&gt;http://127.0.0.1/install.php&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Goto the Admin page and bring up the list of modules.  By hand add all the modules based on the list you produce with the code below.  At this point leave out any modules that don&#039;t support PostgreSQL.
&lt;p&gt;&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;#&amp;nbsp; for module in $modules; do find . -name $module.info -exec grep ^name {} \; ; done | perl -pi -e &amp;#039;s/name = //&amp;#039; | sort&lt;br /&gt;Actions&lt;br /&gt;Aggregator&lt;br /&gt;&amp;quot;Basic event&amp;quot;&lt;br /&gt;Block&lt;br /&gt;Captcha&lt;br /&gt;Content&lt;br /&gt;Devel&lt;br /&gt;Devel Node Access&lt;br /&gt;Drake&lt;br /&gt;Event&lt;br /&gt;. . .&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; If you get database errors or warning, then the code isn&#039;t supporting PostgreSQL very well.  So you need to find a solution to fix it.  I had problems with Panels, Textimage and Webform.  Make sure you submit patches back to the project, or update tickets that note you success or failure.  For example there was a small bug in the panels install I had to change dbtype to db_type.  Then I uninstalled it (with errors), then reinstalled it and it worked.
  &lt;/li&gt;
&lt;li&gt;Now we dump out the schema but now the data.
&lt;p&gt;&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;# pg_dump -h 127.0.0.1 -U&amp;nbsp; drupal5 -W -s drupal5fresh&amp;nbsp; &amp;gt; /var/tmp/drupal5fresh_schema.sql&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;Create a second database to import the schema with no data.
&lt;p&gt;&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;# createdb -O&amp;nbsp; drupal5&amp;nbsp; drupal5pgsql -E UNICODE&lt;br /&gt;CREATE DATABASE&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Import the schema into the second database
&lt;p&gt;&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;# cat /var/tmp/drupal5fresh_schema.sql | psql -h 127.0.0.1 -U drupal5 -W drupal5pgsql&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;Dump you existing MySQL database
&lt;p&gt;&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;# mysqldump -t&amp;nbsp; --skip-opt --compact&amp;nbsp;&amp;nbsp; prototype &amp;gt; prototype_data.sql&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Convert it.  There are two tools, the first one has been worked on recently.  But I had success with the second one, during a complete conversion, it failed when I removed the CREATE TABLE syntax.  I did have delete the devel_queries, devel_times, cache_menu, cache_views rows.  They were just to big or a waste of time.
&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; I had to modify the mysql2pgsql.perl code to remove the E&#039;&#039; notation.  I am not using PostgreSQL 8.1.&lt;/p&gt;
&lt;p&gt;&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;#s/&amp;#039;(.*?)&amp;#039;([,)])/E&amp;#039;$1&amp;#039;$2/g;&lt;br /&gt; # for the E&amp;#039;&amp;#039; see &lt;a href=&quot;http://www.postgresql.org/docs/8.2/interactive/release-8-1&quot; title=&quot;http://www.postgresql.org/docs/8.2/interactive/release-8-1&quot;&gt;http://www.postgresql.org/docs/8.2/interactive/release-8-1&lt;/a&gt;&lt;br /&gt;.html&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;# ./mysql2pgsql.perl --debug prototype_data.sql drupal5pgsql_data.sql&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://gborg.postgresql.org/project/mysql2psql/projdisplay.php&quot; title=&quot;http://gborg.postgresql.org/project/mysql2psql/projdisplay.php&quot;&gt;http://gborg.postgresql.org/project/mysql2psql/projdisplay.php&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.omnistarinc.com/~fonin/projects/my2pg/my2pg.pl&quot; title=&quot;http://www.omnistarinc.com/~fonin/projects/my2pg/my2pg.pl&quot;&gt;http://www.omnistarinc.com/~fonin/projects/my2pg/my2pg.pl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Import the data, with a little luck you will have a full functional conversion.
&lt;p&gt;&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;#&amp;nbsp; cat /var/tmp/drupal5pgsql_data.sql | psql -h 127.0.0.1 -U drupal5 -W drupal5pgsql&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; If you are working with a lot of data, I would run script first.  This way you can go back over the output for any errors.  I had a couple of CCK tables that didn&#039;t get moved over.  I am just going to do those by hand.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;Take care of the sequences
&lt;p&gt;&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;# echo &amp;quot;SELECT * FROM sequences&amp;quot; | mysql --skip-column-names prototype | awk &amp;#039;{ print &amp;quot;SELECT pg_catalog.setval(\x27&amp;quot;$1&amp;quot;_seq\x27,&amp;quot;$2&amp;quot;,false);&amp;quot; }&amp;#039; | psql -h 127.0.0.1 -U drupal5 -W drupal5pgsql&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; There are any missing sequences there is a problem with the module.  It isn&#039;t correctly creating the sequence during installation.&lt;/p&gt;
&lt;/ol&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/postgresql&quot;&gt;Postgresql&lt;/a&gt;&lt;/div&gt;</description>
 <group domain="http://groups.drupal.org/postgresql">Postgresql</group>
 <pubDate>Wed, 20 Jun 2007 20:21:29 +0000</pubDate>
 <dc:creator>pearcec@drupal.org</dc:creator>
 <guid isPermaLink="false">4680 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Changes needed for classified ads</title>
 <link>http://groups.drupal.org/node/3773</link>
 <description>&lt;p&gt;Can anyone suggest what  code is needed to enable classiified ads &lt;a href=&quot;http://drupal.org/project/ed_classified&quot; title=&quot;http://drupal.org/project/ed_classified&quot;&gt;http://drupal.org/project/ed_classified&lt;/a&gt; to work on pgsql?&lt;/p&gt;
&lt;p&gt;Here is part of the install program which needs updating&lt;/p&gt;
&lt;p&gt;&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;nbsp; switch ($GLOBALS[&amp;#039;db_type&amp;#039;]) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; case &amp;#039;mysql&amp;#039;:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; case &amp;#039;mysqli&amp;#039;:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drupal_set_message(t(&amp;#039;Creating classified ads table&amp;#039;));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // the {tablename} syntax is so multisite installs can add a&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // prefix to the table name as set in the settings.php file&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $success = db_query(&amp;quot;CREATE TABLE&amp;nbsp; {edi_classified_nodes} (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nid int(10) unsigned NOT NULL auto_increment,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vid int(10) unsigned NOT NULL default &amp;#039;0&amp;#039;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; expires_on int(10) unsigned NOT NULL default &amp;#039;0&amp;#039; COMMENT &amp;#039;Unix timestamp of expiration&amp;#039;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; expiration_notify_last_sent int(10) unsigned NOT NULL default &amp;#039;0&amp;#039;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PRIMARY KEY&amp;nbsp; (nid,vid));&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; case &amp;#039;pgsql&amp;#039;:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; watchdog(&amp;#039;classified&amp;#039;, &amp;#039;install does not support postgres (pgsql)&amp;#039;, WATCHDOG_ERROR);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drupal_set_message(t(&amp;#039;This module does not support postgres at this time.&amp;#039;,&amp;#039;error&amp;#039;));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $success = FALSE;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&gt;&amp;nbsp; }&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;It doesn&#039;t look like a lot of code to add - but that&#039;s only a guess - I can&#039;t code pgsql.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/postgresql&quot;&gt;Postgresql&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/3773#comments</comments>
 <group domain="http://groups.drupal.org/postgresql">Postgresql</group>
 <pubDate>Sun, 22 Apr 2007 12:23:54 +0000</pubDate>
 <dc:creator>jpolt</dc:creator>
 <guid isPermaLink="false">3773 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Trust authentication</title>
 <link>http://groups.drupal.org/node/3771</link>
 <description>&lt;p&gt;Hi folks&lt;/p&gt;
&lt;p&gt;i use trust mode for authentication within my DMZ. Drupal &quot;outta da box&quot; doesn&#039;t support this, and so i&#039;ve got a patch for it here:&lt;br /&gt;
&lt;a href=&quot;http://drupal.org/node/125105&quot; title=&quot;http://drupal.org/node/125105&quot;&gt;http://drupal.org/node/125105&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Can postgresql folks stop by for a comment?&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/postgresql&quot;&gt;Postgresql&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/3771#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/758">PostgreSQL</category>
 <group domain="http://groups.drupal.org/postgresql">Postgresql</group>
 <pubDate>Sun, 22 Apr 2007 05:05:10 +0000</pubDate>
 <dc:creator>Shiny</dc:creator>
 <guid isPermaLink="false">3771 at http://groups.drupal.org</guid>
</item>
<item>
 <title>PostGIS in Drupal</title>
 <link>http://groups.drupal.org/node/3231</link>
 <description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I&#039;ve may have some time available in the next few months to devote to upgrading Drupal&#039;s GIS abilities. One area where I&#039;d like to concentrate is exposing &lt;a href=&quot;http://postgis.refractions.net/&quot;&gt;PostGIS&lt;/a&gt; data and functionality. In a nutshell, PostGIS allows storing arbitrary geometries (points, lines, polygons, multipolygons and combinations of those types) in database columns.&lt;/p&gt;
&lt;p&gt;I&#039;m in the process of writing a quick project proposal, and I wanted to see if anyone knew of existing work to pair Drupal with PostGIS. I would probably start by writing a CCK module to act as the Drupal &amp;lt;-&amp;gt; PostGIS bridge. Hopefully, since PostGIS is OGC based, I could keep it generic enough to later support MySQL spatial extensions or other OGC compliant database stores.&lt;/p&gt;
&lt;p&gt;In addition to the db layer stuff, I&#039;d like to work on views integration (for more powerful spatial queries) and a UI for entering data that is better than just plopping in WKT. Suggestions or prior work on this front would be most appreciated.&lt;/p&gt;
&lt;p&gt;Please feel free to request features or specific behaviors. We&#039;ll see what I have time to complete.&lt;/p&gt;
&lt;p&gt;Cheers,&lt;br /&gt;
-Mark&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/content-construction-kit-cck&quot;&gt;Content Construction Kit (CCK)&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/3231#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/1759">postgis</category>
 <category domain="http://groups.drupal.org/taxonomy/term/758">PostgreSQL</category>
 <group domain="http://groups.drupal.org/views-developers">Views Developers</group>
 <group domain="http://groups.drupal.org/postgresql">Postgresql</group>
 <group domain="http://groups.drupal.org/mapping">Location and Mapping</group>
 <group domain="http://groups.drupal.org/content-construction-kit-cck">Content Construction Kit (CCK)</group>
 <pubDate>Sun, 18 Mar 2007 19:44:30 +0000</pubDate>
 <dc:creator>mfredrickson</dc:creator>
 <guid isPermaLink="false">3231 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Chx nested set implementation, now as wiki</title>
 <link>http://groups.drupal.org/node/3008</link>
 <description>&lt;p&gt;Sorry for spamming the postgresql group -- but this is database related, so let the elephants lead the charge!&lt;/p&gt;
&lt;p&gt;Attached Files:&lt;/p&gt;
&lt;p&gt;nested-set-1 =&amp;gt; is a represenation of traditional nested set (operating on DAG) vs. chx implementation&lt;br /&gt;
chx2 =&amp;gt; mfredrickson&#039;s visualization of what chx was describing.&lt;br /&gt;
chx2_updated =&amp;gt; now with labels&lt;br /&gt;
chx_edge_case =&amp;gt; a more degenerate DAG. Can chx&#039;s algorithm find the right numbers?&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/postgresql&quot;&gt;Postgresql&lt;/a&gt;&lt;/div&gt;</description>
 <enclosure url="http://groups.drupal.org/files/chx_nested_1_0.png" length="44721" type="image/png" />
 <group domain="http://groups.drupal.org/postgresql">Postgresql</group>
 <pubDate>Fri, 02 Mar 2007 21:53:08 +0000</pubDate>
 <dc:creator>mfredrickson</dc:creator>
 <guid isPermaLink="false">3008 at http://groups.drupal.org</guid>
</item>
<item>
 <title>MySQL to Postgresql conversion tool</title>
 <link>http://groups.drupal.org/node/2956</link>
 <description>&lt;p&gt;As a MySQL user I&#039;m finding this a useful resource to help support Postgresql installations. It does mysql&amp;gt;psql conversions (and reverse, but that&#039;s usually not the problem!).&lt;br /&gt;
&lt;a href=&quot;http://sql.phpmix.com/index.php&quot; title=&quot;http://sql.phpmix.com/index.php&quot;&gt;http://sql.phpmix.com/index.php&lt;/a&gt;&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/postgresql&quot;&gt;Postgresql&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/2956#comments</comments>
 <group domain="http://groups.drupal.org/postgresql">Postgresql</group>
 <pubDate>Mon, 26 Feb 2007 22:42:52 +0000</pubDate>
 <dc:creator>sime</dc:creator>
 <guid isPermaLink="false">2956 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Hashing in pgsql</title>
 <link>http://groups.drupal.org/node/2564</link>
 <description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Could someone please look at &lt;a href=&quot;http://drupal.org/node/29706&quot; title=&quot;http://drupal.org/node/29706&quot;&gt;http://drupal.org/node/29706&lt;/a&gt; and see if it&#039;s pgsql compliant? How do the CONCAT, MD5 and SUBSTRING functions behave on PostgreSQL?&lt;/p&gt;
&lt;p&gt;Thanks,&lt;br /&gt;
  Johan Forngren&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/reviewers&quot;&gt;Reviewers&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/2564#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/758">PostgreSQL</category>
 <group domain="http://groups.drupal.org/postgresql">Postgresql</group>
 <group domain="http://groups.drupal.org/reviewers">Reviewers</group>
 <pubDate>Sun, 28 Jan 2007 14:54:30 +0000</pubDate>
 <dc:creator>forngren@drupal.org</dc:creator>
 <guid isPermaLink="false">2564 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Request for help - Pathauto Module</title>
 <link>http://groups.drupal.org/node/2200</link>
 <description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I think this is a great group.&lt;/p&gt;
&lt;p&gt;I&#039;m not sure if it&#039;s within the charter, but I&#039;d like to request some assistance in testing/reviewing the Pathauto module to make sure that it is Postgresql compliant.  I&#039;m a maintainer of Pathauto and would love to find a user of both Postgresql and Pathauto to make sure that it works (and that changes I make don&#039;t break the compliance!)&lt;/p&gt;
&lt;p&gt;Anyone care to help?  It&#039;s a pretty popular module so I imagine I&#039;d hear about any problems, but it would be nice to know &quot;for sure&quot;.&lt;/p&gt;
&lt;p&gt;Thanks,&lt;br /&gt;
Greg&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/postgresql&quot;&gt;Postgresql&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/2200#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/155">pathauto</category>
 <category domain="http://groups.drupal.org/taxonomy/term/1044">paths</category>
 <category domain="http://groups.drupal.org/taxonomy/term/758">PostgreSQL</category>
 <group domain="http://groups.drupal.org/postgresql">Postgresql</group>
 <pubDate>Thu, 28 Dec 2006 14:30:02 +0000</pubDate>
 <dc:creator>greggles</dc:creator>
 <guid isPermaLink="false">2200 at http://groups.drupal.org</guid>
</item>
<item>
 <title>First steps to a Recommendation Proposal</title>
 <link>http://groups.drupal.org/node/1651</link>
 <description>&lt;p&gt;Almost every developer know that there is an other Open Source Database Server besides MySQL; her name is PostgreSQL. She is a good option if you are planning a scalable website with high traffic or specific transactions (e.g. e-commerce, large community sites). There are more advantages but my aim here is not a list of &quot;top ten list of ... &quot;. &lt;/p&gt;
&lt;p&gt;I&#039;d like to make a tiny proposal that could end with a Common Recommendation to Drupal coders.&lt;/p&gt;
&lt;p&gt;Why Drupal coders?&lt;/p&gt;
&lt;p&gt;Drupal core (4.7.x and CVS) is fully PostgreSQL compliant. Amazing! But prepare the pain contributed modules can cause:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;no PostgreSQL scheme attached&lt;/li&gt;
&lt;li&gt;module installers without PostgreSQL option&lt;/li&gt;
&lt;li&gt;PostgreSQL un-compliant SQL queries&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I think Drupal coders (contributors etc.) need a Recommendation of how to handle the minimum standards of PostgreSQL compliance while Drupal end users need more patience :)&lt;/p&gt;
&lt;p&gt;Comments are welcome.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/postgresql&quot;&gt;Postgresql&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/1651#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/86">Drupal</category>
 <category domain="http://groups.drupal.org/taxonomy/term/758">PostgreSQL</category>
 <category domain="http://groups.drupal.org/taxonomy/term/115">proposal</category>
 <group domain="http://groups.drupal.org/postgresql">Postgresql</group>
 <pubDate>Wed, 18 Oct 2006 07:12:59 +0000</pubDate>
 <dc:creator>yaanno</dc:creator>
 <guid isPermaLink="false">1651 at http://groups.drupal.org</guid>
</item>
</channel>
</rss>
