LINUX.ORG.RU

Исходники «Истории о PostgreSQL»

 , ,


0

0

С ноября 2006 по апрель 2007 в журнале Linux Format печатался цикл статей о свободной базе данных PostgreSQL. Основной целью цикла была популяризация PostgreSQL как надёжного и доступного хранилища информации.

Выкладываю исходники статей под лицензией CC-BY-SA. При необходимости по запросу сменю лицензию любую другую, но тоже свободную.

Если кому-нибудь этот текст окажется полезен при написании книг/статей, то буду признателен за информацию об этом. Если нужно, то могу выступить и в роли соавтора.

>>> Подробности

я плохо понял смысл такой лицензо-мании.. Лицензировать есть смысл то что возможно будет развиваться. Как правило, статьи не подпадают под эту нужду. Когда приходит время, то не правят старые статьи а пишут новые.

dilmah ★★★★★
()

Лицензия имеет решающее значение когда начинаешь использовать материалы из неё в каких-то целях. В Википедии с этим например большие проблемы. Так что свободные лицензии нужны везде.

anonymous
()
Ответ на: комментарий от Spinal

> Ещё один лисапед? Зачем он нужен? Ведь есть же уже MySQL!

Сантехник?

Werehuman ★★
()
Ответ на: комментарий от Spinal

Фига се сравнил! Где PostgreSQL, а где твой Мускуль? совсем другой уровень. Да и сравни годы появления.

anonymous
()
Ответ на: комментарий от dilmah

> не правят старые статьи а пишут новые

На основе старых =)

ip1981 ☆☆
()

Спасибо за статьи. Читаются легко.

Меня всегда отпугивала странная идея помещать файлы конфигурации в /var/lib а не в более привычный /etc. Почему то казалось что это признак того что разработчики - школьники. Статьи помогли осознать что PostgreSQL это очень круто, почти Oracle :) .

anonymous
()

Спасибо. Как раз курс БД в университете начался. Буду грузить препода свободными продуктами. А так у нас пиратский MS SQL...

Arceny ★★
()

Это не о чём не говорит, но корреляция, скорее всего, какая-то есть.

в pdf-ах сложно оставлять сообщения о замеченных опечатках. В примере правильно: 1) ни о чем и 2) вся фраза противоречит сама себе - какая-то корреляция и есть то, о чем говорит это.

anonymous
()

>Выкладываю исходники статей под лицензией CC-BY-SA.

Блин, а по-русски нельзя? Выкладываю этот камент под лицензией GPL.

anonymous
()
Ответ на: комментарий от Arceny

2 Arceny: Ты преподу скажи, что сабж сейчас активно юзает 1С (В Линукс формате за прошлый год была про это развернутая статья-интервью). Сразу поднимет уровень в глазах препода. Надо же учить тому, что сейчас реально юзают.

anonymous
()
Ответ на: комментарий от anonymous

> Меня всегда отпугивала странная идея помещать файлы конфигурации в /var/lib а не в более привычный /etc.

имхо в /etc должны лежать конфиги только системы. конфиги программ должны лежать в /usr/local/etc (Да и вообще программам место в /usr/local) Бздя рулит своей строгостью и четкостью. А Сабж детище того же универа...

anonymous
()
Ответ на: комментарий от anonymous

> (В Линукс формате за прошлый год была про это развернутая статья-интервью).

Если пройти по ссылке, указанной в топике, то можно найти там и эту статью :) Даже более развёрнутую чем была напечатана в Linux Format.

Evgueni ★★★★★
() автор топика
Ответ на: комментарий от anonymous

>>Выкладываю исходники статей под лицензией CC-BY-SA.

>Блин, а по-русски нельзя? Выкладываю этот камент под лицензией GPL.

Вы не знаете про CC лицензии? Прямым шагом в биореактор.

goletsa
()
Ответ на: комментарий от anonymous

>>Выкладываю исходники статей под лицензией CC-BY-SA.

>Блин, а по-русски нельзя?

На страничке внизу есть ссылка. Не на русском, собственно, как и официальный текст GPL. По простому CC-BY-SA - свободная, атрибутивная, требующая обязательного сохранения этой же лицензии для производных.

Evgueni ★★★★★
() автор топика
Ответ на: комментарий от anonymous

> 2 Arceny: Ты преподу скажи, что сабж сейчас активно юзает 1С (В Линукс формате за прошлый год была про это развернутая статья-интервью). Сразу поднимет уровень в глазах препода. Надо же учить тому, что сейчас реально юзают.

Уже обрабатываю его :-)

Arceny ★★
()
Ответ на: комментарий от anonymous

>имхо в /etc должны лежать конфиги только системы. конфиги программ должны лежать в /usr/local/etc (Да и вообще программам место в /usr/local) Бздя рулит своей строгостью и четкостью.

Это то все правильно, и софт нужно ставить в /usr/local. Но проблема с пакетными менеджерами в том, что при установке системы с их помощью обычно ставятся дополнительные пакеты. Вот цитата из LFS: "local Local hierarchy (empty after main installation)" То есть в /usr/local после установки ничего не должно быть. Ну и еще там сказано, что /usr/local не должно затрагиваться при обновлении системы. Проблема c GNU/Linux в том, что там системные программы(world в терминологии BSD), ядро(kernel) и пользовательские программы обновляются с помощью одного пакетного менеджера(ну или какого-нибудь portage). В мире BSD обновление системы делается с помощью cvsup,make buildworld, make buildkernel etc. То есть там не затрагивать /usr/local возможно. А в GNU/Linux объединение мира (GNU) и ядра(Linux) делается создателями дистрибутивов. Из-за этого такой бардак =( И вряд ли можно ожидать создания репозитория GNU/Linux, до тех пор пока Linux не является официальным ядром GNU. И наверное раньше выйдет GNU Hurd v1.0, чем Linux под GPLv2 only будет принят в проект GNU.

anonymous
()
Ответ на: комментарий от Arceny

> Уже обрабатываю его :-) Светую поставить PgAdmin, я в универе в нем лабы сдавал вместо ms database manager`а, практически такая же мощная вещь.

anonymous
()
Ответ на: комментарий от anonymous

>> Меня всегда отпугивала странная идея помещать файлы конфигурации в /var/lib а не в более привычный /etc.

>имхо в /etc должны лежать конфиги только системы. конфиги программ должны лежать в /usr/local/etc

Откуда дровишки? есть lsb/fhs, там все четко прописано. Зачем бардак из других систем???? Вон уже парни из сана подтягиваются, тоже будет fhs.

fi ★★★
()
Ответ на: комментарий от Spinal

>Ещё один лисапед? Зачем он нужен? Ведь есть же уже MySQL! выйди вон. сразу видать человек не писал проекта больше двух таблиц..

anonymous
()
Ответ на: комментарий от anonymous

интересно, а зачем на домашней технике, у которой один юзер, непременно срать в usr? чтобы лишний раз sudo набрать? у меня, например, всё, что не офпакет, в доме живёт. в специально выделеном каталоге. я ещё и программы распихиваю внутри него по разным каталогам, а в ~/bin — симлинки. удобно, и никакие апдейты этот софт не трогают. опять же: бэкапнул дом, потом вернул — и не надо вспоминать, куда поразложил кучу исходников программ не из офпакетов.

но, повторюсь, машина «однопользовательская».

mirage
()

Спасибо,скачал pdf, всё в одном месте, листать подшивку Linux Format тяжелее,imho.

anonymous
()
Ответ на: комментарий от anonymous

>Это то все правильно, и софт нужно ставить в /usr/local.

с какого перепугу?

/usr/local создан для программ, поставленых без помощи пакетного менеджера. То есть ручками make && make install

AVL2 ★★★★★
()
Ответ на: комментарий от anonymous

Листинги с package{listings} выглядят очень коряво. Или это только мне кажется?

Как всегда, респект Евгению. ;-)

anonymous
()
Ответ на: комментарий от AVL2

Чувак, майскул в топку. Я там не нашел триггеров -- раз. Два -- это апи. Ты видел? У мускула 60 функций из которых 20 депрекатед. У постгреса их всего двадцать. Так что код писать лучше под слона.

anonymous
()
Ответ на: комментарий от anonymous

>Чувак, майскул в топку. Я там не нашел триггеров -- раз.
Вообщето с 5ой версии и СП и Триггеры есть, но лучше бы их не было,
ибо сделаны для галочки (смотрите, теперь и у нас есть). Реально
они абсолютно не практичны: Отменить операцию они не могут (механизма
сообшения об ошибке нет (RAISE EXCEPTION) - обещали в 5.2). Для создания триггера надо быть супер пользователем, чего на не своём хостинге вам никто не даст, а учитывая, что как раз доступность хостинга под PHP с MySQL и даёт основную долю популярности, то полезность триггеров падает почти до нуля. СП не могут вернуть свою структуру, только селект из уже существующей таблицы. ( SET OF <resultset> в PostgreSQL ). Вообщем...

alebu
()
Ответ на: комментарий от anonymous

>Ведь есть же уже MySQL! выйди вон. сразу видать человек не писал проекта больше двух таблиц..

У меня база из 70 таблиц, размером в 600Гб работает под MySQL, и ничего....

anonymous
()
Ответ на: комментарий от anonymous

> Листинги с package{listings} выглядят очень коряво. Или это только мне кажется?

Кое-что поправлено (убрано выделение ключевых слов, но оставлено выделение строк) в результирующем pdf, а не там где всё разбито на главы. verbatim для исходников мне не нравится, да и не нужен он здесь поэтому оставил умолчание.

Evgueni ★★★★★
() автор топика

а вот посоветуйте, что почитать на предмет «миграция с мускуля на постгрес». установить асилил, даже поработать с ним асилил. теперь бы почитать, что отличается. типы там, операции, прочее. такое, не до подводных глубин. а то переходить интересно, но сложновато. а интересно.

tnx всем, кто не зафлеймит. %-)

mirage
()
Ответ на: комментарий от mirage

В этом отношении я не сильно большой спец, так как не переходил - не нужно было :) .

IMHO такой вопрос лучше задать в списке рассылки pgsql-ru-general(алеф)postgresql(точка)org предварительно, естественно, подписавшись на него.

Evgueni ★★★★★
() автор топика

а есть у Постгрес аналог режима MTS Oracle? А то на каждое соединение форк процесса - это сколько можно одновременных соединений на одну среднюю машинку. 100? а если 10000 надо...

anonymous
()
Ответ на: комментарий от AVL2

>/usr/local создан для программ, поставленых без помощи пакетного менеджера. То есть ручками make && make install

и ты и fi сами то прочитайте документ на который ссылаетесь. В /usr/local ставится софт которого не тв дистрибутиве. И причина тут проста - он не может/не должен обновлятся при обновлении дистрибутива.

r ★★★★★
()
Ответ на: комментарий от anonymous

>> А то на каждое соединение форк процесса - это сколько можно одновременных соединений на одну среднюю машинку.
Насколько помню, то в Постгре используется пул процессов. То есть, процессы используются повторно. Да и от падучести защищает - полетевший процесс - это всётаки не полетевший поток.

alebu
()
Ответ на: комментарий от mirage

>> теперь бы почитать, что отличается. типы там, операции, прочее. У Постгрес очень хорошаю документация на английском. Про переводы на русский не знаю, но ОЧЕНЬ рекомендую начать читать на английском. Технический английский усваивается достаточно легко, а пользу от этого сложно переоценить. А про различия скажу так: Постгре надо скореее с Ораклом сравнивать, у Мускула просто другая философия всегда была и вообщем-то и осталась (от того и священные войны).

alebu
()

увы нам но - сабж и файрбирд - единст путевые СКЛ-ы :( Мускл ? гамно, извините за французский. и всегда(!!!) был небесплатен для коммерческого юзанья.

anonymous
()
Ответ на: комментарий от anonymous

> Меня всегда отпугивала странная идея помещать файлы конфигурации в /var/lib

а спать без света тебе не страшно? для особо пугливых, можно собрать со "включенным светом".

anonymous
()
Ответ на: комментарий от alebu

На хостинге мускула достаточно. Но ведь есть и более серьезные проекты, где он сливает...

laune
()
Ответ на: комментарий от alebu

да с английским проблем нет как раз. но дока — это «многабукаф», а я хотел тупо пощупать постгрес в процессе перевода маленького домашнего проекта. чисто чтобы обжиться. а для этого неплохо было бы не всю доку почитать (до которой я дойду, конечно), а что-то мелкое типа «в мускуле так, а в постгресе так». и не важно, что оно для постгреса неоптимально, например. потом докой выправлю. а то тупо читать и не пробовать (или не на реальных примерах) — оно быстро утсаёшь.

mirage
()
Ответ на: комментарий от mirage

> а я хотел тупо пощупать постгрес в процессе перевода маленького домашнего проекта. чисто чтобы обжиться.
Ну я бы сказал, что самое неудобное будет отсутсвие auto_increment, вместо него надо с sequence разобраться. А так, Постгря умеет всё тоже самое, что и мускул, и даже больше. Так что с мускула на него перекинуть проэкт не должно быть проблемой. ПотОм можно уже смотреть доки и добавлять постгёвые навороты, чтобы не смог вернуться на мускул :)

alebu
()
Ответ на: комментарий от alebu

>я бы сказал, что самое неудобное будет отсутсвие auto_increment, вместо него надо с sequence разобраться.

да, я это уже видел. испугался. %-)

>Постгря умеет всё тоже самое, что и мускул, и даже больше

это-то я знаю, в теории. а на практике на «create table if not exist» меня послали в сад. на «field int(11)» послали туда же. понятно, что оно или сделано как-то не так, или не надо. вот именно на таких ньюансах и интересно. чего-то вменяемого не нашёл, всё или на уровне «вот вам select * from table», или «доки читаем». может, конечно, у меня руки кривые к поиску, но хотелось бы нечто типа «migration guide». ладно, фиг с ним, выпью пива и пойду документацию штудировать. всё равно у меня это в планах стояло, вот и повод. заодно 8.3.0 соберу, говорят, там лучше. %-)

mirage
()
Ответ на: комментарий от mirage

Тут у нас разное мировоззрение (две З, да?). Я обычно сначала в теорию ныряю, а потом уже, нехотя, лезу в практику. Доки Постгри
своим качеством тем более тому способствуют. Вообщем удачи!

alebu
()

Да сколько можно коверкать слова. Какое нафиг "Постгре". Прогресс тоже заменяем на прогре ( ой у меня наметился прогре в написании диссертации. Но за намереное искажения слов меня выкину с тре из униве)

anonymous
()

Спасибо огромное за статью! PostgreSQL моя любимая СУБД. Информация о PostgreSQL действительно нужна для популяризации СУБД. Даже сейчас очень много IT специалистов которые о ней не знают ничего кроме названия и делают выбор в пользу уступающих ей и закрытых вариантов СУБД.

jhome
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.