1.1, skew (?), 14:18, 03/02/2010 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Ура! Мне очень понравилось работать с postgresql, и внутренние процедуры и функции писать на нём одно удовольствие, и к PHP к нему хорошая библиотека есть, и объектную модель можно построить. Сказка, а не SQL сервер.
| |
|
2.3, thirteensmay (?), 15:56, 03/02/2010 [^] [^^] [^^^] [ответить]
| +/– |
внутренние процедуры и функции...
По сравнению с некоторыми конечно получше, но по сравнению с некоторыми другими... Ни тебе модулей (пакетов), ни транзакций автономных, даже commit из функции неможет ;) Коечто у них в планах стоит, надеюсь со временем докрутят.
| |
|
3.8, Аноним (-), 23:51, 03/02/2010 [^] [^^] [^^^] [ответить]
| +/– |
> По сравнению с некоторыми конечно получше, но по сравнению с некоторыми другими... Ни тебе модулей (пакетов), ни транзакций автономных, даже commit из функции неможет ;) Коечто у них в планах стоит, надеюсь со временем докрутят.
А зачем это всё? Просто что бы «как в Oracle»? :) Мне лично не хватает только какого-либо решения для редактирования view при изменении объектов от которых оно зависит.
| |
|
4.9, Diogene the Open Source programmer (?), 00:48, 04/02/2010 [^] [^^] [^^^] [ответить]
| +/– |
Да - для этого тоже. Продукт то для людей, я вот уже всё старьё 8.0.5 и некоторое 8.1.* перетащил не на 10g\11g а на Слоника ... почти dump\restore'ом! :) Сколько кило зелени сЪэкономил - прикинь сам.
| |
4.10, thirteensmay (?), 00:57, 04/02/2010 [^] [^^] [^^^] [ответить]
| +/– |
Эка вы, не затем чтобы как в Oracle, а затем чтобы удобно, разве вьюхи нельзя пересоздать ? Пакеты и возможность простого сохранения это помоему базовые концепции программирования, наследование вон когда реализовали, а многоязычность ? куда ни нафиг приоритет, а возможности тупо закоммитить элементарный инсерт нет, пытался своих "проприетарщиков" свернуть, они когда узнали - ржали, было блин стыдно ;)
| |
|
5.12, Ян Злобин (?), 03:12, 04/02/2010 [^] [^^] [^^^] [ответить]
| +/– |
>возможности тупо закоммитить элементарный инсерт нет
А что мешает сделать инсерт отдельной функцией, вызываемой из первой? Это и будет отдельный комит.
| |
|
6.14, thirteensmay (?), 10:52, 04/02/2010 [^] [^^] [^^^] [ответить]
| +/– |
Какой функцией ? Я про обычный pgPL/SQL, в них нет коммита. Конечно может и можно чтото придумать написав какую то внешнюю не pgPL/SQL функцию коммита, но это ведь смешно, pgPL/SQL основной язык, представьте что вам гденить вместо обычного if придется использовать специальные функции из внешних модулей, при том что case будет доступен из коробки (rollback to savepoint в pgPL/SQL таки насколько я понимаю есть)
| |
|
7.16, Аноним (-), 13:15, 04/02/2010 [^] [^^] [^^^] [ответить]
| +/– |
> pgPL/SQL основной язык
для postgres это не так, у него основной язык это SQL, а plpgsql это просто _один из многих_ процедурных языков.
| |
|
8.17, Аноним (-), 13:19, 04/02/2010 [^] [^^] [^^^] [ответить] | +/– | в догонку, в 8 5 тобишь 9 0 собирались делать не именованные блоки на pl языка... текст свёрнут, показать | |
|
9.19, Аноним (-), 13:35, 04/02/2010 [^] [^^] [^^^] [ответить] | +/– | процедурные языки сейчас нельзя использовать напрямую в теле запроса не создавая... текст свёрнут, показать | |
|
|
9.22, Аноним (-), 13:52, 04/02/2010 [^] [^^] [^^^] [ответить] | +/– | а Вы просто begin не делайте, тогда транзакция начнётся автоматически при входе ... текст свёрнут, показать | |
9.23, Аноним (-), 14:08, 04/02/2010 [^] [^^] [^^^] [ответить] | +/– | rollback to savepoint внутри pl то же нельзя, я имел ввиду типа такого create f... текст свёрнут, показать | |
|
|
|
|
|
4.11, Ян Злобин (?), 03:09, 04/02/2010 [^] [^^] [^^^] [ответить]
| +/– |
> Мне лично не хватает только какого-либо решения для редактирования view при изменении объектов от которых оно зависит.
Есть это давно. Правило + Триггер.
| |
|
5.15, Аноним (-), 13:09, 04/02/2010 [^] [^^] [^^^] [ответить]
| +/– |
>> Мне лично не хватает только какого-либо решения для редактирования view при изменении объектов от которых оно зависит.
>
>Есть это давно. Правило + Триггер.
create table departments (dep_id serial, dep_name text);
create table users (id serial, name text, dep_id int, is_enabled boolean);
create view active_users as select * from users where is_enabled;
create view managers as select * from active_users join departments using (dep_id) where dep_name = 'managers';
alter table users add email text;
и всё, приплыли, а если вьюх не две а десять ? а если колонка не добавляется а удаляется ? пока с этим сложно, нужно пересоздавать всё дерево зависимых вьюх и какого-то нормального решения не видно...
| |
|
|
|
|
|