так чего мне бояться?
Не имея резервных копий. Как и любое устройство хранения, оно может умереть. Храните резервные копии.
Если загрузка данных займет много времени, я бы сделал резервную копию базы данных, доступной только для чтения, как только выполню загрузку данных, остановив ее и скопировав. Таким образом, если что-то пойдет не так, будет проще создать заново позже.
Можно ли поставить всю БД на SSD или только индексы?
Если это подходит, храните всю БД.
Если этого не произойдет, поместите табличное пространство на SSD и используйте его для хранения индексов и столько таблиц с большим количеством запросов, сколько потребуется.
Есть ли какой-то конкретный совет / учебное пособие, необходимое для настройки PostgreSQL для твердотельных накопителей?
Большинство преимуществ SSD для загрузки записи OLTP. Основным преимуществом для загрузок только для чтения является быстрый поиск, и slardiere покрыл это.
Возможно, вы захотите установить effective_io_concurrency = 5
или что-то в этом роде, чтобы отразить тот факт, что твердотельные накопители могут выполнять быстрые, сильно конвейерные случайные операции чтения ... но это влияет только на сканирование растровых индексов, и на практике это random_page_cost
уже включено.
Для нагрузки только для чтения это не имеет большого значения.
Для начальной загрузки данных см .:
Обратите внимание, что у меня есть хорошая рабочая станция с i7 и 32 ГБ оперативной памяти, так что, возможно, вы тоже можете дать несколько советов.
Установите большой maintenance_work_mem
для загрузки данных. Я бы использовал по крайней мере 8GB
.
Установите большой work_mem
для запрашивающей работы. Подходящий размер зависит от сложности запроса. Начните с 500MB
и поднимитесь оттуда.
Увеличьте ваш checkpoint_segments
(массово) для начальной загрузки данных.
Не забудьте отключить VM overcommit! (см. руководство по PostgreSQL: http://www.postgresql.org/docs/current/static/kernel-resources.html ).