How to Install pgAdmin4 in CentOS 7

Best Affordable Linux and WordPress Services For Your Business
Outsource Your Linux and WordPress Project and Get it Promptly Completed Remotely and Delivered Online.

If You Appreciate What We Do Here On TecMint, You Should Consider:

  1. Stay Connected to: Twitter | Facebook | Google Plus
  2. Subscribe to our email updates: Sign Up Now
  3. Get your own self-hosted blog with a Free Domain at ($3.45/month).
  4. Become a Supporter - Make a contribution via PayPal
  5. Support us by purchasing our premium books in PDF format.
  6. Support us by taking our online Linux courses

We are thankful for your never ending support.

Marin Todorov

I am a bachelor in computer science and a Linux Foundation Certified System Administrator. Currently working as a Senior Technical support in the hosting industry. In my free time I like testing new software and inline skating.

Your name can also be listed here. Got a tip? Submit it here to become an TecMint author.

RedHat RHCE and RHCSA Certification Book
Linux Foundation LFCS and LFCE Certification Preparation Guide

You may also like...

18 Responses

  1. Bob says:

    Please help getting this error on execution of setup.py :

    # python /usr/lib/python2.7/site-packages/pgadmin4-web/setup.py
    Traceback (most recent call last):
    File “/usr/lib/python2.7/site-packages/pgadmin4-web/setup.py”, line 413, in
    setup_db()
    File “/usr/lib/python2.7/site-packages/pgadmin4-web/setup.py”, line 347, in setup_db
    app = create_app()
    File “/usr/lib/python2.7/site-packages/pgadmin4-web/pgadmin/__init__.py”, line 399, in create_app
    driver.init_app(app)
    File “/usr/lib/python2.7/site-packages/pgadmin4-web/pgadmin/utils/driver/__init__.py”, line 40, in init_app
    DriverRegistry.load_drivers()
    File “/usr/lib/python2.7/site-packages/pgadmin4-web/pgadmin/utils/driver/registry.py”, line 88, in load_drivers
    module = import_module(module_name)
    File “/usr/lib64/python2.7/importlib/__init__.py”, line 37, in import_module
    __import__(name)
    File “/usr/lib/python2.7/site-packages/pgadmin4-web/pgadmin/utils/driver/psycopg2/__init__.py”, line 20, in
    import psycopg2
    File “/usr/lib64/python2.7/site-packages/psycopg2/__init__.py”, line 50, in
    from psycopg2._psycopg import ( # noqa
    ImportError: /usr/lib64/python2.7/site-packages/psycopg2/_psycopg.so: undefined symbol: PQconninfo

    • Ravi Saive says:

      @Bob,

      I think it could be missing psycopg2 python module, install it using pip command as shown.

      # pip install -U --no-cache-dir --force psycopg2
      
  2. Yuriy says:

    This is what I finally just found in /var/log/httpd/error_log file:

    [Mon Jun 24 10:31:38.070355 2019] [:error] [pid 27524] [remote 178.89.171.169:88] mod_wsgi (pid=27524): Target WSGI script ‘/usr/lib/python2.7/site-packages/pgadmin4-web/pgAdmin4.wsgi’ cannot be loaded as Python module.
    [Mon Jun 24 10:31:38.070400 2019] [:error] [pid 27524] [remote 178.89.171.169:88] mod_wsgi (pid=27524): Exception occurred processing WSGI script ‘/usr/lib/python2.7/site-packages/pgadmin4-web/pgAdmin4.wsgi’.
    [Mon Jun 24 10:31:38.070427 2019] [:error] [pid 27524] [remote 178.89.171.169:88] Traceback (most recent call last):
    [Mon Jun 24 10:31:38.070458 2019] [:error] [pid 27524] [remote 178.89.171.169:88] File “/usr/lib/python2.7/site-packages/pgadmin4-web/pgAdmin4.wsgi”, line 36, in
    [Mon Jun 24 10:31:38.070514 2019] [:error] [pid 27524] [remote 178.89.171.169:88] from pgAdmin4 import app as application
    [Mon Jun 24 10:31:38.070532 2019] [:error] [pid 27524] [remote 178.89.171.169:88] File “/usr/lib/python2.7/site-packages/pgadmin4-web/pgAdmin4.py”, line 97, in
    [Mon Jun 24 10:31:38.070554 2019] [:error] [pid 27524] [remote 178.89.171.169:88] app = create_app()
    [Mon Jun 24 10:31:38.070568 2019] [:error] [pid 27524] [remote 178.89.171.169:88] File “/usr/lib/python2.7/site-packages/pgadmin4-web/pgadmin/__init__.py”, line 243, in create_app
    [Mon Jun 24 10:31:38.070588 2019] [:error] [pid 27524] [remote 178.89.171.169:88] create_app_data_directory(config)
    [Mon Jun 24 10:31:38.070601 2019] [:error] [pid 27524] [remote 178.89.171.169:88] File “/usr/lib/python2.7/site-packages/pgadmin4-web/pgadmin/setup/data_directory.py”, line 42, in create_app_data_directory
    [Mon Jun 24 10:31:38.070622 2019] [:error] [pid 27524] [remote 178.89.171.169:88] os.chmod(config.SESSION_DB_PATH, 0o700)
    [Mon Jun 24 10:31:38.070646 2019] [:error] [pid 27524] [remote 178.89.171.169:88] OSError: [Errno 1] Operation not permitted: ‘/var/lib/pgadmin4/sessions’
    [Mon Jun 24 10:31:40.838538 2019] [:error] [pid 27524] [remote 178.89.171.169:92] mod_wsgi (pid=27524): Target WSGI script ‘/usr/lib/python2.7/site-packages/pgadmin4-web/pgAdmin4.wsgi’ cannot be loaded as Python module.
    [Mon Jun 24 10:31:40.838578 2019] [:error] [pid 27524] [remote 178.89.171.169:92] mod_wsgi (pid=27524): Exception occurred processing WSGI script ‘/usr/lib/python2.7/site-packages/pgadmin4-web/pgAdmin4.wsgi’.
    [Mon Jun 24 10:31:40.838615 2019] [:error] [pid 27524] [remote 178.89.171.169:92] Traceback (most recent call last):
    [Mon Jun 24 10:31:40.838650 2019] [:error] [pid 27524] [remote 178.89.171.169:92] File “/usr/lib/python2.7/site-packages/pgadmin4-web/pgAdmin4.wsgi”, line 36, in
    [Mon Jun 24 10:31:40.838713 2019] [:error] [pid 27524] [remote 178.89.171.169:92] from pgAdmin4 import app as application
    [Mon Jun 24 10:31:40.838737 2019] [:error] [pid 27524] [remote 178.89.171.169:92] File “/usr/lib/python2.7/site-packages/pgadmin4-web/pgAdmin4.py”, line 97, in
    [Mon Jun 24 10:31:40.838781 2019] [:error] [pid 27524] [remote 178.89.171.169:92] app = create_app()
    [Mon Jun 24 10:31:40.838801 2019] [:error] [pid 27524] [remote 178.89.171.169:92] File “/usr/lib/python2.7/site-packages/pgadmin4-web/pgadmin/__init__.py”, line 243, in create_app
    [Mon Jun 24 10:31:40.838836 2019] [:error] [pid 27524] [remote 178.89.171.169:92] create_app_data_directory(config)
    [Mon Jun 24 10:31:40.838862 2019] [:error] [pid 27524] [remote 178.89.171.169:92] File “/usr/lib/python2.7/site-packages/pgadmin4-web/pgadmin/setup/data_directory.py”, line 42, in create_app_data_directory
    [Mon Jun 24 10:31:40.838896 2019] [:error] [pid 27524] [remote 178.89.171.169:92] os.chmod(config.SESSION_DB_PATH, 0o700)
    [Mon Jun 24 10:31:40.838934 2019] [:error] [pid 27524] [remote 178.89.171.169:92] OSError: [Errno 1] Operation not permitted: ‘/var/lib/pgadmin4/sessions’

    • Ravi Saive says:

      @Yuriy,

      It seems the problem was wsgi python version. Try to remove wsgi and install python wsgi as shown.

      # yum remove mod_wsgi
      # yum install python35u-mod_wsgi
      

      Also, try turning off SELinux with:

      $ setenforce 0
      $ reboot
      
  3. Yuriy says:

    I followed the instructions for installing pgadmin on Centos7 and faced the following error when accessing http://ip-address/pgadmin4:

    “Internal Server Error
    The server encountered an internal error or misconfiguration and was unable to complete your request.
    Please contact the server administrator at [email protected] to inform them of the time this error occurred, and the actions you performed just before this error.
    More information about this error may be available in the server error log.”

    Log files seem to be empty

  4. Daniel says:

    Hello,

    I have the next problem:

    mod_wsgi (pid=589): Target WSGI script ‘/usr/lib/python2.7/site-packages/pgadmin4-web/pgAdmin4.wsgi’ cannot be loaded as Python module.
    [Sat Jun 15 13:49:46.450167 2019] [:error] [pid 589] [remote ::1:100] mod_wsgi (pid=589): Exception occurred processing WSGI script ‘/usr/lib/python2.7/site-packages/pgadmin4-web/pgAdmin4.wsgi’.
    [Sat Jun 15 13:49:46.450783 2019] [:error] [pid 589] [remote ::1:100] Traceback (most recent call last):
    [Sat Jun 15 13:49:46.451365 2019] [:error] [pid 589] [remote ::1:100] File “/usr/lib/python2.7/site-packages/pgadmin4-web/pgAdmin4.wsgi”, line 36, in
    [Sat Jun 15 13:49:46.453649 2019] [:error] [pid 589] [remote ::1:100] from pgAdmin4 import app as application
    [Sat Jun 15 13:49:46.454048 2019] [:error] [pid 589] [remote ::1:100] File “/usr/lib/python2.7/site-packages/pgadmin4-web/pgAdmin4.py”, line 97, in
    [Sat Jun 15 13:49:46.454481 2019] [:error] [pid 589] [remote ::1:100] app = create_app()
    [Sat Jun 15 13:49:46.454835 2019] [:error] [pid 589] [remote ::1:100] File “/usr/lib/python2.7/site-packages/pgadmin4-web/pgadmin/__init__.py”, line 243, in create_app
    [Sat Jun 15 13:49:46.455239 2019] [:error] [pid 589] [remote ::1:100] create_app_data_directory(config)
    [Sat Jun 15 13:49:46.455684 2019] [:error] [pid 589] [remote ::1:100] File “/usr/lib/python2.7/site-packages/pgadmin4-web/pgadmin/setup/data_directory.py”, line 42, in create_app_data_directory
    [Sat Jun 15 13:49:46.455917 2019] [:error] [pid 589] [remote ::1:100] os.chmod(config.SESSION_DB_PATH, 0o700)
    [Sat Jun 15 13:49:46.456133 2019] [:error] [pid 589] [remote ::1:100] OSError: [Errno 1] Operation not permitted: ‘/var/lib/pgadmin4/sessions’

  5. Darren says:

    I received the following errors from in /var/log/httpd/error.log when attempting to access the web interface http://localhost/pgadmin4.

    IOError: [Errno 13] Permission denied: '/var/log/pgadmin4/pgadmin4.log'
    OperationalError: (sqlite3.OperationalError) attempt to write a readonly database 
    

    Resolved by setting the correct SELinux context correctly (bad idea to just disable SELinux)

    # chcon -t httpd_sys_rw_content_t /var/log/pgadmin4 -R
    # chcon -t httpd_sys_rw_content_t /var/lib/pgadmin4 -R
    

    Regards

    • Ravi Saive says:

      @Darren,

      Thanks for sharing the tip, hope it will help other users, who face similar issue.. Also I will update the article with SELinux context as shared..

  6. Bill Sawyer says:

    I think I have a similar problem. It appears that Apache is running python 3.6, but this is installing on python 2.7. I believe this is causing a mismatch. But, I do not see a mechanism for telling pgadmin4 to use python 3.6 or telling Apache to use python 2.7.

    I’ve repeated all of the steps listed several times over, from clean builds. I am doing a minimal server build. I’m building this on a VM from a Centos 7 image, but I am updating and upgrading (yum -y update && yum -y upgrade) as part of my process. This is my 4th go-round, and I am at a loss to get this working.

  7. Manoj says:

    Hi, I’m getting this error when accessing it through http://ip-address/pgadmin4 or http://localhost/pgadmin4 on centos 7.

    Unable to connect
    Firefox can’t establish a connection to the server at localhost.
    Please help me with this.

  8. Alexandr Dragutan says:

    Please add EPEL repo installation here.

Got something to say? Join the discussion.

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.