Advertisement
Guest User

Untitled

a guest
Jan 17th, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 KB | None | 0 0
  1. #!/bin/bash -e
  2.  
  3. # Script to relocate postgres 9.5 data dir on Ubuntu 14.04 to a compressed ZFS volume (single disk, /dev/sdb, assumed to be blank)
  4.  
  5. # install ZFS and tools
  6. apt-get install software-properties-common rsync -y
  7. add-apt-repository ppa:zfs-native/stable
  8. apt-get update
  9. apt-get install ubuntu-zfs
  10. modprobe zfs
  11.  
  12. # create a compressed single disk ZFS volume mounted at /compressed
  13. zpool create compressed -m /compressed /dev/disk/by-id/$(ls -l /dev/disk/by-id | grep sdb | grep scsi- | grep -v part | awk -F ' ' '{print $9}') -O compression=lz4 -f
  14. # expands out to the equivalent of
  15. # ls -l /dev/disk/by-id
  16. # zpool create compressed -m /compressed /dev/disk/by-id/scsi-3600224808c8b9c03e89b155933a3c8fd -O compression=lz4 -f
  17.  
  18. # move the database
  19. service postgresql stop
  20. rsync -av /var/lib/postgresql /compressed
  21. mv /var/lib/postgresql/9.5/main /var/lib/postgresql/9.5/main.bak
  22.  
  23. # reconfigure postgres
  24. # set data_directory = '/compressed/postgresql/9.5/main'
  25. sed -i -e '/^data_directory =/s/^.*$/data_directory = '"'\/compressed\/postgresql\/9.5\/main'"'/' /etc/postgresql/9.5/main/postgresql.conf
  26.  
  27. # start postgres
  28. service postgresql start
  29.  
  30. # verify results
  31. # check that directory returned from the following command starts with "/compressed"
  32. sudo -u postgres psql -c "SHOW data_directory;"
  33.  
  34. # delete the backup
  35. rm -Rf /var/lib/postgresql/9.5/main.bak
  36.  
  37. # verify that postgres still works
  38. service postgresql restart
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement