Hello all,
I'm doing a new install of Fedora 21 and migrating apps and services from my old Fedora 15 machine to it. I've run into the following problem...
I have Postgresql-9.3 installed from the Fedora 21 yum repo in order to satisfy any packages that need postgresql. But I need to run Postgresql-9.4 so I disabled the yum postgresql startup via systemd and installed the EDB version of 9.4 into /opt/postgresql [*].
To make the 9.4 one the "system" version, I did two things 1) Replaced the postgresql-9.3 executables in /bin/ with symlinks to their counterparts in /opt/postgresql/bin/. 2) Added a file to /etc/ld.so.d that adds /opt/postgresql/lib to the load library cache and ran ldconfig.
That seems to work well, I can run all the Postgresql tools and everything seems to work correctly, I get the expected 9.4 versions of the tools, etc. Except... 1) It breaks openldap. Apparently one of the libraries in /opt/postgresql/lib is also used by openldap and is not compatible. When trying to start the openldap server: slapd: symbol lookup error: slapcat: undefined symbol: ber_sockbuf_io_udp 2) Some programs still don't work. For example, a simple python cgi script using the psycopg2 module to talk to the database and run under Apache-2.4 that claims it can't find the postgresql socket "/tmp/.s.PGSQL.5432" even though the socket does exist: ~$ ls -l /tmp/.s.P* srwxrwxrwx 1 postgres postgres 0 Feb 15 15:10 /tmp/.s.PGSQL.5432= -rw------- 1 postgres postgres 46 Feb 15 15:10 /tmp/.s.PGSQL.5432.lock It runs fine interactively in a shell.
Any suggestions on how to fix the above two problems or general advice of replacing a yum-installed service with an outside one?
I don't want to run two separate (9.3 and 9.4) servers or to run the 9.4 server on a non-standard port, etc -- I really want anything that uses postgresql to talk to my 9.4 server by default.
---- [*] http://www.enterprisedb.com/products-services-training/pgdownload I know about the pgdg repository but that installs postgresql directly under /usr/ which I don't like, and support for it ends roughly when support for F21 ends and I want a solution that will still work even after F21's official EOL. I was able to use the EDB Postgresql 9.1, 9.2, 9.3 and 9.4 versions on F15 (shipped with 9.0) without any problems.