pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Andrew Dunstan <andrew@dunslane.net>
To: Mason <freemason@gmail.com>
Cc: pgsql-patches@postgresql.org
Subject: Re: Fwd: I would like to alter the COPY command
Date: Fri, 29 Dec 2006 12:43:09 -0500
Message-ID: <459553AD.3010806@dunslane.net> (raw)
In-Reply-To: <523e84030612231908i5c272b5atabe95643d482e157@mail.gmail.com>
References: <523e84030612231908s32ef5145s4e18582b4a579d07@mail.gmail.com>
	<523e84030612231908i5c272b5atabe95643d482e157@mail.gmail.com>

Mason wrote:
> What I have is data with two different characters for "start quote"
> and "end quote".  In my case it's '[' and ']', but it could be
> anything from "smart quotes", to parentheses, to brackets, braces, ^/$
> in regexps, etc.  I think this isn't too unreasonable a feature to
> have to make copy more functional when importing data that is
> difficult to transform properly beforehand (in my case is about half a
> terabyte of log files, which takes hours and hours, just to cat, let
> alone reparse and dump into COPY).

I think regexps would be going too far. One simple approach which 
wouldn't involve any grammar changes would be to allow the quote 
parameter to be 2 chars long instead of one, and treat the second as the 
closing quote char (which would otherwise default to the first char). An 
argument against that would be that it would preclude us from in future 
allowing multi-char quote marks. I'm not sure if that matters quite so 
much as it would for the delimiter parameter.

>
> Now, in my case I can just say "cat file | tr '[]' '""' | psql -f
> import.sql", but then I lose the ability for psql to do anything smart
> like using mmap (I'm making assumptions that it does anything smart
> like that, but even if it doesn't now, it could some day).
>

Well, you also earn a "Useless use of cat" award ;-)

And no, we don't mmap the file, but we do do some smart buffering stuff, 
thanks to Greenplum.

cheers

andrew



view thread (3+ messages)

Message-ID: <459553AD.3010806@dunslane.net>
Permalink:  ../459553AD.3010806@dunslane.net/
Also on:    postgresql.org/message-id/459553AD.3010806@dunslane.net

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: andrew@dunslane.net, freemason@gmail.com, pgsql-patches@postgresql.org
  Subject: Re: Fwd: I would like to alter the COPY command
  In-Reply-To: <459553AD.3010806@dunslane.net>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox