Difference between revisions of "Help:PostgreSQL"
(Note about Wikipgedia project) |
(Note about Wikipgedia project) |
(No difference)
|
Latest revision as of 19:03, 16 February 2006
The experimental PostgreSQL support has not been maintained; MediaWiki 1.5 is not able to run on PostgreSQL and will not until/unless someone interested puts in the necessary work to update the files. --brion 07:40, 21 Jun 2005 (UTC)
- On that note, for those still interested, there is Wikipgedia. It's far from complete, but definitely still being worked upon. --141.233.47.218 19:03, 16 February 2006 (UTC)
This is a work-in-progress. More details to be forthcoming as I discover them. :) --User:ChadMiller 19:36, 7 Dec 2004 (UTC)
Status
MediaWiki 1.4 will be adding support for PostgreSQL as a back-end database.
As of September 2004, the installer doesn't support it and various functions are still incomplete or have errors: see the tracking entry in bugzilla for remaining problems.
Patches
Patches available at http://sandbox.chad.org/mediawiki/ !
- Update: Several of these patches are now included in CVS (without attribution in the log :P ). If 'patch' asks if you really mean to reverse a patch, then it's probably already applied. --ChadMiller 21:59, 19 Jan 2005 (UTC)
Prerequisites
The description that follows assumes that you have PostgreSQL installed and running. You can create users and databases and connect to the local databases from the command-line utility "psql".
If that isn't true, then you should look elsewhere for help.
Creating the Database
After you fill out the initial Mediawiki setup form in config/index.php, but before you submit it, you need to use that information to prepare bits of the database that the setup can not (yet) perform.
If you will use the same machine for database server and web server, then the "...shell" blocks below will actually be on the same machine and have the same prompt. If you use the same machine, you may leave the "server" fields blank and db connections will go through a Unix domain socket, which is a very fast transport -- much faster than merely connecting through IP to "localhost" or a remote server.
First, you should have the database owned by a normal user account. Use your normal Unix username, if you like; it's a common thing to do. Then create the database user that Mediawiki will use, and then create the schema and give the user permissions to use that schema. If you're using the default PostgreSQL schema, "public", then you need not create it, but you should still grant the user permissions to use it
dbhostshell$ createdb databasename CREATE dbhostshell$ psql databasename databasename=# create user databaseuser with encrypted password databasepassword; CREATE USER databasename=# create schema schemaname; -- if not "public" CREATE SCHEMA databasename=# grant create, usage on schema schemaname to databaseuser; GRANT databasename=# \q
Now, edit your pg_hba.conf file and set it so the database user on the web server can authenticate to the database. This can be tricky. Consult PostgreSQL documentation for details, but this author is using a local server and his file contains this:
# TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD local chadwikitwo mediawiki md5
To verify that database connectivity works, try one of these:
webhostshell$ psql databasename -U databaseuser -h databaseserveraddress Password: databasepassword
or
webhostshell$ psql databasename -U databaseuser # for local Unix domain connections Password: databasepassword
If you can reach the database using the username and password from the host that's running the web server, then you're ready to submit the form.
Configuration
The form in config/index.php will run and perhaps give a few warnings.
(More to come.)