bruce wrote:
> Tom Lane wrote:
> > Bruce Momjian <br...@momjian.us> writes:
> > > Tilmann Singer wrote:
> > >> However, all of the sequences were at the initial values and not
> > >> bumped up to the last used value as I would have expected. The first
> > >> nextval call on any sequence in the migrated 8.4 database always
> > >> returned 1.
> > 
> > > Wow, that is also surprising.  I am going to have to run some tests to
> > > find the cause, but it certainly is not intended.
> > 
> > Looks like pg_migrator neglects to include relkind 'S' in the set of
> > tables that it needs to physically migrate.
> 
> Thanks, I have fixed pg_migrator with the attached patch.  Once we find
> the cause of the lovacuum problem, I will make a new pg_migrator release.

The patch I posted definately fixes a bug.  Not sure how I missed the
regression changes caused by not migrating sequences;  I thought it was
an issue with cached sequence values, not an actual bug.

However, I with the patch, I am now seeing another difference;  a
database with:

        SELECT pg_catalog.setval('clstr_tst_a_seq', 33, true);

becomes:
        
        SELECT pg_catalog.setval('clstr_tst_a_seq', 33, false);

and the is_called column of the migrated sequences is NULL:

        regression=> \d check_seq
                  Sequence "public.check_seq"
            Column     |  Type   |        Value
        ---------------+---------+---------------------
         sequence_name | name    | check_seq
         last_value    | bigint  | 1
         start_value   | bigint  | 1
         increment_by  | bigint  | 9223372036854775807
         max_value     | bigint  | 1
         min_value     | bigint  | 1
         cache_value   | bigint  | 1
         log_cnt       | bigint  | 25387551686656
         is_cycled     | boolean | f
         is_called     | boolean |

        regression=> select * from check_seq where is_called is null;
         sequence_name | last_value | start_value |    increment_by     |
        max_value | min_value | cache_value |    log_cnt     | is_cycled |
        is_called
        
---------------+------------+-------------+---------------------+-----------+-----------+-------------+----------------+-----------+-----------
        
         check_seq     |          1 |           1 | 9223372036854775807 |       
         1 |         1 |           1 | 25387551686656 | f         |
        (1 row)

Something is certainly wrong.  Did we change sequence table format from
8.3 to 8.4?

-- 
  Bruce Momjian  <br...@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to