Make sure Calendar Server is switched OFF for this whole procedure....
sudo serveradmin stop calendar
To backup your existing calendar database...
/Applications/Server.app/Contents/ServerRoot/usr/bin/pg_dump -h /var/run/caldavd/PostgresSocket/ -U caldav caldav -c -f ~/Desktop/caldav.sql
To restore it, you may first want to drop the existing database...
sudo dropdb -h /var/run/caldavd/PostgresSocket -U caldav caldav
then create a new one...
sudo createdb -h /var/run/caldavd/PostgresSocket -U caldav caldav
Then import the backup you made at the start....
sudo cat caldav.sql | sudo psql -h /var/run/caldavd/PostgresSocket -U caldav caldav
Now you can start the service again...
sudo serveradmin start calendar
NOTE: If you receive an error using DROPDB about the database being accessed by other users, try this..
Manually connect to psql...
sudo psql -h /var/run/caldavd/PostgresSocket -U caldav caldav
Find and kick all active connections..
SELECT
pg_terminate_backend (pg_stat_activity.pid)
FROM
pg_stat_activity
WHERE
pg_stat_activity.datname = 'target_database';
Quit PSQL...
\q
Then try the dropdb again...
sudo dropdb -h /var/run/caldavd/PostgresSocket -U caldav caldav
No comments:
Post a Comment