Re[2]: [pgsql-ru-general] доклад - Mailing list pgsql-ru-general

From Ivan
Subject Re[2]: [pgsql-ru-general] доклад
Date
Msg-id 409814010.20050404131238@mail.ru
Whole thread Raw
In response to Re: Re[2]: [pgsql-ru-general] доклад  (Oleg Bartunov <oleg@sai.msu.su>)
Responses Re: Re[2]: [pgsql-ru-general] доклад
List pgsql-ru-general
Hello,


OB> Прошу еще раз, огласите список, а я вам благодарность обязательно выражу.
OB> На что конкретно стоит обратить внимание

Буду присылать по мере вспоминания.

Для начала - типы.
1) Postgres поддерживает очень много разных типов (явно не все этим
могут похвастаться).
2) Ограничения на типы - MSSql поддерживает varchar до 8000 символов,
Firebird - до 32Кб (в зависимости от кодировки), Oracle по-моему
вообще до 4000 символов (правда здесь я могу ошибаться :) ).
bytea - похожая история.
Decimal (Numeric) - по-моему также никто такой точности как Postgres
не обеспечивает (т.к. у Postgres он вообще безразмерный).
Timestamp по-моему также не у всех столь же точный как у Postgres.
Поддержка массивов - по-моему не у всех они есть.
3) Наличие очень большого числа встроенных функций, покрывающих
большую часть нужд разработчика. (не знаю кто мог бы сравниться с
Postgres'ом по этому показателю).
4) Операторы и typecast'ы я что-то тоже не припомню в других СУБД.
5) Ограничения на размеры
Некоторые ограничения PostgreSQL

Максимальный размер БД Unlimited (во многих других СУБД этот
показатель поменьше :) )
Максимальный размер таблицы 32 TB (тоже не все могут)
Максимальная длина записи 1.6 TB (тоже самое)
Максимальный длина атрибута 1 GB (- // -)
Максимальное количество записей в таблице Unlimited (- // -)
Максимальное количество атрибутов в таблице 250 - 1600 в зависимости от типа атрибута
Максимальное количество индексов на таблицу Unlimited (- // -)

А еще есть в некоторых базах есть такие ограничения как размер поля, по
которому можно построить индекс (например сейчас в Firebird это 255
байт) - сами понимаете - это бывает очень неудобно :).

6) Запросы. До сих пор не все СУБД умеют вложенные запросы (select
from select), insert into table <query>, не у всех есть SAVEPOINT'ы.
По-моему Subquery Expressions ANY/SOME, ALL также не у всех. Также не
у всех есть такая "куча" всевозможных ALTER <OBJECT>, добавляюяющих
гибкость СУБД (напрмер в Firebird для такого рода запросов приходится
руками работать с системными таблицами). Не везде есть столько
арифметических, стороковых и т.д. операций - в основном есть только
+, -, *, /, || а все остальное приходится либо сложными выражениями,
либо UDF'ами либо stored procedur'ами. А в Postgres'e (например
арифметика):

% modulo (remainder) 5 % 4 1
^ exponentiation 2.0 ^ 3.0 8
|/ square root |/ 25.0 5
||/ cube root ||/ 27.0 3
! factorial 5 ! 120
!! factorial (prefix operator) !! 5 120
@ absolute value @ -5.0 5
& bitwise AND 91 & 15 11
| bitwise OR 32 | 3 35
# bitwise XOR 17 # 5 20
~ bitwise NOT ~1 -2
<< bitwise shift left 1 << 4 16
>> bitwise shift right 8 >> 2 2

и так далее с остальными типами - просто рай! :))

Не все умеют и регулярные выражения в SQL запросах.
Также очень удобно select <expression> - select без from
(правда в Oracle есть select * from DUAL).

7) Monitoring Database Activity - есть также не везде (например в
Firebird), а бывает очень полезно!

8) Про правила уже говорили.

Фу-ф-фф - пока все что в голову пришло...

--
Best regards,
 Ivan                            mailto:Ivan-Sun1@mail.ru
















pgsql-ru-general by date:

Previous
From: "Viktor Vislobokov"
Date:
Subject: Re: миграция н
Next
From: Ivan
Date:
Subject: список возможностей (продолжение)