Error while installing PostGIS on RHEL_5? - postgresql

I am trying to install PostGIS on a RHEL_5 system and failing at it miserably. The way I am trying to install it is as follows. I copy over all the artifacts of postgresql server as in the bin, lib, share directories of postgresql server in a directory called pgql and I place it in the root directory i.e /pgsql is the directory which contains things like pg_config and all the other libs and bins that one gets by installing postgresql using the standard installation. All the dependencies of PostGIS get installed successfully using the standard build process of ./configure --prefix=/pgsql, make and make install but when I issue the following command for building PostGIS using the same process:
./configure --with-gdalconfig=/pgsql/bin/gdal-config --with-geosconfig=/pgsql/bin/geos-config --with-projdir=/pgsql --with-jsondir=/pgsql --with-pgconfig=/pgsql/bin/pg_config
I get the following error in the configure step :
checking PostgreSQL version... PostgreSQL 9.6
checking libpq-fe.h usability... no
checking libpq-fe.h presence... no
checking for libpq-fe.h... no
configure: error: could not find libpq-fe.h"
to remedy this error I tried placing the include files in the include directory of postgresql by find the appropriate path using
/pgsql/bin/pg_config --includedir
and then when I try to install PostGIS, it still fails. Can anyone suggest some workaround to build PostGIS using this non-standard approach of building PostGIS?
Edit: When I try to add all the include files which includes the libpq-fe.h and libpq headers as well along with other header I get the following error when configuring PostGIS
checking for PQserverVersion in -lpq... no
configure: error: could not find libpq

You need libpq.so in /pgsql/bin/pg_config --libdir.
If that file is there, check if all its dependencies are present:
ldd /pgsql/lib/libpq.so
Generally speaking, you are using a highly unorthodox and problematic way of building PostGIS.
Get a development machine that has the same Linux distribution and version as the target system and install PostgreSQL in the normal way. Then all your problems will probably vanish.

Related

PostgreSQL 11 and Oracle foreign data wrapper

I have a problem with installing the Oracle foreign data wrapper for PostgreSQL_11 on CENTOS 8.
I have no connection to internet, so I copied all necessary files by SSH, I have installed PostgreSQL 11 and Oracle client, and finally need to install Oracle FWD (oracle_fwd-master.zip). Initially I unzipped and then by instruction below:
ORACLE FDW INSTALLATION:
root#user-laptop:~# cd /opt/oracle_fdw/
root#user-laptop:/opt/oracle_fdw# make
root#user-laptop:/opt/oracle_fdw# make install
but I got below issue
[root#oracle_fdw-master]# make
make: pg_config: Command not found
make: *** No targets. Stop.**
Please help how it can be resolved?
First, never run make as user root. It will work, but is an unnecessary danger. That is why mak mand make install are two different steps: the latter typically has to be run by root.
Anyway, your problem is that you either didn't install the postgresql11-devel package, or /usr/pgsql-11/bin is not on your PATH.
Verify that the headers and pg_config are installed, and try
PATH=/usr/pgsql-11/bin:$PATH make

postgres-decoderbufs-master -- centos7

I am trying to CDC by debezium protobuf of postgres 9.6 and as per instruction i have downloaded source from git and trying to make then it have some problem and try to find out the solution on satckoverflow and other sites also then for ubuntu os many solution are available but for centosh 7 no solution found
The following error is coming when i fired make command
/usr/pgsql-9.6/lib/pgxs/src/makefiles/pgxs.mk:62: /usr/pgsql-9.6/lib/pgxs/src/makefiles/../../src/Makefile.global: No such file or directory
Package libprotobuf-c was not found in the pkg-config search path.
Perhaps you should add the directory containing `libprotobuf-c.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libprotobuf-c' found
/usr/pgsql-9.6/lib/pgxs/src/makefiles/pgxs.mk:105: /src/Makefile.shlib: No such file or directory
make: *** No rule to make target `/src/Makefile.shlib'. Stop.
if any help it will very useful for my project.
You need a protobuf-c-devel package installed. Also there is a problem with version. Check if your system has the correct version otherwise you'd need to install it from 3rd part RPM repository - https://groups.google.com/forum/?fromgroups=#!msg/debezium/v0s3tacOXeA/gVrdQAR2AgAJ;context-place=forum/debezium

Freeradius 3.0.11 Postgresql

I'm trying to configure freeradius 3.0.11 with postgresql but I'm having an issue with the driver listed in the sql file inside of 'mods-enabled.' The driver I am listing is 'rlm_sql_postgresql.'
When I run 'radiusd -X' I get the error:
Could not link driver rlm_sql_postgresql: dlopen(/usr/local/Cellar/freeradius-
server/3.0.11/lib/rlm_sql_postgresql.dylib, 6): image not found
Make sure it (and all its dependent libraries!) are in the search path of your system's ld
/usr/local/Cellar/freeradius-server/3.0.11/etc/raddb/mods-enabled/sql[20]: Instantiation failed for module "sql"
When I look in the folder 3.0.11/lib there is indeed no such file called rlm_sql_postgresql.dylib.
Any ideas on this? Should I be generating this file somehow?
It means when configure was run for freeradius, it didn't pick up libpq.
Apparently brew install postgresql will pull down libpq and its development headers.
Remove freeradius, install postgresql, install freeradius with brew install --build-from-source freeradius-server
It should (unless the homebrew people have gone out of their way to break things), install the postgresql driver.

Installing mongo_fdw

I am trying to install mongo_fdw on Ubuntu but I am getting some compilation errors. I have installed mongodb, postgresql 9.1, postgresql-server-dev and libpq-dev using apt-get.
I have updated the $PATH as instructed, cd to the directory with the mongo_fdw sources and typed make.
The code starts compiling but then I get errors (some objects and methods aren't found). What am I missing?
It's possible that the extension you're using expects the 9.2 version of the foreign data wrapper API, which has read/write support. Without details like exact errors it's impossible to say for sure.

Where do I get libpq source?

I want to write application which uses Postgresql as DBMS.
To write client application do I need libpq library and header files?
If yes where I would get libpq library and header files.
Libpq is included in the full PostgreSQL source code. You can use just libpq without the rest of PostgreSQL, but must download the full package.
You can download it from the PostgreSQL Downloads page.
Once you extract the full package it is inside src\interfaces\libpq.
The PostgreSQL installation guide details how to install only the client libraries in the Installation section, under Client-only installation.
Libpq documentation is also available.
In postgresql sources, src\interfaces\libpq.
And yes, it is possible to compile only the libpq.
get the lipq from repo, {for debian} :
sudo apt-get install libpq-dev
I was also facing this issue but didn't got a clear answer:
This issue clearly states that while installing diesel-cli system is not able to locate libpq.lib
First of all you should have a Postgres installed on your machine.
Also diesel require visual c++, thus download and install it if not already, the size of setup will be ~5gb.
Once above installations are done you need to setup environment variables:
In my case path of Postgres installation is C:\Program Files\PostgreSQL thus add 2 environment variable path under User variables add new in Path where your libpq.lib is located in my case it is available in both C:\Program Files\PostgreSQL\12\lib and C:\Program Files\PostgreSQL\12\bin
Once this is added create one more environment variable PQ_LIB_DIR and set path as shown below
Note: Once done re-trigger the installation command in a new cmd window
Source: pq-sys and github-solution
For Windows users, it's in (version may be different)
C:\Program Files\PostgreSQL\11\lib
There you find libpq.lib. Provide this directory to Linker input.
Don't forget to include C:\Program Files\PostgreSQL\11\include directory for include directories.
I fix this problem reccently. This is a solution if you don't want to install Postgres in you windows.
At first, you need download Postgres Binaries. The version I download is 13.6, but it's seems like any version is fine.
Unzip the zip file.Copy libpq.lib from pgsql\lib to shomewhere like C:\Program Files\Postgres\lib.
Execute the following command in cmd window.
setx PQ_LIB_DIR "{where_you_copy_to}"
Open a new cmd windows and install diesel_cli
cargo install diesel_cli --no-default-features --features postgres
In linux vertify you get the libpq.
1st, there is an app: pg_config: https://www.postgresql.org/docs/current/app-pgconfig.html
after you found out the pg_config absolute bin path.(if you installed multi version of postgressql) Then You can get
--includedir
Print the location of C header files of the client interfaces.
--libdir
Print the location of object code libraries.
Then try to compile/build some example code: https://www.postgresql.org/docs/current/libpq-example.html
Some common failure example: https://www.postgresql.org/docs/current/libpq-build.html
You can install Postgres locally from https://www.enterprisedb.com/downloads/postgres-postgresql-downloads but select only "Command line tools" for install.
After that, you can found libpq.dll in C:\Program Files\PostgreSQL\15\bin