Hi,

I just want to share that the problem with my installation of pgAdmin4 on my AlmaLinux v8.x and v9.x are now can run with Web mode using Apache HTTPD.
I will try to explain how I overcome the problem

1. First, the error log of my pgAdmin4 are like below

mod_wsgi (pid=3540264): Failed to exec Python script file '/usr/pgadmin4/web/pgAdmin4.wsgi'. mod_wsgi (pid=3540264): Exception occurred processing WSGI script '/usr/pgadmin4/web/pgAdmin4.wsgi'.
Traceback (most recent call last):
  File "/usr/pgadmin4/web/pgAdmin4.wsgi", line 36, in <module>
    from pgAdmin4 import app as application
  File "/usr/pgadmin4/web/pgAdmin4.py", line 93, in <module>
    app = create_app()
  File "/usr/pgadmin4/web/pgadmin/__init__.py", line 546, in create_app
    driver.init_app(app)
  File "/usr/pgadmin4/web/pgadmin/utils/driver/__init__.py", line 27, in init_app
    DriverRegistry.load_modules(app)
  File "/usr/pgadmin4/web/pgadmin/utils/driver/registry.py", line 20, in load_modules
    from . import psycopg3 as module
  File "/usr/pgadmin4/web/pgadmin/utils/driver/psycopg3/__init__.py", line 21, in <module>
    import psycopg
  File "/usr/pgadmin4/venv/lib64/python3.9/site-packages/psycopg/__init__.py", line 9, in <module>
    from . import pq  # noqa: F401 import early to stabilize side effects
  File "/usr/pgadmin4/venv/lib64/python3.9/site-packages/psycopg/pq/__init__.py", line 117, in <module>
    import_from_libpq()
  File "/usr/pgadmin4/venv/lib64/python3.9/site-packages/psycopg/pq/__init__.py", line 109, in import_from_libpq
    raise ImportError(
ImportError: no pq wrapper available.
Attempts made:
- couldn't import psycopg 'c' implementation: /usr/pgadmin4/venv/lib64/python3.9/site-packages/psycopg_c/pq.cpython-39-x86_64-linux-gnu.so: undefined symbol: PQchangePassword - couldn't import psycopg 'binary' implementation: No module named 'psycopg_binary'
- couldn't import psycopg 'python' implementation:

2. From the log I know that after upgrading from pgAdmin4 v8.12 to v8.13 and above, it require some *psycopg_binary *python package

3. So I open the pgAdmin4 virtual environment using command:

source /usr/pgadmin4/venv/bin/activate

4. Then run PIP to install the required package *psycopg_binaryby *running command:*
*

*pip install "psycopg[binary]"
*

5. And restart the *Apache HTTPD*, and access it from web browser.

That's it, I can access my instance of pgAdmin4 v8.13 or the latest v8.14 from web.

Regards,
ayrus02


On 03-12-2024 12:33, Khushboo Vashi wrote:


On Mon, Dec 2, 2024 at 6:31 PM Surya Widyanto <ayru...@gmail.com> wrote:

    Hi,

    For this problem is it already identified the main problem? is it
    a bug on the new release v8.13?
    Is there any hint how to solve the problem? until now, I still
    cannot upgrade to v8.13 because of this problem

Please try moving libpq.so and libpq.so.5 to the other location and keeping only one libpq `/usr/lib64/libpq.so.5.17`.

    Regards,
    ayrus02

    On 18-11-2024 16:42, Khushboo Vashi wrote:
    Hi,

    Make sure that your libpq is located at LIBDIR = /usr/lib64. This
    error may occur when you have multiple libpq installed on your
    system. Also do not forget to restart the apache server.

    Thanks,
    Khushboo



    On Mon, Nov 18, 2024 at 3:06 PM Surya Widyanto
    <ayru...@gmail.com> wrote:

        Hi,

        Below are the output of pg_config on on my AlmaLinux 8 (x64)
        machine:

        BINDIR = /usr/bin
        DOCDIR = /usr/share/doc/pgsql
        HTMLDIR = /usr/share/doc/pgsql
        INCLUDEDIR = /usr/include
        PKGINCLUDEDIR = /usr/include/pgsql
        INCLUDEDIR-SERVER = /usr/include/pgsql/server
        LIBDIR = /usr/lib64
        PKGLIBDIR = /usr/lib64/pgsql
        LOCALEDIR = /usr/share/locale
        MANDIR = /usr/share/man
        SHAREDIR = /usr/share/pgsql
        SYSCONFDIR = /etc/pgsql
        PGXS = /usr/lib64/pgsql/pgxs/src/makefiles/pgxs.mk
        <http://pgxs.mk>
        CONFIGURE =  '--build=x86_64-redhat-linux-gnu'
        '--host=x86_64-redhat-linux-gnu' '--program-prefix='
        '--disable-dependency-tracking' '--prefix=/usr'
        '--exec-prefix=/usr' '--bindir=/usr/bin'
        '--sbindir=/usr/sbin' '--sysconfdir=/etc'
        '--datadir=/usr/share' '--includedir=/usr/include'
        '--libdir=/usr/lib64' '--libexecdir=/usr/libexec'
        '--localstatedir=/var' '--sharedstatedir=/var/lib'
        '--mandir=/usr/share/man' '--infodir=/usr/share/info'
        '--disable-rpath' '--with-openssl' '--with-gssapi'
        '--with-includes=/usr/include' '--with-libraries=/usr/lib64'
        '--enable-nls' '--with-ldap' '--with-lz4' '--with-selinux'
        '--with-systemd' '--with-system-tzdata=/usr/share/zoneinfo'
        'build_alias=x86_64-redhat-linux-gnu'
        'host_alias=x86_64-redhat-linux-gnu' 'CFLAGS=-O2 -g -pipe
        -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
        -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions
        -fstack-protector-strong -grecord-gcc-switches
        -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
        -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64
        -mtune=generic -fasynchronous-unwind-tables
        -fstack-clash-protection -fcf-protection'
        'LDFLAGS=-Wl,--as-needed' 'CXXFLAGS=-O2 -g -pipe -Wall
        -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
        -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions
        -fstack-protector-strong -grecord-gcc-switches
        -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
        -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64
        -mtune=generic -fasynchronous-unwind-tables
        -fstack-clash-protection -fcf-protection'
        'PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig'
        'PYTHON=/usr/bin/python3'
        CC = gcc
        CPPFLAGS = -D_GNU_SOURCE -I/usr/include
        CFLAGS = -Wall -Wmissing-prototypes -Wpointer-arith
        -Wdeclaration-after-statement -Werror=vla -Wendif-labels
        -Wmissing-format-attribute -Wimplicit-fallthrough=3
        -Wcast-function-type -Wshadow=compatible-local
        -Wformat-security -fno-strict-aliasing -fwrapv
        -fexcess-precision=standard -Wno-format-truncation
        -Wno-stringop-truncation -O2 -g -pipe -Wall
        -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
        -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions
        -fstack-protector-strong -grecord-gcc-switches
        -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
        -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64
        -mtune=generic -fasynchronous-unwind-tables
        -fstack-clash-protection -fcf-protection
        CFLAGS_SL = -fPIC
        LDFLAGS = -Wl,--as-needed -L/usr/lib64 -Wl,--as-needed
        LDFLAGS_EX =
        LDFLAGS_SL =
        LIBS = -lpgcommon -lpgport -lselinux -llz4 -lssl -lcrypto
        -lgssapi_krb5 -lz -lreadline -lpthread -lrt -ldl -lm
        VERSION = PostgreSQL 17.0

        Below are the output of pg_config on on my AlmaLinux 9 (x64)
        machine:

        BINDIR = /usr/bin
        DOCDIR = /usr/share/doc/pgsql
        HTMLDIR = /usr/share/doc/pgsql
        INCLUDEDIR = /usr/include
        PKGINCLUDEDIR = /usr/include/pgsql
        INCLUDEDIR-SERVER = /usr/include/pgsql/server
        LIBDIR = /usr/lib64
        PKGLIBDIR = /usr/lib64/pgsql
        LOCALEDIR = /usr/share/locale
        MANDIR = /usr/share/man
        SHAREDIR = /usr/share/pgsql
        SYSCONFDIR = /etc/pgsql
        PGXS = /usr/lib64/pgsql/pgxs/src/makefiles/pgxs.mk
        <http://pgxs.mk>
        CONFIGURE =  '--build=x86_64-redhat-linux-gnu'
        '--host=x86_64-redhat-linux-gnu' '--program-prefix='
        '--disable-dependency-tracking' '--prefix=/usr'
        '--exec-prefix=/usr' '--bindir=/usr/bin'
        '--sbindir=/usr/sbin' '--sysconfdir=/etc'
        '--datadir=/usr/share' '--includedir=/usr/include'
        '--libdir=/usr/lib64' '--libexecdir=/usr/libexec'
        '--localstatedir=/var' '--sharedstatedir=/var/lib'
        '--mandir=/usr/share/man' '--infodir=/usr/share/info'
        '--disable-rpath' '--with-openssl' '--with-gssapi'
        '--with-includes=/usr/include' '--with-libraries=/usr/lib64'
        '--enable-nls' '--with-ldap' '--with-lz4' '--with-selinux'
        '--with-systemd' '--with-system-tzdata=/usr/share/zoneinfo'
        'build_alias=x86_64-redhat-linux-gnu'
        'host_alias=x86_64-redhat-linux-gnu' 'CC=gcc' 'CFLAGS=-O2
        -flto=auto -ffat-lto-objects -fexceptions -g
        -grecord-gcc-switches -pipe -Wall -Werror=format-security
        -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS
        -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
        -fstack-protector-strong
        -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64
        -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables
        -fstack-clash-protection -fcf-protection'
        'LDFLAGS=-Wl,--as-needed' 'CXX=g++' 'CXXFLAGS=-O2 -flto=auto
        -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe
        -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
        -Wp,-D_GLIBCXX_ASSERTIONS
        -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
        -fstack-protector-strong
        -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64
        -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables
        -fstack-clash-protection -fcf-protection'
        'PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig'
        'PYTHON=/usr/bin/python3'
        CC = gcc
        CPPFLAGS = -D_GNU_SOURCE -I/usr/include
        CFLAGS = -Wall -Wmissing-prototypes -Wpointer-arith
        -Wdeclaration-after-statement -Werror=vla -Wendif-labels
        -Wmissing-format-attribute -Wimplicit-fallthrough=3
        -Wcast-function-type -Wshadow=compatible-local
        -Wformat-security -fno-strict-aliasing -fwrapv
        -fexcess-precision=standard -Wno-format-truncation
        -Wno-stringop-truncation -O2 -flto=auto -ffat-lto-objects
        -fexceptions -g -grecord-gcc-switches -pipe -Wall
        -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
        -Wp,-D_GLIBCXX_ASSERTIONS
        -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
        -fstack-protector-strong
        -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64
        -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables
        -fstack-clash-protection -fcf-protection
        CFLAGS_SL = -fPIC
        LDFLAGS = -Wl,--as-needed -L/usr/lib64 -Wl,--as-needed
        LDFLAGS_EX =
        LDFLAGS_SL =
        LIBS = -lpgcommon -lpgport -lselinux -llz4 -lssl -lcrypto
        -lgssapi_krb5 -lz -lreadline -lm
        VERSION = PostgreSQL 17.0

        Regards,
        ayrus02


        On 18-11-2024 16:26, Khushboo Vashi wrote:


        On Mon, Nov 18, 2024 at 2:48 PM Surya Widyanto
        <ayru...@gmail.com> wrote:

            Hi,

            Below are the output of *dnf list libpq5** on my
            AlmaLinux 8 (x64) machine:

            Last metadata expiration check: 3:28:40 ago on Mon 18
            Nov 2024 12:43:19 PM WIB.
            Installed Packages
            libpq5.x86_64 - 17.0-43PGDG.rhel8 - @pgAdmin4
            Available Packages
            libpq5-devel.x86_64 - 17.0-43PGDG.rhel8 - pgAdmin4
            libpq5-devel.x86_64 - 17.0-43PGDG.rhel8 - pgdg-common

        This looks fine.
        What's the output of pg_config ?

            And below are the output of *dnf list libpq5** on my
            AlmaLinux 9 (x64) machine:

            Last metadata expiration check: 0:38:20 ago on Sen 18
            Nov 2024 03:33:43 .
            Installed Packages
            libpq5.x86_64 - 17.0-43PGDG.rhel9 - @pgdg-common
            Available Packages
            libpq5-devel.x86_64 - 17.0-43PGDG.rhel9 - pgAdmin4
            libpq5-devel.x86_64 - 17.0-43PGDG.rhel9 - pgdg-common

            Regards,
            ayrus02

            On 18-11-2024 16:06, Khushboo Vashi wrote:


            On Mon, Nov 18, 2024 at 1:13 PM Surya Widyanto
            <ayru...@gmail.com> wrote:

                Hi,

                I've upgraded the libpq5 to version 17.0-43PGDG.rhel8
                I've also restart the apache server.


            What's the output of `yum list libpq5*` ?


                But the problem still exist. With the same error in
                log file.

                I've also can confirm that this also happened on my
                other server running AlmaLinux 9 (x64).
                My other server also has libpq5 with version
                17.0-43PGDG.rhel9 and also running as Web Mode via
                Apache.

                Regards,
                ayrus02

                On 18-11-2024 14:21, Khushboo Vashi wrote:
                Hi,

                On Mon, Nov 18, 2024 at 12:24 PM Surya Widyanto
                <ayru...@gmail.com> wrote:

                    Hi Vashi,

                    Yes, I can confirm it is installed with version:
                    libpq5.x86_64 - v16.3-43PGDG.rhel8


                During the pgAdmin upgrade on your system, the
                libpq5 should have been upgraded to the latest
                (v17), which didn't happen in your case.
                Can you please upgrade libpq5 to the latest
                version? It should fix this issue.

                Thanks,
                Khushboo


                    Regards,
                    ayrus02

                    On 18-11-2024 13:48, Khushboo Vashi wrote:
                    Is libpq5 installed on your system?

                    On Mon, Nov 18, 2024 at 12:11 PM Surya
                    Widyanto <ayru...@gmail.com> wrote:

                        Hi,

                        Today, I've upgraded my pgAdmin4 version
                        from v8.12 to v8.13 using dnf on AlmaLinux 8.

                        My pgAdmin4 is installed as web mode and
                        accessed via Apache.

                        After upgrading to v8.13, when I access
                        the pgAdmin4 address from web browser, it
                        give an error 500. When I look at the
                        error log, it contains the line below:

                        mod_wsgi (pid=3535715): Failed to exec
                        Python script file
                        '/usr/pgadmin4/web/pgAdmin4.wsgi'.
                        mod_wsgi (pid=3535715): Exception
                        occurred processing WSGI script
                        '/usr/pgadmin4/web/pgAdmin4.wsgi'.
                        Traceback (most recent call last):
                        ImportError: no pq wrapper available.
                        Attempts made:
                        - couldn't import psycopg 'c'
                        implementation:
                        
/usr/pgadmin4/venv/lib64/python3.9/site-packages/psycopg_c/pq.cpython-39-x86_64-linux-gnu.so
                        <http://pq.cpython-39-x86_64-linux-gnu.so>:
                        undefined symbol: PQchangePassword
                        - couldn't import psycopg 'binary'
                        implementation: No module named
                        'psycopg_binary'
                        - couldn't import psycopg 'python'
                        implementation:

                        The primary concern is at *undefined
                        symbol: PQchangePassword*

                        Is there any bug or I have do the update
                        wrongly?*
                        *

                        Regards,
                        ayrus02*
                        *






Reply via email to