HiveBrain v1.2.0
Get Started
← Back to all entries
debugsqlMinor

PostgreSQL cannot start after replacing contents inside its Data folder

Submitted by: @import:stackexchange-dba··
0
Viewed 0 times
postgresqlaftercannotcontentsitsreplacingfolderstartdatainside

Problem

When recovering the Postgresql database from a hacked Ubuntu 12.04 server, I copied the data directory to another location, reinstalled the OS and PostgreSQL, stopped PostgreSQL service, removed the contents in the data directory and copied back the contents from the previous installation.

Problem: PostgreSQL will not start now, showing the errors below. Why is this happening, and how can we fix the problem?

service postgresql restart
* Restarting PostgreSQL 9.1 database server


* Error: could not exec /usr/lib/postgresql/9.1/bin/pg_ctl /usr/lib/postgresql/9.1/bin/pg_ctl start -D /var/lib/postgresql/9.1/main -l /var/log/postgresql/postgresql-9.1-main.log -s -o -c config_file="/etc/postgresql/9.1/main/postgresql.conf" :

Update

Restarting PostgreSQL service now gives the error:

* Restarting PostgreSQL 9.1 database server                                     
* The PostgreSQL server failed to start. Please check the log output:
2013-04-16 01:52:10 EDT PANIC:  could not open control file "global/pg_control": Permission denied

Solution

I ran into the same problem. To clarify what Nyxynyx hints towards in his comment, the resolution was to give permissions to access the db cluster dir (the path that follows -D in the error):

chown -R postgres:postgres /var/lib/postgresql/9.1/main

Code Snippets

chown -R postgres:postgres /var/lib/postgresql/9.1/main

Context

StackExchange Database Administrators Q#40081, answer score: 7

Revisions (0)

No revisions yet.