I'm trying to install PostgreSQL 9.1 on a Debian Squeeze server using Backports, but after installation I don't have the /etc/postgresql folder, instead I've got a /etc/postgresql-common folder.

Is there something I'm doing wrong? According to the Debian Wiki I should have a /etc/postgresql/9.1/ folder.

migrated from stackoverflow.com Sep 13 '12 at 8:19

This question came from our site for professional and enthusiast programmers.

  • Funny. I had this once, when I tried to aptitude install the postgres package, but removing and installing with apt-get did work. I'ts a package issue. Report the bug. – ansi_lumen Sep 12 '12 at 7:51
  • @ansi_lumen you may post that as answer not as comment. – kmindi Sep 12 '12 at 8:43
  • It probably means that the PG cluster initialization failed. See the result of pg_lsclusters. For a more informed answer, include the commands you type and the output result you get when installing the package. – Daniel Vérité Sep 12 '12 at 21:01
  • @DanielVérité I think pg_lsclusters is driven off /etc/postgresql unless there's something really non-vanilla about the install. – Philip Couling Sep 12 '12 at 22:34

I know this issue is quite old, but I just stumbled over the same Problem.

Just having a closer look on the output of apt-get install postgresql I noticed the output first states that something is wrong with my locale settings and in the end reports, the cluster could not be created:

Error: The locale requested by the environment is invalid.
Error: could not create default cluster. Please create it manually with

 pg_createcluster 9.1 main --start

or a similar command (see 'man pg_createcluster').

To finally solve the issue it helps to (re-)install the locales and reset the locale configuration. For me (using a debian 7.8 system) this was done by:

apt-get install locales


dpkg-reconfigure locales

if it was installed, yet.

Finally reinstall the whole postgresql server system. For me this was

apt-get --purge remove postgresql postgresql-9.1 postgresql-common
apt-get install postgresql postgresql-9.1 postgresql-common

I hope this will help someone in the future to figure it out faster than I did :-)

  • Apparently the ubuntu:14.04 Docker image decided to strip out the en_US.UTF-8 locale entirely (no longer shows up in locale -a), which eventually caused this weird issue for me (my exported variables to set the locale were just being ignored). So I had to add a step to my build process to do locale-gen en_US.UTF-8 to ensure its availability. – Abe Voelker Oct 26 '15 at 1:35

I don't mean to be patronizing here, but just create it.

Without an initialized cluster it really is just an empty directory. The most likely thing is that you don't have a cluster created (see what's in /var/lib/postgresql).

You can use (sudo) mkdir /etc/postgresql /etc/postgresql/9.1 to create the directory.

Then use (sudo) pg_createcluster 9.1 main to create your DB cluster (called main). Once created you will have a /etc/postgresql/9.1/main directory with the settings for that cluster.

Once you have your cluster use the (sudo) pg_ctrlcluster 9.1 main start to get the cluster up and running.


I had the same problem, and couldn't fix it by simply removing and re-installing. The problem was related to the fact that postgresql is a metapackage. The fix (as detailed here) was to purge everything using a wildcard:

apt-get --purge remove postgresql\*

and the re-installing.


Funny. I had this once, when I tried to aptitude install the postgres package, but removing, purging and installing with apt-get did work. I'ts a package issue. Report the bug.

dpkg -c /var/cache/apt/archives/[PACKAGE-NAME].deb shows what is in the package and supposed to get installed.

Otherwise you may have luck with some ubuntu packages. And in the end it's not hard to build and with checkinstall you can easyly create your own packages and delete the sources.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.