Install pdo for postgres Ubuntu

PostgresqlPdo

Postgresql Problem Overview


I am trying to enable the pdo driver for my php installation, but when I runn the command

./configure --prefix=/usr/local/webserver/php --with-apxs2=/usr/local/webserver/apache2/bin/apxs --enable-mbstring --enable-intl --with-icu-dir=/usr --with-pgsql=/usr/local/webserver/postgres --with-pdo-pgsql=/usr/local/webserver/postgres

I get

"Unable to build the PDO PostgreSQL driver: libpq 7.4+ is required"

I install postgresql in that directory

/usr/local/webserver/postgres

I installed postgresql 9.0.4.1 using the bin package and using php 5.3

Postgresql Solutions


Solution 1 - Postgresql

Pecl PDO package is now deprecated. By the way the debian package php5-pgsql now includes both the regular and the PDO driver, so just:

apt-get install php-pgsql

Apache also needs to be restarted before sites can use it:

sudo systemctl restart apache2

Solution 2 - Postgresql

Try the packaged pecl version instead (the advantage of the packaged installs is that they're easier to upgrade):

apt-get install php5-dev
pecl install pdo
pecl install pdo_pgsql

or, if you just need a driver for PHP, but that it doesn't have to be the PDO one:

apt-get install php5-pgsql

Otherwise, that message most likely means you need to install a more recent libpq package. You can check which version you have by running:

dpkg -s libpq-dev

Solution 3 - Postgresql

If you're using the wonderful ondrej/php ubuntu repository with php7.0:

sudo apt-get install php7.0-pgsql

For ondrej/php Ubuntu repository with php7.1:

sudo apt-get install php7.1-pgsql

Same repository, but for php5.6:

sudo apt-get install php5.6-pgsql

Concise and easy to remember. I love this repository.

Solution 4 - Postgresql

PDO driver for PostgreSQL is now included in the debian package php5-dev. The above steps using Pecl no longer works.

Solution 5 - Postgresql

If you are using PHP 5.6, the command is:

sudo apt-get install php5.6-pgsql

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionRichard PérezView Question on Stackoverflow
Solution 1 - PostgresqlAlexView Answer on Stackoverflow
Solution 2 - PostgresqlwildpeaksView Answer on Stackoverflow
Solution 3 - PostgresqlDylan PierceView Answer on Stackoverflow
Solution 4 - PostgresqlWillView Answer on Stackoverflow
Solution 5 - Postgresqljoan16vView Answer on Stackoverflow