Extension:AccessPostgres
AccessPostgres Release status: stable |
|||
---|---|---|---|
Implementation | Database, Parser function | ||
Description | Connects to a PostgresGL database and retrieves data with select directly into an article or to write data into the database with insert and update respectively. | ||
Author(s) | Martina Mostert (MarMostalk) | ||
Latest version | 1.3 (2011-09-01) | ||
MediaWiki | 1.9+ | ||
Database changes | No | ||
License | GPL | ||
Download | from external source | ||
|
|||
|
|||
Translate the AccessPostgres extension if it is available at translatewiki.net |
|||
Check usage and version matrix; code metrics |
The AccessPostgres extension allows to connect to a PostgresQL database and retrieve data with select directly into an article or write data into the database with insert and update respectively. You may also delete data from the database.
Contents
Usage[edit | edit source]
The following extension functions are available.
Hint: All functions that perform a select use the user registered as $egOwlApUser using the password in $egOwlApPasswordGet (see #Configuration parameters). For insert and update the wiki user is used (password $egOwlApPassword).
#apGetValue[edit | edit source]
Retrieves one single column from a table under specification of a search key. If the result consists of more than one value, the values are connected comma separated. The result is given as wikitext.
{{#apGetValue:‹table›|‹column›|‹key›|‹key value›}}
Parameters:
- table
- name of the table you want to receive data from
- column
- name of the column containing the result
- key
- name of the column containing the search key
- key value
- value to search for
#apGetMValues[edit | edit source]
Retrieves any number of columns from a table under specification of a search key. The result is put into an array and returned as wikitext.
{{#apGetMValues:‹table›|‹key›|‹key value›|‹column1›|...|‹columnn›}}
Parameters:
- table
- name of the table you want to receive data from
- key
- name of the column containing the search key
- key value
- value to search for
- column1...columnn
- names of the columns you want to retrieve
#apGetTable[edit | edit source]
Retrieves any number of columns and all rows from a table. [1].
{{#apGetTable:‹table›|‹column1›|...|‹columnn›}}
Parameters:
- table
- name of the table you want to receive data from
- column1...columnn
- names of the columns you want to retrieve
#apGetLine[edit | edit source]
Retrieves any number of columns from a table under specification of a search key. [1].
{{#apGetLine:‹table›|‹key›|‹key value›|‹column1›|...|‹columnn›}}
Parameters:
- table
- name of the table you want to receive data from
- key
- name of the column containing the search key
- key value
- value to search for
- column1...columnn
- names of the columns you want to retrieve
#apCreateEntry[edit | edit source]
Inserts a new record with any number of columns and a key column into a table. If there exists already a record with the given key value an update is performed instead.
{{#apCreateEntry:‹table›|‹key›|‹key value›|‹column1›|‹value1›|...|‹columnn›|‹valuen›}}
Parameters:
- table
- name of the table you want to insert data into
- key
- name of the column containing the search key
- key value
- value for the key
- column1...columnn
- names of the columns you want to insert data into
- value1..‹valuen
- values you want to insert into the columns
#apUpdateMValues[edit | edit source]
Updates any number of columns under specification of a search key.
{{#apUpdateMValues:‹table›|‹key›|‹key value›|‹column1›|‹value1›|...| ‹columnn›|‹valuen›}}
Parameters:
- table
- name of the table you want to update
- key
- name of the column containing the search key
- key value
- value to search for
- column1...columnn
- names of the columns you want to update
- value1..‹valuen
- new values for the columns
#apUpdatePValue[edit | edit source]
Updates a column under specification of two search keys.
{{#apUpdatePValue:‹table›|‹key1›|‹key value1›|‹key2›|‹key value2›|‹column›|‹value›}}
Parameters:
- table
- name of the table you want to update
- key1
- name of the column containing the first search key
- key value1
- first value to search for
- key2
- name of the column containing the second search key
- key value2
- second value to search for
- column
- name of the column you want to update
- value
- new value for the column
#apAddValue[edit | edit source]
Inserts a new record with two columns (index and value) into a table.
{{#apAddValue:‹table›|‹key›|‹key value›|‹column›|‹value›}}
Parameters:
- table
- name of the table you want to insert data into
- key
- name of the column containing the search key
- key value
- value for the key
- column
- name of the column you want to insert data into
- value
- value you want to insert into the column
#apDeletePEntry[edit | edit source]
Deletes a record from a table under specification of a key value and another search key.
{{#apDeletePEntry:‹table›|‹key1›|‹key value1›|‹key2›|‹key value2›}}
Parameters:
- table
- name of the table you want to delete data from
- key1
- name of the column containing the first search key
- key value1
- first value to search for
- key2
- name of the column containing the second search key
- key value2
- second value to search for
Note:
i.e. you receive <tr><td>''data''</td><td>''data''</td>...</tr>. The rest of the table has to be put "around" the function call, e.g.
<table> <th>Heading1</th> <th>Heading2</th> <th>Heading3</th> {{#apGetLine:tablename|...}} </table>
Installation[edit | edit source]
- Download and extract the tarball in your
extensions/
folder. It should generate a new folder calledAccessPostgres
directly inside yourextensions/
folder. - Add the following code at the bottom of your LocalSettings.php:
require_once "$IP/extensions/AccessPostgres/AccessPostgres.php";
- Done! Navigate to "Special:Version" on your wiki to verify that the extension is successfully installed.
Configuration[edit | edit source]
Insert the appropriate values for $egOwlApHost, $egOwlApDBName, $egOwlApUser, $egOwlApPassword and $egOwlApSearchPath in file $IP/extensions/AccessPostgres/AccessPostgres.phpy
* $egOwlApHost: name of the host on which Postgres is running - if left empty, a unix socket is used (localhost) * $egOwlApDBName: name of the postgres database to connect to * $egOwlApUser: user for select queries * $egOwlApPassword: password for queries except select * $egOwlApPasswordGet: password of $egOwlApUser * $egOwlApSearchPath: search path for the database