powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Sequenses и serial
8 сообщений из 8, страница 1 из 1
Sequenses и serial
    #34885421
GraninDm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Подскажите пожалуйста почему получается такая ерунда

Для проверки добавляю колонку типа serial
Код: plaintext
1.
2.
3.
4.
ALTER TABLE "security".qqq ADD COLUMN eee int4;
ALTER TABLE "security".qqq ALTER COLUMN eee SET STORAGE PLAIN;
ALTER TABLE "security".qqq ALTER COLUMN eee SET NOT NULL;
ALTER TABLE "security".qqq ALTER COLUMN eee SET DEFAULT nextval('"security".qqq_eee_seq'::regclass);
И получаю вот такую штуку (bigserial)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
CREATE SEQUENCE "security".qqq_eee_seq
  INCREMENT  1 
  MINVALUE  1 
  MAXVALUE  9223372036854775807 
  START  3 
  CACHE  1 ;
ALTER TABLE "security".qqq_eee_seq OWNER TO postgres;
При запросе
Код: plaintext
1.
select nextval('Security.qqq_eee_seq')
Получаю значение типа int8
Что я упустил

Колонку добавляю в pgAdmin 1.4.3
PG_VERSION 8.2
...
Рейтинг: 0 / 0
Sequenses и serial
    #34886047
ilejn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GraninDmЧто я упустил


Ты забыл посмотреть в документации, какой тип имеет результат функции nextval.
...
Рейтинг: 0 / 0
Sequenses и serial
    #34886823
GraninDm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да действительно, спасибо.

А почему serial формируется с
MAXVALUE 9223372036854775807
как для bigserial?
...
Рейтинг: 0 / 0
Sequenses и serial
    #34886850
Andrey Daeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GraninDm?
Немного уходя от темы. Долго смотрел, пытался понять - А КАКАЯ, ФТОПКУ, РАЗНИЦА?
Ну кроме банального педантизма, годнураса и любопытства?
...
Рейтинг: 0 / 0
Sequenses и serial
    #34886963
GraninDm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А наЗАЧЕМ тогда вообще MAXVALUE, и разделение serial и bigserial?

Да вообще все в топку...

С темой все ясно.
Всем спасибо.
...
Рейтинг: 0 / 0
Sequenses и serial
    #34888271
Andrey Daeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GraninDmА наЗАЧЕМ тогда вообще MAXVALUE, и разделение serial и bigserial?

Да вообще все в топку...

С темой все ясно.
Всем спасибо.
В Oracle - сразу аналог bigserial. В PostgreSQL - ИМХО это переход от int32 к int64, т.е. serial - для обратной совместимости и потихоньку будет рекомендоваться переходить на int64, а может и не будет. Т.к. пофигу :)

ЗЫ А Вам лично куда-то упирается int32 или int64 там?
ЗЗЫ Просто интерестно :)
...
Рейтинг: 0 / 0
Sequenses и serial
    #34888313
GraninDm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если только ради интереса - скажу.

Я с postgreSQL работаю из VFP и мне неудобно работать с bigserial.
Вот и все...

И еще я наивно подумал вначале, что nextval возвращает int4 или int8 в зависимости от типа последовательности (что посчитал вроде бы логичным).
...
Рейтинг: 0 / 0
Sequenses и serial
    #34888583
st_serg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
А почему serial формируется с
MAXVALUE 9223372036854775807
как для bigserial?


http://www.postgresql.org/docs/8.2/interactive/datatype-numeric.html
8.1.4. Serial Types

Посмотрите внимательно строчки после "is equivalent to specifying:"
Там нигде не задается max value для сиквенса, логично, что проставляется максимально возможное значение, которое может выдать сиквенс.

serial, bigserial - всего лишь определяют тип столбца в таблица (int и bigint соответственно). Сам сиквенс - просто генератор последовательности и типа возвращаемого значения не имеет (разве что генерируемые им значения - всегда целые числа)

собственно в оракле аналогично
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Sequenses и serial
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]