Like phpmyadmin but for postgres

Installs: 226

Dependents: 0

Suggesters: 0

Stars: 37

Watchers: 15

Forks: 13

Open Issues: 14



Packagist Codacy Badge StyleCI Scrutinizer Code Quality Build Status FOSSA Status

PHP Based administration tool for PostgreSQL.

This is a hard fork of phppgadmin which adds the following enhancements:

  • Composer Installation and dependency management
  • Autoloading (thanks to the above)
  • Namespaced classes
  • Removal of global variables
  • Full PHP 7+ support
  • Support for PG 9.3+ features (Materialized Views, BRIN Indexes, etc)

Other enhancements are in progress and would be a nice to have:

This project is made on top of Slim Framework 3, although a big part of the code doesn't use its full features yet.

Credits & FAQ

We're preserving due credits to all people that contributed in the past, as well as other release notes contained in the old version of phppgadmin

Kudos to all people that helped build the original project, upon which this one was built.


Using Composer (recommended)

Install Composer in your machine.

Install with composer running the following command in your shell (replacing whith your desired folder name)

composer create-project huasofoundries/phppgadmin6 <FOLDER> *@beta

Alternatively, clone this repo and run (inside then folder where the project was cloned)

composer install --no-dev

Rewrite Rules

As this project is built over Slim Framework 3, you'll need some rewrite rules for this software to work.


Make sure you have the RewriteEngine module active in your Apache installation.

Place an .htaccess file on your project root with the following contents

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]


Add the following vhost to your sites-enabled folder

server {
        listen 80; 
        # or whatever port you want


        root /path/to/project;

        index index.php;

        # Use this block if you're running in your domain or subdomain root
	    location / {
           try_files $uri $uri/ /index.php$is_args$args;

    	# If running inside a subfolder use instead
        #location /subfolder/ {
        #   try_files $uri $uri/ /subfolder/index.php$is_args$args;

        # pass the PHP scripts to FastCGI server listening on IP:PORT or socket
        location ~ \.php$ {
                fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;

                # Check that the PHP script exists before passing it
                try_files $fastcgi_script_name =404;

                # Bypass the fact that try_files resets $fastcgi_path_info
                # see:
                set $path_info $fastcgi_path_info;
                fastcgi_param PATH_INFO $path_info;

                fastcgi_index index.php;
                include /etc/nginx/fastcgi_params;
                fastcgi_pass unix:/run/php/php7.0-fpm.sock;
                # or fastcgi_pass; depending on your PHP-FPM pool

Please note that you have to customize your server name, php upstream (sock or IP) and optinally the subfolder you want phpPgAdmin6 to run on.


This work is licensed under MIT or GPL 2.0 (or any later version) or BSD-3-Clause You can choose between one of them if you use this work.

SPDX-License-Identifier: MIT OR GPL-2.0-or-later OR BSD-3-Clause