PostgreSQL перенос БД на другой диск

MySQL/PostgreSQL/SQLite/Oracle/M$SQL/....

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
kharkov_max
капитан
Сообщения: 1790
Зарегистрирован: 2008-10-03 14:56:40

PostgreSQL перенос БД на другой диск

Непрочитанное сообщение kharkov_max » 2014-07-29 8:19:50

День добрый.

Имеется мониторинг zabbix, БД postgresql разрослась до больших размеров.
Собственно механизмами zabbix Housekeeper и postgresql vacuumdb база была уменьшена, установлены меньшие периоды храниния данных и т.д. и т.п
http://www.umgum.com/zabbix-housekeeper ... sql-vacuum

Но вот остался вопрос.
Возможно ли на postgreSQL не перенося все БД перенести только одну БД postgresql на другой диск?
Т.е. подключаем дополнительный диск и "как то" переносим на него только 1 базу, не меняя месторасположения других БД postgresql.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

mak_v_
проходил мимо

Re: PostgreSQL перенос БД на другой диск

Непрочитанное сообщение mak_v_ » 2014-07-31 12:22:39

А в чем собственно проблема?
Деатач базы, перенос файла БД, атач базы. вуаля.

PYO
сержант
Сообщения: 181
Зарегистрирован: 2011-08-18 12:46:45

Re: PostgreSQL перенос БД на другой диск

Непрочитанное сообщение PYO » 2014-08-02 18:36:37

Нет. Вариант:
- создать на другом диске кластер бд
- перенести туда базу заббикс
- запустить второй постгрес, естественно используя другой порт тцп.

mak_v_
проходил мимо

Re: PostgreSQL перенос БД на другой диск

Непрочитанное сообщение mak_v_ » 2014-08-02 21:50:32

ну если ТСу нужно "онлайн" - реплика RO решит

PYO
сержант
Сообщения: 181
Зарегистрирован: 2011-08-18 12:46:45

Re: PostgreSQL перенос БД на другой диск

Непрочитанное сообщение PYO » 2014-08-02 22:02:42

Да, бардак на Украине.

BlitzKrieg
ст. прапорщик
Сообщения: 538
Зарегистрирован: 2008-03-13 12:02:59

Re: PostgreSQL перенос БД на другой диск

Непрочитанное сообщение BlitzKrieg » 2014-12-19 21:55:30

kharkov_max писал(а):День добрый.

Имеется мониторинг zabbix, БД postgresql разрослась до больших размеров.
Собственно механизмами zabbix Housekeeper и postgresql vacuumdb база была уменьшена, установлены меньшие периоды храниния данных и т.д. и т.п
http://www.umgum.com/zabbix-housekeeper ... sql-vacuum

Но вот остался вопрос.
Возможно ли на postgreSQL не перенося все БД перенести только одну БД postgresql на другой диск?
Т.е. подключаем дополнительный диск и "как то" переносим на него только 1 базу, не меняя месторасположения других БД postgresql.
Помнится что vacuum просто помечает мусор как свободное место, а есть там еще vacuum analyze или типа того. При выполнении лочит базу, бикерфул. Это 9.3 так.

FiL
ст. лейтенант
Сообщения: 1364
Зарегистрирован: 2010-02-05 0:21:40

Re: PostgreSQL перенос БД на другой диск

Непрочитанное сообщение FiL » 2014-12-19 22:19:27

kharkov_max писал(а):День добрый.

Имеется мониторинг zabbix, БД postgresql разрослась до больших размеров.
Собственно механизмами zabbix Housekeeper и postgresql vacuumdb база была уменьшена, установлены меньшие периоды храниния данных и т.д. и т.п
http://www.umgum.com/zabbix-housekeeper ... sql-vacuum

Но вот остался вопрос.
Возможно ли на postgreSQL не перенося все БД перенести только одну БД postgresql на другой диск?
Т.е. подключаем дополнительный диск и "как то" переносим на него только 1 базу, не меняя месторасположения других БД postgresql.
Если вкратце, то

Код: Выделить всё

CREATE TABLESPACE 'new_tablespace' LOCATION 'directory'
ALTER DATABASE 'database_name' SET default_tablespace = 'new_tablespace';
A дальше для всех таблиц из этой базы

Код: Выделить всё

ALTER TABLE "table_name" SET TABLESPACE "new_tablespace";
ALTER INDEX "index_name" SET TABLESPACE "new_tablespace";
Получить список всех таблиц можно из pg_tables where schemaname='database_name'

Примерно так...