12.07.2015 Views

Февраль

Февраль

Февраль

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ХАКЕР.PROmysql_install_db: читаем все внимательноphpMyAdmin: все, что нужно для комфортной работы, — браузери кусочек Апачасервер. Но перед началом работы хорошо быпосмотреть, а что же у нас творится в настройках.Конфигурация PostgreSQL запрятанав каталоге хранилища, которое создаетсяво время инициализации. В нашем случаеэто будут файлы postg resql.conf,pg_hba.conf и pg_ident.conf в каталоге/var/db/pgsql/data. В первом из нихсосредоточены основные опции, управляющиеработой сервера. По умолчанию ониработают достаточно хорошо, но в случаепроблем с производительностью имеет смыслпопробовать их подкрутить под конкретныеусловия. Оставшиеся два файла отвечают задоступ к серверу. Они снабжены предельноподробными комментариями, так что разобратьсяс ними не составит труда. Кстати, предупреждениео trust-аутентификации, полученноепри инициализации базы, связано соследующими строками в pg_hba.conf:# "local" is for Unix domain socketconnections onlylocal all all trust# IPv4 local connections:host all all 127.0.0.1/32 trust# IPv6 local connections:host all all ::1/128 trustОни означают, что любой локальныйпользователь, подключающийся к любойбазе, сможет соединяться с сервером безуказания пароля. В некоторых дистрибутивахвместо второго all (означающего «всепользователи») ставят более жесткое ограничение— sameuser, при котором пользовательможет подключиться к базе только в томслучае, если его имя в PostgreSQL совпадаетс системным именем. Если тебе нужен доступк БД «снаружи», добавь соответствующиестроки. Например, так можно разрешитьдоступ к серверу всем пользователям к базеcommon из указанной подсети с аутентификациейчерез PAM или LDAP (поддержка соответствующихтипов аутентификации должнабыть добавлена на этапе компиляции):host commonall 10.0.0.0/8 pam,ldapОтрегулировав права, можно подключатьсяк базе template1 (она создается при инициализациии служит шаблоном для всех создаваемыхвпоследствии баз, если явно не указанабаза-«родитель»):$ bin/psql -U postgres template1template1=# create user test;CREATE ROLEtemplate1=# create database testowner test;CREATE DATABASEtemplate1=# \c test testYou are now connected to database«test» as user «test».test=> create table test (fnumnumeric, fstr varchar);CREATE TABLEtest=> \qЗдесь мы создали пользователя test и одноименнуюбазу для экспериментов. Раз всеполучилось, значит, установка прошла безэксцессов.Кое-что про функциональностьК сожалению, рамки этой статьи не позволяютподробно остановиться на работес базами, но это, как говорится, уже делотехники. Пару слов скажу о возможностях,которые предоставляют эти СУБД.Начиная с версии 5.0, функциональныевозможности MySQL существеннорасширились: появилась поддержкатриггеров, хранимых процедур, представлений(view), курсоров. Поддержканескольких типов таблиц позволяет гибколавировать между надежностью и скоростью.В общем, MySQL сейчас вплотнуюприближается по своим возможностямк таким «монстрам», как Oracle, DB2 иMS SQL, хотя на данном этапе ей пока недостаетзрелости.А что же PostgreSQL? Все перечисленные вышефункциональные возможности в ней былидавно, и их можно считать вполне зрелымии проверенными временем. Огромнымплюсом, на мой взгляд, является возможностьиспользования различных языков для разработки«серверной логики».К тому же PostgreSQL всегда славилась своейподдержкой стандартов — в отличие отдругих СУБД, включая MySQL, в PostgreSQLстандарты SQL-92 и SQL-99 поддерживаютсянаиболее полно и последовательно, в последнихверсиях появилась частичнаяподдержка SQL-2003. Хотя, как показываетпрактика, стандарты, к сожалению, не пользуютсядолжной популярностью.О производительности говорить не буду, посколькуэтот вопрос требует проведения серьезногоисследования и, по возможности, наразличном железе. Небольшие тесты, которыея проводил «на коленке», не продемонстрировалиявного преимущества MySQL, дажес таблицами MyISAM, и если веритьсторонним исследованиям, PostgreSQLгораздо лучше держит нагрузку, в то времякак MySQL проваливается при большом числеодновременных запросов (смотри tweakers.net/reviews/657/2).ИтогиИтак, получается, что MySQL и PostgreSQLсейчас довольно близки функционально, хотя M y S Q L п о - п р е ж н е м у в р о л идогоняющего. То, что одна сложнее другойв установке или в работе, тоже не скажешь,— это, скорее, дело привычки и личныхпредпочтений. Скорость работы — вопросс ложный, и отв ет на него з ависитот целого ряда условий (режим использования,железо, размеры и структура базы и т.д.).Выбирать, конечно, тебе, но советую обратитьвнимание на PostgreSQL, если ты еще с нейне работаешь. Она того заслуживает. zxàêåð 02 /98/ 07/157

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!