Difference between revisions of "Postgres:Changing Data Directory"

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...")
 
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 13: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