The InspIRCd Project
Home | Developers | Wiki | Forums | Bug Tracker | SVN | Download | Blog
Personal tools

Modules/pgsql

From Inspire IRCd (InspIRCd)

Jump to: navigation, search

Description

This module is a service provider module, which means it has no real directly usable functions of its own, however it provides an essential service which is used by other modules. This module allows other modules to access SQL using a unified interface, minimizing the number of persistent connections and abstracting the actual database software from the SQL queries sent to it.

Configuration Tags

To use this module you must define one or more database connections, using tags like the one below:
<database name="mydb"
          username="myuser"
          password="mypass"
          hostname="localhost"
          id="randomstring">

The variables in the tag have the following meanings:

  • name - The name of the database this connection is bound to. This may be any database you have ability to access
  • username - The MySQL username with which you want to access the database
  • password - The password required to access the database
  • hostname - The hostname of the database. Most of the time you will just want localhost here
  • id - The id string of the database. Dependent modules will use this ID to refer to the connection, rather than its credentials, so that the credentials are specified only in one place. In the previous version of the SQL API this was an integer, however it is now a string to allow for more descriptive IDs.

You may define as many databases as you wish, but remember it is most secure to only define ones that your modules will actually use.

Additional Modes

None

Additional Commands

None

Special Notes

PostgreSQL databases are fairly resource intensive in terms of memory usage. Modules should refrain from using SQL unless it is neccessary (for example, to interface with a website written in php or perl, or to interface with a proprietary system which also uses PostgreSQL).
Extra ModuleThis module is an 'extra' module. This means that by default it is not compiled when you type make to build your IRCd. To enable this module follow these steps.

Dependencies

*PostgreSQL - The PostgreSQL Database Server