Настройка postgresql на другом SSD

Я новичок в серверной части Ubuntu. Я устанавливаю сервер с установленной ОС Ubuntu 14.04 LTS. У меня есть два диска sata емкостью 1 ТБ и два диска sata емкостью 2 ТБ (для обоих настроен RAID 1). Я использую 1 ТБ для ОС и других вещей, но для своей базы данных я хочу использовать 2 ТБ диски.

Я установил postgresql на моем сервере, но я хочу, чтобы все данные базы данных хранились на 2 ТБ.

Так что мне нужна помощь в том, как это сделать. Я имею в виду, как установить home или data_directory моей базы данных postgresql, чтобы данные сохранялись непосредственно на 2 ТБ.

Буду признателен, если помощь будет предоставлена ​​начиная с точки монтирования.

Спасибо заранее

0
задан 31 August 2015 в 21:49

2 ответа

На самом деле это довольно просто. Все, что необходимо сделать, указывают путь при создании кластера баз данных. Это прибывает из postgresql документация . Команда для создания нового pg кластера является initdb и похожа на это:

initdb [option...] [--pgdata | -D] directory

Согласно документации, initdb создаст указанный каталог, если это не имеет никаких полномочий записать в целевое местоположение. Для сейфа, можно создать его как корень и затем изменить владение на пользователя системы пост-ГРЭС. В моей системе (используемый для разработки) я создал каталог под /home (на массиве raid1), который принадлежит postgres и работал initdb против того каталога.

cd /home sudo mkdir postgres sudo chown postgres:postgres postgres initdb [your db creation options here] --pgdata /home/postgres

Теперь можно запустить postgresql сервер, указывающий pgdata каталог. Например,

pg_ctl start -D /home/postgres

запустит экземпляр сервера, который делает использование Вашего указанного каталога. Если экземпляр сервера уже работает, можно хотеть заменить start restart. Это снизит рабочий сервер и запустит его с новых опций.

На ноте стороны, как Вы, возможно, уже предположили, возможно иметь несколько экземпляров сервера, работающего одновременно (на различных портах, конечно), каждый управляющий отдельным кластером (т.е. физический путь).

1
ответ дан 1 September 2015 в 07:49
  • 1
    Работал с телефона и didn' t замечают второй initrd.img. Спасибо за указание на это. – WinEunuuchs2Unix 22 November 2016 в 09:48

Я не уверен, где пост-ГРЭС хранит его данные, я думал бы /var/lib/postgresql/. Если Вы хотите использовать 2 ТБ исключительно для данных пост-ГРЭС, Вы могли бы сделать следующее: (У меня нет пост-ГРЭС рабочим банкоматом, проверьте пути и имена. Это работает на любой сервисный тип хотя, так также на пост-ГРЭС.)

  • пост-ГРЭС Остановки sudo service postgres stop
  • dir данных мВ: sudo mv /var/lib/postgresql /var/lib/postgresql.bak
  • sudo mkdir /var/lib/postgresql
  • создают файловую систему и монтируют новый диск к /var/lib/postgresql
  • владелец изменения и группа к пост-ГРЭС и изменяют права доступа (chown и chmod, можно проверить старые настройки от ls -la /var/lib/postgresql.bak)
  • Копия данные пост-ГРЭС назад: cp -ra /var/lib/postgresql.bak/. /var/lib/postgresql
  • пост-ГРЭС перезапуска: service postgres start
1
ответ дан 1 September 2015 в 07:49
  • 1
    Этот doesn' t окончательно отвечают на фактический вопрос того, почему значок Windows появляется для корня или почему он doesn' t появляются вообще для обычных пользователей. Ваша формулировка убедительно предполагает это you' предположение ре. Вы также упоминаете initrd.img.old вместо более вероятно (non-" old") initrd.img. В то время как имена файлов могут использоваться, чтобы более легко восстановить Вашу систему при помощи намного короче, легче, чтобы помнить имена файлов для исполняемого файла ядра (/vmlinuz) и начальный образ диска поршня (/initrd.img), they' ре также там так, чтобы программы могли легко получить доступ к в настоящее время выбираемому ядру по умолчанию и таранить образ диска. – Chai T. Rex 22 November 2016 в 08:51

Другие вопросы по тегам:

Похожие вопросы: