Назад | Перейти на главную страницу

postgres на 64-битном Linux или 64-битном сервере Windows 2008?

Postgres не имеет 64-битного двоичного файла для сервера Windows

цитата «Поскольку обычно нет причин запускать с shared_buffers> 256 - 512 МБ в Windows, нет большого стимула прикладывать усилия, необходимые для 64-битного порта»

  1. почему вообще нет причин работать с большим количеством памяти в Windows?
  2. будет ли установка 64-битного Linux более эффективной? если да, то какой?

у этого сервера 8 ГБ памяти, и это число, вероятно, увеличится до 12 ГБ. мы намеревались выделить почти всю память для postgres. Для того, что я делаю, я могу с радостью обойтись без пользовательского интерфейса.

Работа над следующей версией ведется, и, скорее всего, PostgreSQL 8.5 будет работать как собственный 64-битный двоичный файл на Win64. Еще неизвестно, сколько сторонних компонентов будет работать (например, TCL и MIT Kerberos в настоящее время не предоставляют 64-разрядные версии для Windows), но основная база данных должна быть доступна.

Обратите внимание, что это действительно необходимо, только если вы хотите, чтобы общее количество work_mem или shared_buffers было очень большим. В большинстве случаев это не будет проблемой, но если вы, например, выполняете большие запросы в стиле хранилища данных, это может быть интересно даже при таком маленьком объеме памяти, как ваш сервер. Но в основном он разрабатывается для работы с большими системами памяти и совместимостью со сторонними библиотеками.

Тем не менее, PostgreSQL воля работать быстрее на платформе на базе Linux / Unix, поэтому, если у вас есть такая возможность, вы должны ее использовать. PostgreSQL был разработан для архитектуры Unix и сохраняет эту архитектуру в Windows (например, процессы, а не потоки), что там замедляет работу.

Что касается того, какой дистрибутив вы выберете, это не имеет значения с точки зрения PostgreSQL. Выберите то, что будет комфортно вашим администраторам или тем, с кем вы работаете.

О, и правильный URL-адрес сообщения в блоге, упомянутого в ответе Эндрюса, http://blog.hagander.net/archives/73-PostgreSQL-vs-64-bit-windows.html, и он содержит объяснение проблемы памяти в 32-битном PostgreSQL в 64-битной Windows.

http://swik.net/PostgreSQL/Planet+Postgresql/Magnus+Hagander:+PostgreSQL+vs+64-bit+windows

Postgres оставляет кеширование диска на усмотрение операционной системы, поэтому от 64-битной сборки в Windows будет мало пользы. Разработчики решили потратить время на что-то более продуктивное и менее болезненное.

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

Лично я бы по умолчанию использовал выделенный сервер базы данных в Linux. Однако вам придется сопоставить стоимость лицензии Windows с навыками администрирования; В моей среде все знают, как администрировать Linux-системы, тогда как вам, возможно, придется нанять кого-то для этого или научиться достаточно (не очень хорошая идея, если безопасность критична). Какой дистрибутив использовать, в основном зависит от того, с чем работают ваши администраторы; в моем случае это будет Ubuntu Server Edition.