PHP wrapper class for PDO-based interaction with PostgreSQL databases, heavily based on ThingEngineer's MysqliDb class

v3.1.1 2019-05-26 17:41 UTC

This package is auto-updated.

Last update: 2024-03-27 04:01:37 UTC


This project is a PostgreSQL version of ThingEngineer's MysqliDb Class, that supports the basic functionality and syntax provided by said class, tailored specifically to PostgreSQL.


This class requires PHP 5.4+ or 7+ to work. You can either place the src/PostgresDb.php in your project and require/include it, or use Composer (strongly recommended)

composer require seinopsys/postgresql-database-class:^3.0


$db = new \SeinopSys\PostgresDb($database_name, $host, $username, $password);

For a more in-depth guide see

Upgrading from 2.x

  1. Removed deprecated methods

    These methods were deprecated in version 2.x and have been removed in 3.x. Use the renamed variants as indicated below:

    2.x 3.x
    $db->rawQuery(…); $db->query(…);
    $db->rawQuerySingle(…); $db->querySingle(…);
    $db->pdo(); $db->getConnection();
  2. Namespace change

    As of 3.x - to comply fully with the PSR-2 coding standard - the class now resides in the SeinopSys namespace. Here's a handy table to show what you need to change and how:

    2.x 3.x
    $db = new PostgresDb(…); $db = new \SeinopSys\PostgresDb(…);
    $db = new \PostgresDb(…); $db = new \SeinopSys\PostgresDb(…);
    use \PostgresDb;

    $db = new PostgresDb(…);
    use \SeinopSys\PostgresDb;

    $db = new PostgresDb(…);
  3. Internal code structure changes

    As of 3.x all private/protected methods and properties have dropped the _ prefix, so be sure to update your wrapper class (if you use one).