Thread

Commits

  1. Fix pg_amcheck --skip option parameter handling

  1. BUG #17149: About --skip option of pg_amcheck command

    The Post Office <noreply@postgresql.org> — 2021-08-17T04:36:44Z

    The following bug has been logged on the website:
    
    Bug reference:      17149
    Logged by:          Chen Jiaoqian
    Email address:      chenjq.jy@fujitsu.com
    PostgreSQL version: 14beta3
    Operating system:   Red Hat Enterprise Linux Server release 7.8
    Description:        
    
    Hi, Author
    
        In PG14 beta3, when I use pg_amcheck command and specify the value of
    the option --skip as "none", "all-visible" or "all-frozen", an error
    occurs.
        The official website is described as follows:
        > --skip=option
        >   If all-frozen is given, table corruption checks will skip over pages
    in all tables that are marked as all frozen.
        >   If all-visible is given, table corruption checks will skip over
    pages in all tables that are marked as all visible.
        >   By default, no pages are skipped. This can be specified as none, but
    since this is the default, it need not be mentioned.
        
        When I specify the "none" value for --skip option, the following error
    occurs:
            [postgres14@localhost ~]$ pg_amcheck -p 51403 -d postgres -t tb01
    --skip=none
            pg_amcheck: error: invalid argument for option --skip
            [postgres14@localhost ~]$
    
        When I specify the "all-visible" or "all-frozen" value for --skip
    option, take "all-visible" as an example, the following error occurs:
            [postgres14@localhost ~]$ pg_amcheck -p 51403 -d postgres -t tb01
    --skip=all-visible
            2021-08-16 04:59:04.571 EDT [4689] ERROR:  invalid skip option
            2021-08-16 04:59:04.571 EDT [4689] HINT:  Valid skip options are
    "all-visible", "all-frozen", and "none".
            2021-08-16 04:59:04.571 EDT [4689] STATEMENT:  SELECT blkno, offnum,
    attnum, msg FROM "public".verify_heapam(
                    relation := 16396, on_error_stop := false, check_toast :=
    true, skip := 'all visible')
            heap table "postgres"."public"."tb01":
                ERROR:  invalid skip option
                HINT:  Valid skip options are "all-visible", "all-frozen", and
    "none".
            [postgres14@localhost ~]$
    
    Regards.
    
    
  2. Re: BUG #17149: About --skip option of pg_amcheck command

    Daniel Gustafsson <daniel@yesql.se> — 2021-08-17T07:54:12Z

    > On 17 Aug 2021, at 06:36, PG Bug reporting form <noreply@postgresql.org> wrote:
    
    >    When I specify the "none" value for --skip option, the following error
    > occurs:
    >        [postgres14@localhost ~]$ pg_amcheck -p 51403 -d postgres -t tb01
    > --skip=none
    >        pg_amcheck: error: invalid argument for option --skip
    >        [postgres14@localhost ~]$
    
    Nice catch, this should indeed be handled. Fixed in the attached.
    
    >    When I specify the "all-visible" or "all-frozen" value for --skip
    > option, take "all-visible" as an example, the following error occurs:
    >        [postgres14@localhost ~]$ pg_amcheck -p 51403 -d postgres -t tb01
    > --skip=all-visible
    >        2021-08-16 04:59:04.571 EDT [4689] ERROR:  invalid skip option
    >        2021-08-16 04:59:04.571 EDT [4689] HINT:  Valid skip options are
    > "all-visible", "all-frozen", and "none".
    
    Indeed, the attached fixes this as well.
    
    Barring objections I will apply the attached backpatched to 14.
    
    --
    Daniel Gustafsson		https://vmware.com/
    
    
  3. Re: BUG #17149: About --skip option of pg_amcheck command

    Masahiko Sawada <sawada.mshk@gmail.com> — 2021-08-18T05:30:47Z

    On Tue, Aug 17, 2021 at 4:54 PM Daniel Gustafsson <daniel@yesql.se> wrote:
    >
    > > On 17 Aug 2021, at 06:36, PG Bug reporting form <noreply@postgresql.org> wrote:
    >
    > >    When I specify the "none" value for --skip option, the following error
    > > occurs:
    > >        [postgres14@localhost ~]$ pg_amcheck -p 51403 -d postgres -t tb01
    > > --skip=none
    > >        pg_amcheck: error: invalid argument for option --skip
    > >        [postgres14@localhost ~]$
    >
    > Nice catch, this should indeed be handled. Fixed in the attached.
    >
    > >    When I specify the "all-visible" or "all-frozen" value for --skip
    > > option, take "all-visible" as an example, the following error occurs:
    > >        [postgres14@localhost ~]$ pg_amcheck -p 51403 -d postgres -t tb01
    > > --skip=all-visible
    > >        2021-08-16 04:59:04.571 EDT [4689] ERROR:  invalid skip option
    > >        2021-08-16 04:59:04.571 EDT [4689] HINT:  Valid skip options are
    > > "all-visible", "all-frozen", and "none".
    >
    > Indeed, the attached fixes this as well.
    >
    > Barring objections I will apply the attached backpatched to 14.
    
    The patch looks good to me.
    
    Regards,
    
    -- 
    Masahiko Sawada
    EDB:  https://www.enterprisedb.com/
    
    
    
    
  4. Re: BUG #17149: About --skip option of pg_amcheck command

    Daniel Gustafsson <daniel@yesql.se> — 2021-08-18T09:31:51Z

    > On 18 Aug 2021, at 07:30, Masahiko Sawada <sawada.mshk@gmail.com> wrote:
    > On Tue, Aug 17, 2021 at 4:54 PM Daniel Gustafsson <daniel@yesql.se> wrote:
    
    >> Barring objections I will apply the attached backpatched to 14.
    > 
    > The patch looks good to me.
    
    Pushed to master and v14, thanks for review!
    
    --
    Daniel Gustafsson		https://vmware.com/