Changes
Note about Wikipgedia project
'''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. --[[User:Brion VIBBER|brion]] 07:40, 21 Jun 2005 (UTC)'''
:On that note, for those still interested, there is [http://pgfoundry.org/projects/wikipedia Wikipgedia]. It's far from complete, but definitely still being worked upon. --[[User:141.233.47.218|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 [http://www.postgresql.org/ 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 [[bugzilla:384|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. --[[User:ChadMiller|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.)''
:On that note, for those still interested, there is [http://pgfoundry.org/projects/wikipedia Wikipgedia]. It's far from complete, but definitely still being worked upon. --[[User:141.233.47.218|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 [http://www.postgresql.org/ 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 [[bugzilla:384|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. --[[User:ChadMiller|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.)''