Although installing Drupal with PostgreSQL is rather straight forward, there are a few stumbling blocks (needing to load a language into the database and not using the public schema, as well as there being zero instructions):
I have added instructions to INSTALL.txt on how to load up the SQL scheme into PostgreSQL, and I have edited database/database.pgsql so that it is easy to install drupal into any schema. As a result, users can now for example install Drupal into database drupal, schema drupal (with the functions in public). This means they could use different modules for different schemas if they wanted to.
The instructions include:
Comment | File | Size | Author |
---|---|---|---|
#21 | drupal-head-install.txt-25792_0.diff | 2.43 KB | Cvbge |
#17 | drupal-4-6-install.txt-25792_8.diff | 10.5 KB | Cvbge |
#13 | drupal-4-6-install.txt-25792_7.diff | 9.69 KB | Cvbge |
#12 | drupal-4-6-install.txt-25792_6.diff | 12.82 KB | Cvbge |
#11 | drupal-4-6-install.txt-25792_4.diff | 10.53 KB | Cvbge |
Comments
Comment #1
Smirnov CreditAttribution: Smirnov commentedAttached the database/database.pgsql patch
Comment #2
Smirnov CreditAttribution: Smirnov commentedUpdated INSTALL.txt against HEAD, also made it so the instructions pertain to installing to the "public" schema by default (and left a notice on there for people to edit database.pgsql if they need to do otherwise). The previous patches can now be safely ignored (esp. since they were for 4.6.1).
Comment #3
Cvbge CreditAttribution: Cvbge commentedI like the patch, but IMO it needs to wait till http://drupal.org/node/26091 gets in
Comment #4
Cvbge CreditAttribution: Cvbge commentedAttached patch splits INSTALL.txt into INSTALL.txt, INSTALL.mysql.txt and INSTALL.pgsql.txt
INSTALL.pgsql.txt is written from scratch.
Comment #5
Cvbge CreditAttribution: Cvbge commentedIt's for 4.6 (cause there'll be new 4.6 soon) and it probably needs to be applied with -p1 or something, as it's made with normal diff from outside of drupal dir (it adds new files so it can't be done with cvs diff)
Comment #6
Cvbge CreditAttribution: Cvbge commentedComment #7
Morbus IffComments/revision forthcoming.
Comment #8
Morbus Iff* Needs CVS header version macro thing.
* Needs contents block for the pgsql file.
* instructions are too dissimilar. why "drupal" for the database
name in mysql.txt, but databasename for PostgreSQL? And why do we
use BOTH "databasename" AND "drupal_db" in the text for pgsql?
* don't use stuff like "I assume". We don't have a similar statement in the
MySQL file, and it doesn't belong here either. Second, it's not *you*
talking to the user, it's the entire Drupal developer team talking
to the user. Never use first person (not in an install.txt at least).
* Try try to make the same "mental" decisions that MySQL does. We don't
caution the user in MySQL.txt "not to run steps 1 through 3 if you
already have a MySQL database", because most users don't need to be
told that - they will know if they have one or not.
* "Please note, that Drupal needs PL/pgSQL procedural language
installed in your database." I have no clue what that means.
Replace with something like "Please note that the PHP bindings for
PostgreSQL must be enabled for Drupal to operate properly."
(Actually, in reading further through the instructions, I'd remove
this comment entirely: you instruct users how to do it in step 3, right?)
* Some lines are longer than 80 characters. These need to be brought
down to 78 characters or less.
* "For example on default Debian installation you must be logged
in as "postgres" system." NEVER include information such as this.
For one, it'll go outta date faster than milk. Secondly, people will
mentally skip right over "Debian" ("well, BSD is kinda like Debian
right? It's gotta be the same, right?"), and thirdly, it sets a dangerous
precedent of including tons of distro-specific support in the INSTALLs.
* "your local PostgreSQL guru." Don't say this either. This reads like
"well, shit, we're not gonna help you if you've screwed up. We've
washed our hands of you." This is *our* software. The Drupal developers
have decided that we know enough about PostgreSQL to ship code that
runs with it. Whether we are, or not, *WE* are the user's gurus.
Comment #9
Cvbge CreditAttribution: Cvbge commentedThanks for your suggestions. I've changed the files the best I could (kudos to webchick and bertboerland for help with english).
I've wrapped long lines, except for error quotes, which should stay unchanged IMO.
But I disagree on this:
No, PostgreSQL is not *our* software. Creating database user, the database, loading the scheme has nothing to do with Drupal.
I've removed references to "local gurus" or outside documentation, but I think they should be there. Maybe reworded, but still.
Comment #10
Cvbge CreditAttribution: Cvbge commentedSetting to "needs review"
Comment #11
Cvbge CreditAttribution: Cvbge commentedPrevious patch was reversed
Comment #12
Cvbge CreditAttribution: Cvbge commentedMorbus fixed the files (thanks :)).
Attached patch should be applied with -p1, e.g.
patch -p1 < the_patch.diff
This patch allows us to close http://drupal.org/node/29324
Comment #13
Cvbge CreditAttribution: Cvbge commentedErr. Last patch had INSTALL.txt diffied against cvs not 4.6
Comment #14
Dries CreditAttribution: Dries commentedMorbus, are you 100% happy with the latest patch?
Waiting for Morbus' blessing.
Comment #15
Morbus IffYah. The latest patch is my own, really, just generated by Cvbge. My understanding is that this will be for both 4.6 and CVS.
Comment #16
Morbus IffComment #17
Cvbge CreditAttribution: Cvbge commentedUpdated patch - adds "and" in one line and changes "example.dom" to "example.com".
Yes, this patch is currently for 4.6, but will be for 4.7 too, just needs some small changes.
Comment #18
Morbus IffAyup. Good by me.
Comment #19
Dries CreditAttribution: Dries commentedCommitted to HEAD. Won't commit it to DRUPAL-4-6 because PostgreSQL support is somewhat broken anyway.
Comment #20
Dries CreditAttribution: Dries commentedNot marking this fixed, because it needs minor changes as pointed out by Cvbge.
If you really want me to commit this to DRUPAL-4-6, let me know.
Comment #21
Cvbge CreditAttribution: Cvbge commentedHmm not really really...
Anyway, here's a patch for HEAD:
- a change to settings.php: use "databasename" istead of "database" in $db_url for consistency with install.txt
- removed PL/pgSQL related documentation, recent patch removed dependency on it
- createdb creates database with unicode encoding
Comment #22
Morbus IffLooks good to me.
Comment #23
Cvbge CreditAttribution: Cvbge commentedChanging version to cvs
Comment #24
Dries CreditAttribution: Dries commentedCommitted to HEAD. Thanks.
Comment #25
(not verified) CreditAttribution: commented