Hi Pat,

Give a try changing the COPY delimiter using the sql_delimiter directive.
You can read more about the directive in CONFIG-KEYS. Keep me posted.

Cheers,
Paolo

On Wed, Dec 03, 2014 at 01:30:20AM -0800, THE MIGHTY VEXORG wrote:
> Using the pgsql plugin with both sql_use_copy and as_path as part of the
> aggregate appears to cause errors during the copy. It seems that there
> is an occasional extra comma in the as_path which then causes the copy
> to fail. This only appears to happen with the pgsql plugin when both
> sql_use_copy is true and as_path is part of the aggregate.
> 
> relevant parts of my nfacctd.conf:
> aggregate[bgp_hourly]: src_as, dst_as, peer_src_ip, peer_dst_ip,
> as_path, std_comm, local_pref, med, in_iface
> aggregate[flat]: src_as, dst_as, peer_src_ip, peer_dst_ip, as_path,
> std_comm, local_pref, med, in_iface
> plugins: print[flat], pgsql[bgp_hourly]
> sql_use_copy[bgp_hourly]: true
> print_output[flat]: csv
> 
> "flat" was used to print to csv file to help troubleshoot this problem.
> When the error occurs, the postgresql log has the following:
> 
> 2014-12-02 19:50:51 EST ERROR:  22P04: extra data after last expected column
> 2014-12-02 19:50:51 EST CONTEXT:  COPY acct_bgp_hourly_20141202_1900,
> line 28889: "2014-12-02 19:50:51,2014-12-02 19:00:00,0,5,64520,577:55
> 577:5606 577:11100 577:22111,174 39743 {322..."
> 2014-12-02 19:50:51 EST LOCATION:  NextCopyFrom, copy.c:2376
> 2014-12-02 19:50:51 EST STATEMENT:  COPY acct_bgp_hourly_20141202_1900
> (stamp_updated, stamp_inserted, as_src, iface_in, as_dst, comms,
> as_path, local_pref, med, peer_ip_src, peer_ip_dst, packets, bytes) FROM
> STDIN DELIMITER ','
> 
> and the corresponding line from the csv file:
> 
> SRC_AS,DST_AS,COMMS,AS_PATH,PREF,MED,PEER_SRC_IP,PEER_DST_IP,IN_IFACE,PACKETS,BYTES
> 0,64520,577:55_577:5606_577:11100_577:22111,174_39743_{3223,64520},110,0,64.230.195.154,64.230.195.154,5,4,160
> 
> It looks like the extra comma in the as_path field matches the
> delimiter, making postgresql think there is an extra field. Is there a
> way around this other than setting sql_use_copy to false or not
> collecting as_path data when using the pgsql plugin? Is there any other
> information I should collect to better troubleshoot this problem? In my
> setup, setting sql_use_copy to false makes it hard for nfacct/pgsql to
> be able to keep up with the incoming flows, so I would prefer to avoid
> that option if possible.
> 
> Pat
> 
> _______________________________________________
> pmacct-discussion mailing list
> http://www.pmacct.net/#mailinglists

_______________________________________________
pmacct-discussion mailing list
http://www.pmacct.net/#mailinglists

Reply via email to