pgAdmin 4 on Gentoo

Since Gentoo Linux removed pgAdmin 4, you have to install it on your own. Based on the official howto for installing pgAdmin 4 as a Python package, this shows how to

Install pgAdmin 4

We will install pgAdmin 4 to ~/bin/pgadmin4 in your home directory, and will place its logfile as well as the user database in ~/.pgadmin.

$ python3 -m venv ~/bin/pgadmin4
$ . ~/bin/pgadmin4/bin/activate
$ pip install pgadmin4
$ cat >>~/bin/pgadmin4/lib/python3.9/site-packages/pgadmin4/ <<EOF
import os.path

DATA_DIR = os.path.realpath(os.path.expanduser('~/.pgadmin/'))
LOG_FILE = os.path.join(DATA_DIR, 'pgadmin4.log')
SQLITE_PATH = os.path.join(DATA_DIR, 'pgadmin4.db')
SESSION_DB_PATH = os.path.join(DATA_DIR, 'sessions')
STORAGE_DIR = os.path.join(DATA_DIR, 'storage')
AZURE_CREDENTIAL_CACHE_DIR = os.path.join(DATA_DIR, 'azurecredentialcache')
If you want to change the default port 5050 on which pgAdmin listens, add this to
Optionally, if you want to access pgAdmin from other hosts than your local desktop, add this:
# or bind it to a specific interface:
In this case, you might want to limit access to certain hosts or networks:
ALLOWED_HOSTS = ("", "",)
Now start pgAdmin and create the admin user:
$ pgadmin4
NOTE: Configuring authentication for SERVER mode.

Enter the email address and password to use for the initial pgAdmin user account:

Email address: Enter your email address
Password: Enter some password
Retype password: Retype the same password
Starting pgAdmin 4. Please navigate to in your browser.
Now point your web browser to the shown address, and log in with the admin credentials created right before.

Update pgAdmin 4

$ . ~/bin/pgadmin4/bin/activate
$ pip install -U pgadmin4

Start pgAdmin 4

Either create a shell script:


. ~/bin/pgadmin4/bin/activate

echo "*** Press CTRL+C to stop pgAdmin 4 ***"
pgadmin4 | while read LINE; do
  echo "$LINE"
  url="${LINE##*navigate to }"
  url="${url%% in your browser.}"
  if [ "$addrport" != "$url" ]; then
    firefox "$url"
Or create an entry in your start menu, e.g. if you use Xfce:
xfce4-terminal -T pgAdmin4 -I /home/yourusername/bin/pgadmin4/lib/python3.9/site-packages/pgadmin4/pgadmin/static/favicon.ico -x bash --rcfile ~/bin/pgadmin4/bin/activate -i -c 'echo "*** Press CTRL+C to stop pgAdmin 4 ***"; pgadmin4 | while read LINE; do echo "$LINE"; url="${LINE##*navigate to }"; url="${url%% in your browser.}"; addrport="${url##http}"; if [ "$addrport" != "$url" ]; then firefox "$url"; fi; done'

Update of Python

If you have updated Python to a new version, pathes inside the venv directory (~/bin/pgadmin4) will no longer be valid. I have successfully handled updates of Python, e.g. from 3.9 to 3.10, by simply reinstalling pgAdmin4:

$ mv -iv ~/bin/pgadmin4 ~/bin/pgadmin4.old
$ python3 -m venv ~/bin/pgadmin4
$ . ~/bin/pgadmin4/bin/activate
$ pip install pgadmin4
$ cp -aiv ~/bin/pgadmin4.old/lib/python3.9/site-packages/pgadmin4/ ~/bin/pgadmin4/lib/python3.10/site-packages/pgadmin4/
This only works if you have not placed any crucial data inside the venv directory, i.e. set DATA_DIR to a directory outside the venv, as shown by this howto.
If pgAdmin starts ok, you can remove the old venv directory:
$ rm -r ~/bin/pgadmin4.old