powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / вставляем одно, хранится другое
7 сообщений из 7, страница 1 из 1
вставляем одно, хранится другое
    #39519033
Юрий321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всем привет.

не знаю как сформулировать :)

добавляем записей в таблицу, это лог постгрес:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
2017-09-11 13:42:08 NOVT LOG:  execute <unnamed>: INSERT INTO PAYMENTPERMONTH (ID, PAYID, PAYPERID, SUMM) VALUES ($1, $2, $3, $4)
2017-09-11 13:42:08 NOVT DETAIL:  parameters: $1 = '1267360', $2 = '1001346', $3 = '308', $4 = '200'

2017-09-11 13:42:08 NOVT LOG:  execute <unnamed>: INSERT INTO PAYMENTPERMONTH (ID, PAYID, PAYPERID, SUMM) VALUES ($1, $2, $3, $4)
2017-09-11 13:42:08 NOVT DETAIL:  parameters: $1 = '1267361', $2 = '1001346', $3 = '309', $4 = '200'

2017-09-11 13:42:08 NOVT LOG:  execute <unnamed>: INSERT INTO PAYMENTPERMONTH (ID, PAYID, PAYPERID, SUMM) VALUES ($1, $2, $3, $4)
2017-09-11 13:42:08 NOVT DETAIL:  parameters: $1 = '1267362', $2 = '1001346', $3 = '10000', $4 = '100'

смотрим, чего в таблице:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
SELECT * FROM paymentpermonth WHERE payid = 1001346

id                    payid                 payperid              summ                   
-----------------------------------------------------------------------------------------
1267360               1001346               308                   500                    
1267361               1001346               309                   200                    
1267362               1001346               10000               100       

в логе видно, что в записи, где payperid == 308, summ равняется 200, почему в таблице 500?

что за ерунда? куда смотреть?

триггеров на таблицу (и вообще в базе) нету, тип поля numeric(19,2)
...
Рейтинг: 0 / 0
вставляем одно, хранится другое
    #39519034
Юрий321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
постгрес версии 9.3
...
Рейтинг: 0 / 0
вставляем одно, хранится другое
    #39519106
Alexius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юрий321,

может быть кто-то update делает? у вас логгируются все запросы? если нет - можно аудит триггер навесить на таблицу чтобы все изменения видеть.

кроме триггера еще rule может быть, меняющий значение при вставке. но это довольно редкая вещь. в выводе \d+ paymentpermonth можно проверить.
...
Рейтинг: 0 / 0
вставляем одно, хранится другое
    #39519118
Юрий321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexiusЮрий321,

может быть кто-то update делает? у вас логгируются все запросы? если нет - можно аудит триггер навесить на таблицу чтобы все изменения видеть.

кроме триггера еще rule может быть, меняющий значение при вставке. но это довольно редкая вещь. в выводе \d+ paymentpermonth можно проверить.

апдейт не делается, база тестовая, я в ней один. Собственно сразу после вставки и смотрю новые записи через селект.

запросы логируются
Код: plaintext
1.
log_statement = 'all'

rule нету
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
-- Table: paymentpermonth

-- DROP TABLE paymentpermonth;

CREATE TABLE paymentpermonth
(
  id bigint NOT NULL,
  payid bigint,
  payperid bigint,
  summa numeric(19,2),
  CONSTRAINT paymentpermonth_pkey PRIMARY KEY (id)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE paymentpermonth
  OWNER TO postgres;

-- Index: paymentpermonth_payid_index

-- DROP INDEX paymentpermonth_payid_index;

CREATE INDEX paymentpermonth_payid_index
  ON paymentpermonth
  USING btree
  (payid);

-- Index: paymentpermonth_payperid_index

-- DROP INDEX paymentpermonth_payperid_index;

CREATE INDEX paymentpermonth_payperid_index
  ON paymentpermonth
  USING btree
  (payperid);
...
Рейтинг: 0 / 0
вставляем одно, хранится другое
    #39519124
Alexius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юрий321,

проблема воспроизводимая? если да - то снимите вывод
Код: sql
1.
select * from pg_stat_user_tables where relname = 'paymentpermonth';



перед воспроизведением и сразу после и покажите. если нет - то просто покажите, что там. может все же есть update.
...
Рейтинг: 0 / 0
вставляем одно, хранится другое
    #39519126
Юрий321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexius,

Код: plaintext
1.
2.
3.
relid       schemaname                                          relname                                             seq_scan              seq_tup_read          idx_scan              idx_tup_fetch         n_tup_ins             n_tup_upd             n_tup_del             n_tup_hot_upd         n_live_tup            n_dead_tup            last_vacuum                          last_autovacuum                      last_analyze                         last_autoanalyze                     vacuum_count          autovacuum_count      analyze_count         autoanalyze_count     
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
82435       public                                              paymentpermonth                                     424                   112296908             2741                  18286                 132                   128                   0                     127                   104                   38                    <null>                               <null>                               <null>                               <null>                               0                     0                     0                     0                     
...
Рейтинг: 0 / 0
вставляем одно, хранится другое
    #39519128
Юрий321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
блин.
минуту.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / вставляем одно, хранится другое
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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