ITPub博客

首页 > 数据库 > 国内数据库 > vacuum freeze? and DB age

vacuum freeze? and DB age

原创 国内数据库 作者:fiona8953 时间:2017-03-13 16:20:18 0 删除 编辑
Scene I

Session A
test=# begin;
BEGIN
test=# alter table testbb rename to testb;
ALTER TABLE

Session B
test=# select * from pg_stat_activity ;
 datid | datname | procpid | sess_id | usesysid | usename |          current_query           | waiting |          query_start          |         backend_start         | cl
ient_addr | client_port | application_name |          xact_start           | waiting_reason
-------+---------+---------+---------+----------+---------+----------------------------------+---------+-------------------------------+-------------------------------+---
----------+-------------+------------------+-------------------------------+----------------
 47454 | test    |   16727 |      52 |       10 | gpadmin | <IDLE> in transaction            | f       | 2017-01-03 04:45:49.091992-08 | 2017-01-03 03:45:43.311296-08 |
          |          -1 | psql             | 2017-01-03 04:45:38.076153-08 |
 47454 | test    |   17182 |      53 |       10 | gpadmin | select * from pg_stat_activity ; | f       | 2017-01-03 04:46:09.522987-08 | 2017-01-03 04:07:52.883441-08 |
          |          -1 | psql             | 2017-01-03 04:46:09.522987-08 |
 47454 | test    |   26557 |      54 |       10 | gpadmin | <IDLE>                           | f       |                               | 2017-01-03 04:46:01.170091-08 |
          |          -1 | psql             |                               |
(3 rows)
test=# vacuum freeze;

Session C
-- Before vacuum freeze
test=#  select datname, age(datfrozenxid) from pg_database ;
  datname  |  age
-----------+--------
 test      |    162

-- During vacuum freeze
test=#  select datname, age(datfrozenxid) from pg_database ;
  datname  |  age
-----------+--------
 test      |    282

-- After vacuum freeze
test=#  select datname, age(datfrozenxid) from pg_database ;
  datname  |  age
-----------+--------
 test      |    319


Scene II

Session A
test=# rollback;
ROLLBACK
test=# select * from pg_stat_activity ;
 datid | datname | procpid | sess_id | usesysid | usename |          current_query           | waiting |          query_start          |         backend_start         | cl
ient_addr | client_port | application_name |          xact_start           | waiting_reason
-------+---------+---------+---------+----------+---------+----------------------------------+---------+-------------------------------+-------------------------------+---
----------+-------------+------------------+-------------------------------+----------------
 47454 | test    |   16727 |      52 |       10 | gpadmin | <IDLE>                           | f       | 2017-01-03 04:51:39.030898-08 | 2017-01-03 03:45:43.311296-08 |
          |          -1 | psql             |                               |
 47454 | test    |   17182 |      53 |       10 | gpadmin | <IDLE>                           | f       | 2017-01-03 04:52:11.783251-08 | 2017-01-03 04:07:52.883441-08 |
          |          -1 | psql             |                               |
 47454 | test    |   26557 |      54 |       10 | gpadmin | select * from pg_stat_activity ; | f       | 2017-01-03 04:52:21.959227-08 | 2017-01-03 04:46:01.170091-08 |
          |          -1 | psql             | 2017-01-03 04:52:21.959227-08 |
(3 rows)

Session B
test=# vacuum freeze;
VACUUM
test=# select datname, age(datfrozenxid) from pg_database ;
  datname  |  age
-----------+--------
 test      |    157


Scene III

Session A
test=# vacuum freeze;

Session B
-- During vacuum freeze
test=# alter table testbb rename to testb;
ALTER TABLE
test=# select datname, age(datfrozenxid) from pg_database ;
  datname  |  age
-----------+--------
 test      |    300

-- After vacuum freeze
test=# select datname, age(datfrozenxid) from pg_database ;
  datname  |  age
-----------+--------
 test      |    158


Scene IV


无论是alter table还是select session,只要这个session在vacuum freeze期间出现,age就会变大。如果session在vacuum freeze期间结束,age就会被缩回

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26477398/viewspace-2135246/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-06-13

  • 博文量
    284
  • 访问量
    222487