pg_hba.conf parse error gives wrong line number

Started by Oliver Elphickover 23 years ago3 messageshackers
Jump to latest
#1Oliver Elphick
olly@lfix.co.uk

With this pg_hba.conf (line numbers from vi, of course):

48 # TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD 49
50 local all all ident sameuser
51 host all 127.0.0.1 127.0.0.1 ident s ameuser
52

we naturally get a parse error because of the missing user column entry
in line 51. But in the log we see:

Dec 10 19:27:42 linda postgres[10944]: [8] LOG: parse_hba: invalid
syntax in pg_hba.conf file at line 95, token "ident"

In a more complicated file, a bogus line number is going to make
debugging very tricky. I tried following this in gdb, but haven't
managed to track it through the fork of the new backend.

--
Oliver Elphick Oliver.Elphick@lfix.co.uk
Isle of Wight, UK http://www.lfix.co.uk/oliver
GPG: 1024D/3E1D0C1C: CA12 09E0 E8D5 8870 5839 932A 614D 4C34 3E1D 0C1C
========================================
"I beseech you therefore, brethren, by the mercies of
God, that ye present your bodies a living sacrifice,
holy, acceptable unto God, which is your reasonable
service." Romans 12:1

#2Bruce Momjian
bruce@momjian.us
In reply to: Oliver Elphick (#1)
Re: pg_hba.conf parse error gives wrong line number

I see the problem with the line number here. I will work on a fix now.
Thanks.

---------------------------------------------------------------------------

Oliver Elphick wrote:

With this pg_hba.conf (line numbers from vi, of course):

48 # TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD 49
50 local all all ident sameuser
51 host all 127.0.0.1 127.0.0.1 ident s ameuser
52

we naturally get a parse error because of the missing user column entry
in line 51. But in the log we see:

Dec 10 19:27:42 linda postgres[10944]: [8] LOG: parse_hba: invalid
syntax in pg_hba.conf file at line 95, token "ident"

In a more complicated file, a bogus line number is going to make
debugging very tricky. I tried following this in gdb, but haven't
managed to track it through the fork of the new backend.

--
Oliver Elphick Oliver.Elphick@lfix.co.uk
Isle of Wight, UK http://www.lfix.co.uk/oliver
GPG: 1024D/3E1D0C1C: CA12 09E0 E8D5 8870 5839 932A 614D 4C34 3E1D 0C1C
========================================
"I beseech you therefore, brethren, by the mercies of
God, that ye present your bodies a living sacrifice,
holy, acceptable unto God, which is your reasonable
service." Romans 12:1

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
#3Bruce Momjian
bruce@momjian.us
In reply to: Oliver Elphick (#1)
Re: pg_hba.conf parse error gives wrong line number

OK, the following patch fixes the bug. The code wasn't handling
comments properly in dealing the the line count. I will backpatch this
into 7.3.

---------------------------------------------------------------------------

Oliver Elphick wrote:

With this pg_hba.conf (line numbers from vi, of course):

48 # TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD 49
50 local all all ident sameuser
51 host all 127.0.0.1 127.0.0.1 ident s ameuser
52

we naturally get a parse error because of the missing user column entry
in line 51. But in the log we see:

Dec 10 19:27:42 linda postgres[10944]: [8] LOG: parse_hba: invalid
syntax in pg_hba.conf file at line 95, token "ident"

In a more complicated file, a bogus line number is going to make
debugging very tricky. I tried following this in gdb, but haven't
managed to track it through the fork of the new backend.

--
Oliver Elphick Oliver.Elphick@lfix.co.uk
Isle of Wight, UK http://www.lfix.co.uk/oliver
GPG: 1024D/3E1D0C1C: CA12 09E0 E8D5 8870 5839 932A 614D 4C34 3E1D 0C1C
========================================
"I beseech you therefore, brethren, by the mercies of
God, that ye present your bodies a living sacrifice,
holy, acceptable unto God, which is your reasonable
service." Romans 12:1

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

Attachments:

/bjm/difftext/plainDownload+6-5