|
|
|
txid_current() != xmin
|
|||
|---|---|---|---|
|
#18+
Доброго времени, суток. PostgreSQL 9.2.4 on x86_64-unknown-linux-gnu, compiled by gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3, 64-bit Использую функцию: txid_visible_in_snapshot(bigint, txid_snapshot) в качестве первого параметра использую xmin::TEXT::INT8 В последнее время txid_current() != xmin Например: txid_current() =4359781591 xmin 62312404 relfrozenxid для таблицы из которой взят xmin = 4188453505 Вопрос: Как правильно использовать функцию txid_visible_in_snapshot в моем случае? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2014, 18:58:20 |
|
||
|
txid_current() != xmin
|
|||
|---|---|---|---|
|
#18+
Gold_, а xmin Вы откуда берёте? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2014, 22:37:01 |
|
||
|
txid_current() != xmin
|
|||
|---|---|---|---|
|
#18+
Гость_0Gold_, а xmin Вы откуда берёте? в примере xmin поле записи из таблицы, которая была добавлена 5 мин назад. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2014, 12:00:58 |
|
||
|
txid_current() != xmin
|
|||
|---|---|---|---|
|
#18+
Gold_, если вы видите строку, то вы её видите в вашем снепшоте. какую задачу вы изначально решаете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2014, 17:19:47 |
|
||
|
txid_current() != xmin
|
|||
|---|---|---|---|
|
#18+
Misha TyurinGold_, если вы видите строку, то вы её видите в вашем снепшоте. какую задачу вы изначально решаете? Изначально: Необходимо найти добавленные/измененные записи после некоторого события. Запоминаю snapshot. С помощью функции txid_visible_in_snapshot(bigint, txid_snapshot) пытась найти такие записи, примерно так: Код: plsql 1. Теперь перестало работать, т. к. xmin только что вставленной записи сильно меньше txid_current. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2014, 19:19:33 |
|
||
|
txid_current() != xmin
|
|||
|---|---|---|---|
|
#18+
Gold_, http://www.postgresql.org/docs/9.3/static/functions-info.html The internal transaction ID type (xid) is 32 bits wide and wraps around every 4 billion transactions. However, these functions export a 64-bit format that is extended with an "epoch" counter so it will not wrap around during the life of an installation. вам надо не на xmin опираться, а сохранять в строках txid_current(). так как логика с xmin внтури движка и логика внутри txid_visible_in_snapshot -- всё же разные вещи. но меня не покидают смутные сомнения, что вы не туда копаете изначально ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2014, 00:01:05 |
|
||
|
txid_current() != xmin
|
|||
|---|---|---|---|
|
#18+
Misha Tyurin, более того, в xmin после вакуума может оказаться и такое -- "2" #define FrozenTransactionId ((TransactionId) 2) http://doxygen.postgresql.org/transam_8h.html#a27b419cb15e28a2b221a7c94713b8493 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2014, 00:10:56 |
|
||
|
txid_current() != xmin
|
|||
|---|---|---|---|
|
#18+
Gold_, еще надавно только впатчили вот такое дело http://www.postgresql.org/message-id/20140905231957.GE26717@momjian.us]http://www.postgresql.org/message-id/20140905231957.GE26717@momjian.us все pgq юзеры тоже более ок теперь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2014, 00:20:36 |
|
||
|
txid_current() != xmin
|
|||
|---|---|---|---|
|
#18+
Misha TyurinGold_, http://www.postgresql.org/docs/9.3/static/functions-info.html The internal transaction ID type (xid) is 32 bits wide and wraps around every 4 billion transactions. However, these functions export a 64-bit format that is extended with an "epoch" counter so it will not wrap around during the life of an installation. вам надо не на xmin опираться, а сохранять в строках txid_current(). так как логика с xmin внтури движка и логика внутри txid_visible_in_snapshot -- всё же разные вещи. но меня не покидают смутные сомнения, что вы не туда копаете изначально Михаил - спасибо. Про сомнения, это я так понимаю мягко сказано ). В планах значительно переделать, но надо еще пожить с этим. "these functions export a 64-bit format" - что за функции? Misha TyurinMisha Tyurin, более того, в xmin после вакуума может оказаться и такое -- "2" #define FrozenTransactionId ((TransactionId) 2) http://doxygen.postgresql.org/transam_8h.html#a27b419cb15e28a2b221a7c94713b8493 правильно ли я понимаю, что это произойдет после нового захода txid_current()? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2014, 10:53:26 |
|
||
|
|

start [/forum/topic.php?fid=53&gotonew=1&tid=1998430]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
191ms |
get topic data: |
12ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 198ms |
| total: | 496ms |

| 0 / 0 |
