Ok, first, I can't find log data (no pg_log, only got pg_clog and pg_xlog), even in Console.app, I have a section called PostgreSQL but no entry in it. The error message, from QGIS "Create new PostGIS connection" dialog box (translated) is "Connection failed - Setup connection and retry" or something like that. When I save the connection ignoring error, and click connect in "Add PostGIS Layer" I have "Unable to open the service Postgres / PostGIS".
–
elbaidNov 1 '12 at 13:39

2 Answers
2

You should verify that you can connect using psql. Try psql -U username -h localhost dbname. It should prompt for a password then connect. Run SELECT postgis_version(); to verify that PostGIS is active in the database.

If you can connect but SELECT postgis_version() reports an error, PostGIS isn't installed in the database:

ERROR: function postgis_version() does not exist
LINE 1: SELECT postgis_version();

Other solution:

SELECT * FROM Postgis_lib_version();

If you want also to see the version of PostGIS and the version number of the libraries GEOS and Proj4 just change lib to Full.

If you get the above error, then presuming you're running PostGIS 2.0 on PostgreSQL 9.1 or above, connect as user postgres and run CREATE EXTENSION postgis;. Eg:

psql -U postgres -h localhost dbname -c 'CREATE EXTENSION postgis;'

You might also need to install some of the extras, like the PostGIS topology support:

CREATE EXTENSION postgis_topology;

or the legacy support script, which isn't packaged as an extension and must be sourced: