Postgres:Changing Data Directory: Difference between revisions

From Earlham CS Department
Jump to navigation Jump to search
Created page with "1. Shut down PostgreSQL :/usr/<postgres folder>/bin/pg_ctl stop -D /var/lib/pgsql/<version>/main/data ::Example: /usr/pgsql-9.1/bin/pg_ctl stop -D var/lib/pgsql/9.1/main/data..."
 
No edit summary
Line 1: Line 1:
1. Shut down PostgreSQL
1. Shut down PostgreSQL
:/usr/<postgres folder>/bin/pg_ctl stop -D /var/lib/pgsql/<version>/main/data
:/usr/<postgres folder>/bin/pg_ctl stop -D /var/lib/pgsql/<version>/main/data
::Example: /usr/pgsql-9.1/bin/pg_ctl stop -D var/lib/pgsql/9.1/main/data
::Example: /usr/pgsql-9.1/bin/pg_ctl stop -D /var/lib/pgsql/9.1/main/data
2. Make sure that PostgreSQL has been shut down successfully
2. Make sure that PostgreSQL has been shut down successfully
:/usr/<postgres folder>/bin/pg_ctl status -D /var/lib/postgresql/<version>/main/data
:/usr/<postgres folder>/bin/pg_ctl status -D /var/lib/postgresql/<version>/main/data
Line 10: Line 10:
:sudo chown -R <ownername>:<groupname> <foldername>
:sudo chown -R <ownername>:<groupname> <foldername>
5. Restart PostgreSQL
5. Restart PostgreSQL
:/usr/<postgres folder>/bin/pg_ctl start -D <new path>
:/usr/<postgres folder>/bin/pg_ctl start -D new/path/to/data
:/usr/<postgres folder>/bin/pg_ctl status -D <new path>
:/usr/<postgres folder>/bin/pg_ctl status -D new/path/to/data

Revision as of 17:29, 24 May 2019

1. Shut down PostgreSQL

/usr/<postgres folder>/bin/pg_ctl stop -D /var/lib/pgsql/<version>/main/data
Example: /usr/pgsql-9.1/bin/pg_ctl stop -D /var/lib/pgsql/9.1/main/data

2. Make sure that PostgreSQL has been shut down successfully

/usr/<postgres folder>/bin/pg_ctl status -D /var/lib/postgresql/<version>/main/data

3. Find the PostgreSQL config file and edit it (usually in /etc/postgresql, but it might be in /var)

nano /etc/postgresql/<version>/main/postgresql.conf
change the data_directory, pg_hba, and pg_ident lines to the new paths

4. Change ownership of the new directory and subdirectories to make sure postgres user has access to those

sudo chown -R <ownername>:<groupname> <foldername>

5. Restart PostgreSQL

/usr/<postgres folder>/bin/pg_ctl start -D new/path/to/data
/usr/<postgres folder>/bin/pg_ctl status -D new/path/to/data