Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
ERROR: duplicate key violates unique constraint
|
|||
|---|---|---|---|
|
#18+
domanixВсе равно - не воспроизводится... у меня 8.1b3 может Мне стоит попробовать обновиться до твоей версии? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2005, 17:14 |
|
||
|
ERROR: duplicate key violates unique constraint
|
|||
|---|---|---|---|
|
#18+
4321Конкретно там (по сноске) - да - речь об индекс-скане. Но тот же механизм (если я его правильно просек) позволил бы развязать проблему проверки уникью по выходу (а не внутри транзакции - на каждой строке) - т.е. преодолеть тот же баг атомарности апдейта, и он же позволил бы развязать конкурирующие за некое значение уникью транзакции. (т.е. - "кто первый закоммитил - тот и прав, а тот, кто покурить вышел - _никого_не_держит, но получит отлуп при попытке коммита").Даже боюсь размышлять о таких высоких материях со своей дилетантской позиции, потому что почти наверняка упущу какую-нибудь важную тонкость. Но, как я показал на примере, у древнего оракла (в котором тем не менее индекс скан есть) поведение аналогичное - транзакция зависает, а не получает отлуп при попытке коммита, как вы предлагаете. Правда, иное поведение у транзакции после зависания, если конкурирующую завершили коммитом. В постгресе отваливается вся транзакция - надо делать роллбэк, а в оракле только висевший стэйтмент, транзакцию можно продолжать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2005, 17:55 |
|
||
|
ERROR: duplicate key violates unique constraint
|
|||
|---|---|---|---|
|
#18+
LeXa NalBatкак я показал на примере, у древнего оракла...был невнимателен, "вспылил(с)" мдя-с .Таки трабла с "недо"версионностью как таковой (уникью обчий и в оракле для усих транзакций?)? Какого же ляда он тады атомарно уникью перестраивать горазд (внутри одной транзакции)? чё-то туманно это мине И что, отложить уникью в ём тоже низзя? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2005, 18:11 |
|
||
|
ERROR: duplicate key violates unique constraint
|
|||
|---|---|---|---|
|
#18+
4321уникью обчий и в оракле для усих транзакций?Каким экспериментом это можно проверить? 4321И что, отложить уникью в ём тоже низзя?Судя по доке можно. (Для доступа требуется регистрация.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2005, 10:07 |
|
||
|
ERROR: duplicate key violates unique constraint
|
|||
|---|---|---|---|
|
#18+
LeXa NalBat 4321уникью обчий и в оракле для усих транзакций?Каким экспериментом это можно проверить? 4321И что, отложить уникью в ём тоже низзя?Судя по доке можно. (Для доступа требуется регистрация.) спасибо за ссылку. Но оракла под рукой нету, а написанному даже в доке без теста верить не имею привычки. Разве как ввводным для теста и его трактовки. Т.ч. бодяжиться с регистрацией не стал. Но видимо по инсертам Оракла ведет себя именно так как и Постгря ( см. туточки ) Что для некоторых и там было неожиданностью (блокировка не апдейта, но инсерта). Т.ч. придеца иметь в виду возможность провисания транзакций и из-за инсертов в уникью. И по возможности избегать (по ссылке много бравых надежд, что ситуация, при правильном проектировании практицки невероятная, думаю - от избытка неоправданного оптимизма, хотя народец там и подкованный). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2005, 11:13 |
|
||
|
ERROR: duplicate key violates unique constraint
|
|||
|---|---|---|---|
|
#18+
ЗЫ. по поводу невозможности в Оракле NOWAIT-а при инсерте там (по ссылке) тоже есь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2005, 11:34 |
|
||
|
ERROR: duplicate key violates unique constraint
|
|||
|---|---|---|---|
|
#18+
Господа, значит не видать мне первичного ключа русскими буковками да? ERROR: повторный ключ нарушает констрейнт UNIQUE "xpktest" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2005, 12:52 |
|
||
|
ERROR: duplicate key violates unique constraint
|
|||
|---|---|---|---|
|
#18+
gekoГоспода, значит не видать мне первичного ключа русскими буковками да? ERROR: повторный ключ нарушает констрейнт UNIQUE "xpktest"У меня ошибки не наблюдается. PostgreSQL 8.0.3. => create table test ( (> code char(5) not null, (> name varchar(100) not null, (> CONSTRAINT xpktest PRIMARY KEY (code) (> ); NOTICE: CREATE TABLE / PRIMARY KEY создаст подразумеваемый индекс "xpktest" для таблицы "test" CREATE TABLE => INSERT INTO test (code, name ) VALUES ('АБВ', 'Вася'); INSERT 68935916 1 => INSERT INTO test (code, name ) VALUES ('АБВГ', 'Петя'); INSERT 68935917 1 => INSERT INTO test (code, name ) VALUES ('АБВГД', 'Саша'); INSERT 68935918 1 => INSERT INTO test (code, name ) VALUES ('АБВГДЕ', 'Маша'); ERROR: значение велико для типа character(5) => select * from test; code | name -------+------ АБВ | Вася АБВГ | Петя АБВГД | Саша (3 rows) Наверное у вас проблема в настройках ОС или постгреса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2005, 15:46 |
|
||
|
ERROR: duplicate key violates unique constraint
|
|||
|---|---|---|---|
|
#18+
LeXa NalBat gekoГоспода, значит не видать мне первичного ключа русскими буковками да? ERROR: повторный ключ нарушает констрейнт UNIQUE "xpktest"У меня ошибки не наблюдается. PostgreSQL 8.0.3. => create table test ( (> code char(5) not null, (> name varchar(100) not null, (> CONSTRAINT xpktest PRIMARY KEY (code) (> ); NOTICE: CREATE TABLE / PRIMARY KEY создаст подразумеваемый индекс "xpktest" для таблицы "test" CREATE TABLE => INSERT INTO test (code, name ) VALUES ('АБВ', 'Вася'); INSERT 68935916 1 => INSERT INTO test (code, name ) VALUES ('АБВГ', 'Петя'); INSERT 68935917 1 => INSERT INTO test (code, name ) VALUES ('АБВГД', 'Саша'); INSERT 68935918 1 => INSERT INTO test (code, name ) VALUES ('АБВГДЕ', 'Маша'); ERROR: значение велико для типа character(5) => select * from test; code | name -------+------ АБВ | Вася АБВГ | Петя АБВГД | Саша (3 rows) Наверное у вас проблема в настройках ОС или постгреса. может нам стоит с Вами настройки постргереса сравнить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2005, 16:27 |
|
||
|
ERROR: duplicate key violates unique constraint
|
|||
|---|---|---|---|
|
#18+
gekoА какая у тебя OC? может настройками поделишься? может нам стоит с Вами настройки постргереса сравнить?У нас сисадмин занимается установкой оси, постгреса и других вещей. Я в этом почти не разбираюсь. :( Выполнить команду и показать ее выдачу могу. Какую команду? :) Ось: ~$ uname Linux ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2005, 17:22 |
|
||
|
ERROR: duplicate key violates unique constraint
|
|||
|---|---|---|---|
|
#18+
LeXa NalBat gekoА какая у тебя OC? может настройками поделишься? может нам стоит с Вами настройки постргереса сравнить?У нас сисадмин занимается установкой оси, постгреса и других вещей. Я в этом почти не разбираюсь. :( Выполнить команду и показать ее выдачу могу. Какую команду? :) Ось: ~$ uname Linux :( команд вывода конфигурации не знаю, файлик посмотреть бы postgresql.conf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2005, 17:46 |
|
||
|
ERROR: duplicate key violates unique constraint
|
|||
|---|---|---|---|
|
#18+
max_connections = 100 shared_buffers = 1000 # min 16, at least max_connections*2, 8KB each effective_cache_size = 8192 # typically 8KB each stats_command_string = true lc_messages = 'ru_RU.cp1251' # locale for system error message strings lc_monetary = 'ru_RU.cp1251' # locale for monetary formatting lc_numeric = 'ru_RU.cp1251' # locale for number formatting lc_time = 'ru_RU.cp1251' # locale for time formatting База создавалась: create database ... with encoding 'WIN-1251'; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 09:55 |
|
||
|
ERROR: duplicate key violates unique constraint
|
|||
|---|---|---|---|
|
#18+
LeXa NalBatmax_connections = 100 shared_buffers = 1000 # min 16, at least max_connections*2, 8KB each effective_cache_size = 8192 # typically 8KB each stats_command_string = true lc_messages = 'ru_RU.cp1251' # locale for system error message strings lc_monetary = 'ru_RU.cp1251' # locale for monetary formatting lc_numeric = 'ru_RU.cp1251' # locale for number formatting lc_time = 'ru_RU.cp1251' # locale for time formatting База создавалась: create database ... with encoding 'WIN-1251'; ну и у меня почти тоже самое только кодировка ru_RU.koi8r единственное... изначально пакеты psql устанавливались на кодировке ru_RU.UTF-8, а база была сразу создана с кодировкой KOI8 с первого момента работы, все данные тоже в кодировке koi-8r, а первичные ключи не понимает... :( есть еще предложения.... ??? ..... может стоит попытаться перейти на 8.0.3 ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 11:23 |
|
||
|
ERROR: duplicate key violates unique constraint
|
|||
|---|---|---|---|
|
#18+
geko может стоит попытаться перейти на 8.0.3 ??? Можно. Но есть еще ряд интересных возможностей. Вставь куда-нибудь русские буквы и сделай потом select чтобы увидеть, что именно получилось в базе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 16:34 |
|
||
|
ERROR: duplicate key violates unique constraint
|
|||
|---|---|---|---|
|
#18+
интересно, однако. а если сначала инсерт, а потом примари кей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 17:41 |
|
||
|
ERROR: duplicate key violates unique constraint
|
|||
|---|---|---|---|
|
#18+
ilejn geko может стоит попытаться перейти на 8.0.3 ??? Можно. Но есть еще ряд интересных возможностей. Вставь куда-нибудь русские буквы и сделай потом select чтобы увидеть, что именно получилось в базе. не вопрос... test=# INSERT INTO test (code, name ) VALUES ('125', 'Саша спит'); INSERT 13836517 1 test=# INSERT INTO test (code, name ) VALUES ('126', 'Маша гуляет'); INSERT 13836518 1 test=# INSERT INTO test (code, name ) VALUES ('127', 'Миша играет'); INSERT 13836520 1 test=# select * from test where code > 1; code | name -------+---------------------------------- 125 | Саша спит 126 | Маша гуляет 127 | Миша играет (записей: 3) test=# select * from test where name = 'Маша гуляет'; code | name -------+------------- 126 | Маша гуляет 127 | Миша играет (записей: 2) test=# select * from test where name = 'Миша играет'; code | name -------+------------- 126 | Маша гуляет 127 | Миша играет (записей: 2) Как так может получиться если поле name = 'Маша гуляет' выводит сразу 2 строки 126 | Маша гуляет 127 | Миша играет Так ведь не должно быть .... ??? ..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2005, 13:00 |
|
||
|
ERROR: duplicate key violates unique constraint
|
|||
|---|---|---|---|
|
#18+
geko select * from test where name = 'Маша гуляет'; code | name -------+------------- 126 | Маша гуляет 127 | Миша играет (записей: 2) А можно explain ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2005, 15:05 |
|
||
|
ERROR: duplicate key violates unique constraint
|
|||
|---|---|---|---|
|
#18+
И \d test; из psql ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2005, 15:34 |
|
||
|
ERROR: duplicate key violates unique constraint
|
|||
|---|---|---|---|
|
#18+
Funny_FalconИ \d test; из psql test=# \d test Таблица "public.test" Колонка | Тип | Модификаторы ---------+------------------------+-------------- code | character(5) | not null name | character varying(100) | not null Индексы: "xpktest" PRIMARY KEY, btree (code) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2005, 20:40 |
|
||
|
ERROR: duplicate key violates unique constraint
|
|||
|---|---|---|---|
|
#18+
хыхинтересно, однако. а если сначала инсерт, а потом примари кей? если делать инсерт без первичного ключа то все нормально вставляется и ошибки не вылетает, а как потом добавить первичный ключ к таблице??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2005, 20:45 |
|
||
|
ERROR: duplicate key violates unique constraint
|
|||
|---|---|---|---|
|
#18+
Funny_Falcon geko select * from test where name = 'Маша гуляет'; code | name -------+------------- 126 | Маша гуляет 127 | Миша играет (записей: 2) А можно explain ? конечно можно... psql -c "EXPLAIN SELECT * from test where name = 'Маша гуляет';" QUERY PLAN ------------------------------------------------------ Seq Scan on test (cost=0.00..19.12 rows=4 width=77) Filter: ((name)::text = 'Маша гуляет'::text) (записей: 2) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2005, 20:51 |
|
||
|
ERROR: duplicate key violates unique constraint
|
|||
|---|---|---|---|
|
#18+
geko хыхинтересно, однако. а если сначала инсерт, а потом примари кей? если делать инсерт без первичного ключа то все нормально вставляется и ошибки не вылетает, а как потом добавить первичный ключ к таблице??? может так? ALTER TABLE "public"."table1" ALTER COLUMN "aaa" SET NOT NULL; ALTER TABLE "public"."table1" ADD CONSTRAINT "new_index" PRIMARY KEY ("aaa"); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2005, 10:10 |
|
||
|
ERROR: duplicate key violates unique constraint
|
|||
|---|---|---|---|
|
#18+
1. Попробуй дропнуть индекс и тогда сделать выборку - ситуация измениться? 2. Если не измениться, то что выдает следующий запрос? Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2005, 10:24 |
|
||
|
ERROR: duplicate key violates unique constraint
|
|||
|---|---|---|---|
|
#18+
Funny_Falcon1. Попробуй дропнуть индекс и тогда сделать выборку - ситуация измениться? Забудь, я глупый. У тебя и так SeqScan :-) А второй вопрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2005, 12:30 |
|
||
|
ERROR: duplicate key violates unique constraint
|
|||
|---|---|---|---|
|
#18+
Funny_Falcon1. Попробуй дропнуть индекс и тогда сделать выборку - ситуация измениться? 2. Если не измениться, то что выдает следующий запрос? Код: plaintext а что это такое oprcode? oprcode --------- texteq (1 запись) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2005, 13:57 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=33338758&tid=2006915]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
59ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
87ms |
get tp. blocked users: |
2ms |
| others: | 249ms |
| total: | 447ms |

| 0 / 0 |
