Перенесення бази postgresql на інший диск, записки божевільного

Варіант «встановлювати postgresql в папку, де ми бажаємо зберігати бази», який, до речі, рекомендує співтовариство postgre, звичайно підходить, але що робити, коли база вже є?

Робимо так (природно, попередньо поразогнав користувачів і навіть «погасивши» сервер 1С, якщо необхідно):

  1. У pgAdmin III створюємо нове Tablespace, називаємо його, наприклад, ts1C. Овнером робимо ту роль postrge, з обліковими даними якої до postgre підключається наш сервер 1С. А ось в поле «Місцезнаходження» забиваємо шлях, по якому ми хочемо зберігати нашу базу. Природно, шлях повинен існувати, і системний користувач postgres повинен мати повні права на папку.
  2. У тому ж pgAdmin робимо бекап (резервну копію), що цікавить нас бази даних. Уважно запам'ятовуємо шлях, куди ми це зробили. Робимо бекап ще раз в іншу папку, і теж запам'ятовуємо куди саме (про всяк випадок).
  3. Опціонально - перевірити, відновлюється чи база з цього бекапа.
  4. У разі успішного виконання п.2 - видаляти базу в pgAdmin! (І не кажіть, що Ви не читали пункт 2).
  5. Створюємо в pgAdmin НОВУ базу, з точно таким-же ім'ям (уважно, такі кроки досить тривалі за часом, а перейменувати базу, на жаль, не можна) і власником! АЛЕ: в поле Tablespace вказуємо наше ts1C.
  6. Відновлюємо нашу резервну копію в новоствореного базу!
  7. Бачимо в вікні відновлення бази щось типу «Процес повернув код виходу 0.»
  8. PROFIT.