PhPPgAdmin

Synthesis

Application name

PhpPgAdmin

Debian Stable version

4.2.2-1

Domain

RDBMS

Technologies

Apache/PHP/PostgreSQL

Development

PhpPgAdmin Team

License

GPL V2

Main site

http://phppgadmin.sourceforge.net

Debian Package

phppgadmin

Introduction

PhpPgAdmin is an administration interface for PostgreSQL. It is coded in PHP. With PhpPgAdmin, you can administer a remote PostgreSQL Server. A similar project is ?PhpMyAdmin for MySQL Server.

Debian Stable installation procedure

Binary installation

Application configuration

Apache2 configuration

PhpPgAdmin can use Apache2 and Php5. By default, the installation process configure the Apache2 server. It creates a symbolic link from  /etc/phppgadmin/apache.conf  to  /etc/apache2/conf.d/phppgadmin.

Here is an example of such a file:

Alias /phppgadmin /usr/share/phppgadmin/

<DirectoryMatch /usr/share/phppgadmin/>

Options +FollowSymLinks
AllowOverride None

order deny,allow
deny from all
allow from 127.0.0.0/255.0.0.0
# allow from all

<IfModule mod_php4.c>
  php_flag magic_quotes_gpc Off
  php_flag track_vars On
  php_flag register_globals On
  php_value include_path .
</IfModule>

</DirectoryMatch>

Configure access to a remote PostgreSQL Server

With PhpPgAdmin, you can manage many PostgreSQL servers locally (on the localhost) or on remote hosts.

First, you have to make sure that the distant PostgreSQL server can handle your request, that you can connect to it. You can do this by modifying the file pg_hba.conf and adding a line like:

# PhpPgAdmin server access
host    all     db_admin        xx.xx.xx.xx      255.255.255.255 md5

Then, you need to add your distant PostgreSQL server into the config file for PhpPgAdmin. This file is  etc/phppgadmin/config.inc.php . Here is an example of such a file:

<?php

        /**
         * Central phpPgAdmin configuration.  As a user you may modify the
         * settings here for your particular configuration.
         *
         * $Id: config.inc.php-dist,v 1.44 2005/09/07 08:09:21 chriskl Exp $
         */

        // Display name for the server on the login screen
        $conf['servers'][0]['desc'] = 'My-distant-server';

        // Hostname or IP address for server.  Use '' for UNIX domain socket.
        // use 'localhost' for TCP/IP connection on this computer
        $conf['servers'][0]['host'] = 'mydistantserver.mydomain';

        // Database port on server (5432 is the PostgreSQL default)
        $conf['servers'][0]['port'] = 5432;

        // Change the default database only if you cannot connect to template1
        $conf['servers'][0]['defaultdb'] = 'template1';

        // Specify the path to the database dump utilities for this server.
        // You can set these to '' if no dumper is available.
        $conf['servers'][0]['pg_dump_path'] = '';
        $conf['servers'][0]['pg_dumpall_path'] = '';

        // Slony (www.slony.info) support?
        $conf['servers'][0]['slony_support'] = false;
        // Specify the path to the Slony SQL scripts (where slony1_base.sql is located, etc.)
        // No trailing slash.
        $conf['servers'][0]['slony_sql'] = '/usr/share/postgresql';

        // Default language. Eg: 'english', 'polish', etc.  See lang/ directory
        // for all possibilities. If you specify 'auto' (the default) it will use
        // your browser preference.
        $conf['default_lang'] = 'auto';

        // If extra login security is true, then logins via phpPgAdmin with no
        // password or certain usernames (pgsql, postgres, root, administrator)
        // will be denied. Only set this false once you have read the FAQ and
        // understand how to change PostgreSQL's pg_hba.conf to enable
        // passworded local connections.
        $conf['extra_login_security'] = true;

        // Only show owned databases?
        // Note: This will simply hide other databases in the list - this does
        // not in any way prevent your users from seeing other database by
        // other means. (eg. Run 'SELECT * FROM pg_database' in the SQL area.)
        $conf['owned_only'] = true;

        // Display comments on objects?  Comments are a good way of documenting
        // a database, but they do take up space in the interface.
        $conf['show_comments'] = true;

        // Display "advanced" objects?  Setting this to true will show types,
        // operators conversions, languages and casts in phpPgAdmin.  These
        // objects are rarely administered and can clutter the interface.
        $conf['show_advanced'] = false;

        // Display "system" objects?
        $conf['show_system'] = false;

        // Display reports feature?  For this feature to work, you must
        // install the reports database as explained in the INSTALL file.
        $conf['show_reports'] = true;

        // Only show owned reports?
        // Note: This does not prevent people from accessing other reports by
        // other means.
        $conf['owned_reports_only'] = true;

        // Minimum length users can set their password to.
        $conf['min_password_length'] = 1;

        // Width of the left frame in pixels (object browser)
        $conf['left_width'] = 200;

        // Which look & feel theme to use
        $conf['theme'] = 'default';

        // Show OIDs when browsing tables?
        $conf['show_oids'] = false;

        // Max rows to show on a page when browsing record sets
        $conf['max_rows'] = 30;

        // Max chars of each field to display by default in browse mode
        $conf['max_chars'] = 50;

        // Send XHTML headers?  Unless debugging, it's best to leave this off
        $conf['use_xhtml'] = false;

        // Base URL for PostgreSQL documentation.
        // '%s', if present, will be replaced with the PostgreSQL version
        // (7, 7.1, 7.2, 7.3, 7.4, or 8.0)
        $conf['help_base'] = 'http://www.postgresql.org/docs/%s/interactive/';

        /*****************************************
         * Don't modify anything below this line *
         *****************************************/

        $conf['version'] = 15;

?>