csv format for psql

Started by Daniel Veriteabout 8 years ago147 messageshackers
Jump to latest
#1Daniel Verite
daniel@manitou-mail.org

Hi,

This patch implements csv as an output format in psql
(\pset format csv). It's quite similar to the unaligned format,
except that it applies CSV quoting rules (obviously!) and that
it prints no footer and no title.
As with unaligned, a header with column names is output unless
tuples_only is on. It also supports the fieldsep/fielsep_zero
and recordsep/recordsep_zero settings.

Most of times, the need for CSV is covered by \copy or COPY with
the CSV option, but there are some cases where it would be more
practical to have it as an output format in psql.

* \copy does not interpolate psql variables and is a single-line
command, so making a query fit these contraints can be cumbersome.
It can be got around by defining a temporary view and
\copy from that view, but that doesn't work in a read-only context
such as when connected to a standby.

* the server-side COPY TO STDOUT can also be used from psql,
typically with psql -c "COPY (query) TO STDOUT CSV" > file.csv,
but that's too simple to extract multiple result sets per script.
COPY is also more rigid than psql in the options to delimit
fields and records.

* copy with csv can't help for the output of meta-commands
such as \gx, \crosstabview, \l, \d ... whereas a CSV format within psql
does work with these.

Best regards,
--
Daniel Vérité
PostgreSQL-powered mailer: http://www.manitou-mail.org
Twitter: @DanielVerite

Attachments:

psql-csv-format.patchtext/plainDownload+166-24
#2Fabien COELHO
coelho@cri.ensmp.fr
In reply to: Daniel Verite (#1)
Re: csv format for psql

Hello Daniel,

This patch implements csv as an output format in psql
(\pset format csv).

Would you consider registering it in the next CF?

--
Fabien.

#3Pavel Stehule
pavel.stehule@gmail.com
In reply to: Daniel Verite (#1)
Re: csv format for psql

2018-01-30 9:31 GMT+01:00 Daniel Verite <daniel@manitou-mail.org>:

Hi,

This patch implements csv as an output format in psql
(\pset format csv). It's quite similar to the unaligned format,
except that it applies CSV quoting rules (obviously!) and that
it prints no footer and no title.
As with unaligned, a header with column names is output unless
tuples_only is on. It also supports the fieldsep/fielsep_zero
and recordsep/recordsep_zero settings.

Most of times, the need for CSV is covered by \copy or COPY with
the CSV option, but there are some cases where it would be more
practical to have it as an output format in psql.

I absolutely agree

* \copy does not interpolate psql variables and is a single-line
command, so making a query fit these contraints can be cumbersome.
It can be got around by defining a temporary view and
\copy from that view, but that doesn't work in a read-only context
such as when connected to a standby.

* the server-side COPY TO STDOUT can also be used from psql,
typically with psql -c "COPY (query) TO STDOUT CSV" > file.csv,
but that's too simple to extract multiple result sets per script.
COPY is also more rigid than psql in the options to delimit
fields and records.

* copy with csv can't help for the output of meta-commands
such as \gx, \crosstabview, \l, \d ... whereas a CSV format within psql
does work with these.

It is great - long time I miss this feature - It is interesting for
scripting, ETL, ..

This format is too important, so some special short or long option can be
practical (it will be printed in help)

some like --csv

I found one issue - PostgreSQL default field separator is "|". Maybe good
time to use more common "," ?

Or when field separator was not explicitly defined, then use "," for CSV,
and "|" for other. Although it can be little bit messy

Thank you

Pavel

Show quoted text

Best regards,
--
Daniel Vérité
PostgreSQL-powered mailer: http://www.manitou-mail.org
Twitter: @DanielVerite

#4Daniel Verite
daniel@manitou-mail.org
In reply to: Fabien COELHO (#2)
Re: csv format for psql

Fabien COELHO wrote:

This patch implements csv as an output format in psql
(\pset format csv).

Would you consider registering it in the next CF?

Done here:

https://commitfest.postgresql.org/17/1500/

Best regards,
--
Daniel Vérité
PostgreSQL-powered mailer: http://www.manitou-mail.org
Twitter: @DanielVerite

#5Daniel Verite
daniel@manitou-mail.org
In reply to: Pavel Stehule (#3)
Re: csv format for psql

Pavel Stehule wrote:

This format is too important, so some special short or long option can be
practical (it will be printed in help)

some like --csv

I guess -C/--csv could be used, like there already is -H/--html.

I found one issue - PostgreSQL default field separator is "|". Maybe good
time to use more common "," ?

Or when field separator was not explicitly defined, then use "," for CSV,
and "|" for other. Although it can be little bit messy

Currently there's a strong analogy between the unaligned
mode and csv mode. In particular they use the existing pset
variables fieldsep, fieldsep_zero, recordsep, recordsep_zero
in the same way. If we want to make csv special with regard
to the delimiters, that complicates the user interface
For instance if fieldsep was changed automatically by
\pset format csv, it's not obvious if/when we should switch it
back to its previous state, and how the fieldsep switch done
automatically would mix or conflict with other \pset
commands issued by the user.
Or we need to duplicate these variables. Or duplicate
only fieldsep, having a fieldsep_csv, leaving out the
other variables and not being as close to the unaligned
mode.
These options don't appeal to me much compared
to the simplicity of the current patch.

Also, although the comma is the separator defined by the
RFC4180 and the default for COPY CSV, people also use the
semicolon extensively (because it's what Excel does I guess),
which somehow mitigates the importance of comma as the
default value.

Best regards,
--
Daniel Vérité
PostgreSQL-powered mailer: http://www.manitou-mail.org
Twitter: @DanielVerite

#6Pavel Stehule
pavel.stehule@gmail.com
In reply to: Daniel Verite (#5)
Re: csv format for psql

2018-01-31 13:58 GMT+01:00 Daniel Verite <daniel@manitou-mail.org>:

Pavel Stehule wrote:

This format is too important, so some special short or long option can be
practical (it will be printed in help)

some like --csv

I guess -C/--csv could be used, like there already is -H/--html.

I found one issue - PostgreSQL default field separator is "|". Maybe good
time to use more common "," ?

Or when field separator was not explicitly defined, then use "," for CSV,
and "|" for other. Although it can be little bit messy

Currently there's a strong analogy between the unaligned
mode and csv mode. In particular they use the existing pset
variables fieldsep, fieldsep_zero, recordsep, recordsep_zero
in the same way. If we want to make csv special with regard
to the delimiters, that complicates the user interface
For instance if fieldsep was changed automatically by
\pset format csv, it's not obvious if/when we should switch it
back to its previous state, and how the fieldsep switch done
automatically would mix or conflict with other \pset
commands issued by the user.
Or we need to duplicate these variables. Or duplicate
only fieldsep, having a fieldsep_csv, leaving out the
other variables and not being as close to the unaligned
mode.
These options don't appeal to me much compared
to the simplicity of the current patch.

Also, although the comma is the separator defined by the
RFC4180 and the default for COPY CSV, people also use the
semicolon extensively (because it's what Excel does I guess),
which somehow mitigates the importance of comma as the
default value.

The functionality is clean and great - default setting "|" is less. I have
not strong opinion about it and I understand to your arguments. Has anybody
some idea?

Regards

Pavel

Show quoted text

Best regards,
--
Daniel Vérité
PostgreSQL-powered mailer: http://www.manitou-mail.org
Twitter: @DanielVerite

#7Pavel Stehule
pavel.stehule@gmail.com
In reply to: Pavel Stehule (#6)
Re: csv format for psql

2018-01-31 14:09 GMT+01:00 Pavel Stehule <pavel.stehule@gmail.com>:

2018-01-31 13:58 GMT+01:00 Daniel Verite <daniel@manitou-mail.org>:

Pavel Stehule wrote:

This format is too important, so some special short or long option can

be

practical (it will be printed in help)

some like --csv

I guess -C/--csv could be used, like there already is -H/--html.

I found one issue - PostgreSQL default field separator is "|". Maybe

good

time to use more common "," ?

Or when field separator was not explicitly defined, then use "," for

CSV,

and "|" for other. Although it can be little bit messy

Currently there's a strong analogy between the unaligned
mode and csv mode. In particular they use the existing pset
variables fieldsep, fieldsep_zero, recordsep, recordsep_zero
in the same way. If we want to make csv special with regard
to the delimiters, that complicates the user interface
For instance if fieldsep was changed automatically by
\pset format csv, it's not obvious if/when we should switch it
back to its previous state, and how the fieldsep switch done
automatically would mix or conflict with other \pset
commands issued by the user.
Or we need to duplicate these variables. Or duplicate
only fieldsep, having a fieldsep_csv, leaving out the
other variables and not being as close to the unaligned
mode.
These options don't appeal to me much compared
to the simplicity of the current patch.

Also, although the comma is the separator defined by the
RFC4180 and the default for COPY CSV, people also use the
semicolon extensively (because it's what Excel does I guess),
which somehow mitigates the importance of comma as the
default value.

The functionality is clean and great - default setting "|" is less. I have
not strong opinion about it and I understand to your arguments. Has anybody
some idea?

two other ideas from me

1. currently \pset format xxx command has not any other parameters. Other
optional parameters can be set of possible attributes like {, ; | \t
header_off escape_all}. If this set will be known by tabcomplete, then it
can be very friendly and I don't think so code will be more complex than in
your proposal (long options can be "--csv --csv-options=", header_off" )

some like "\pset format csv , header_off

or just limited variant with only field separator specification

\pset format csv ;

2. if we support csv format, then we can introduce \gcsv xxx | gnuplot ....
It is just idea.

@1 is much more interesting than @2

Regards

Pavel

Show quoted text

Regards

Pavel

Best regards,
--
Daniel Vérité
PostgreSQL-powered mailer: http://www.manitou-mail.org
Twitter: @DanielVerite

#8Pavel Stehule
pavel.stehule@gmail.com
In reply to: Daniel Verite (#5)
Re: csv format for psql

2018-01-31 13:58 GMT+01:00 Daniel Verite <daniel@manitou-mail.org>:

Pavel Stehule wrote:

This format is too important, so some special short or long option can be
practical (it will be printed in help)

some like --csv

I guess -C/--csv could be used, like there already is -H/--html.

I prefer just long option only. Maybe in future we can use short "C" for
something else better. There is only few free short commands.

Regards

Pavel

Show quoted text

I found one issue - PostgreSQL default field separator is "|". Maybe good
time to use more common "," ?

Or when field separator was not explicitly defined, then use "," for CSV,
and "|" for other. Although it can be little bit messy

Currently there's a strong analogy between the unaligned
mode and csv mode. In particular they use the existing pset
variables fieldsep, fieldsep_zero, recordsep, recordsep_zero
in the same way. If we want to make csv special with regard
to the delimiters, that complicates the user interface
For instance if fieldsep was changed automatically by
\pset format csv, it's not obvious if/when we should switch it
back to its previous state, and how the fieldsep switch done
automatically would mix or conflict with other \pset
commands issued by the user.
Or we need to duplicate these variables. Or duplicate
only fieldsep, having a fieldsep_csv, leaving out the
other variables and not being as close to the unaligned
mode.
These options don't appeal to me much compared
to the simplicity of the current patch.

Also, although the comma is the separator defined by the
RFC4180 and the default for COPY CSV, people also use the
semicolon extensively (because it's what Excel does I guess),
which somehow mitigates the importance of comma as the
default value.

Best regards,
--
Daniel Vérité
PostgreSQL-powered mailer: http://www.manitou-mail.org
Twitter: @DanielVerite

#9Daniel Verite
daniel@manitou-mail.org
In reply to: Pavel Stehule (#8)
Re: csv format for psql

Pavel Stehule wrote:

I guess -C/--csv could be used, like there already is -H/--html.

I prefer just long option only. Maybe in future we can use short "C" for
something else better. There is only few free short commands.

Looking at parse_psql_options(), currently psql has 35 long options
and all of them have a corresponding single-character invocation.
Unless there is a consensus for it, I don't feel like it's time to create
the precedent that some options deserve short forms and others
don't.

Sure at some point we'll run out of letters, but looking back ten
years ago, on Jan 2008 psql had 31 options, so the rate of adding new
ones does not look worrying.

Besides I like the fact that -C can be seen as a drop-in replacement for
-A, because in most cases, it's just a safer version of -A, as it
deals with the situation that the separator might be in the contents,
which is the main weakness of -A.

Best regards,
--
Daniel Vérité
PostgreSQL-powered mailer: http://www.manitou-mail.org
Twitter: @DanielVerite

#10Daniel Verite
daniel@manitou-mail.org
In reply to: Pavel Stehule (#7)
Re: csv format for psql

Pavel Stehule wrote:

some like "\pset format csv , header_off

If we did that, we'd need to reconsider the interactions
of this with \t on|off and \pset footer on|off
and how to keep things consistent with the unaligned
format.
I feel like it's not worth the trouble.
We can still add this later if users are confused with
the interface, but that interface is already well
established with the unaligned format.

2. if we support csv format, then we can introduce \gcsv xxx | gnuplot ....

I thought committers rejected this because they didn't want a
new variant of \g
The csv format makes it possible to not add any new \g-style
metacommand and inject csv into the existing ones.

Best regards,
--
Daniel Vérité
PostgreSQL-powered mailer: http://www.manitou-mail.org
Twitter: @DanielVerite

#11Pavel Stehule
pavel.stehule@gmail.com
In reply to: Daniel Verite (#10)
Re: csv format for psql

2018-02-12 15:33 GMT+01:00 Daniel Verite <daniel@manitou-mail.org>:

Pavel Stehule wrote:

some like "\pset format csv , header_off

If we did that, we'd need to reconsider the interactions
of this with \t on|off and \pset footer on|off
and how to keep things consistent with the unaligned
format.

ok

I feel like it's not worth the trouble.
We can still add this later if users are confused with
the interface, but that interface is already well
established with the unaligned format.

2. if we support csv format, then we can introduce \gcsv xxx | gnuplot

....

I thought committers rejected this because they didn't want a
new variant of \g
The csv format makes it possible to not add any new \g-style
metacommand and inject csv into the existing ones.

ok

Show quoted text

Best regards,
--
Daniel Vérité
PostgreSQL-powered mailer: http://www.manitou-mail.org
Twitter: @DanielVerite

#12Fabien COELHO
coelho@cri.ensmp.fr
In reply to: Daniel Verite (#1)
Re: csv format for psql

Hello Daniel,

This patch implements csv as an output format in psql
(\pset format csv). It's quite similar to the unaligned format,
except that it applies CSV quoting rules (obviously!) and that
it prints no footer and no title.
As with unaligned, a header with column names is output unless
tuples_only is on. It also supports the fieldsep/fielsep_zero
and recordsep/recordsep_zero settings.

Patch applies cleanly and compiles. "make check" ok, although there is
no specific test for this feature...

The documentation should mention the other CSV options (COPY, \copy, ...)
and explain how they compare to this one. Maybe a specific paragraph about
how to do CSV? I understand "\pset format csv" as triggering that all
outputs compared to per command options.

Given that this is somehow already available, I'm wondering why there is
no code sharing.

I find it annoying that setting csv keeps the default '|' separator, where
ISTM that it should be by default "," (as in COMMA separated value:-).
However it would not be a good idea to change another variables when setting
one, obviously.

Maybe some \csv command could set the format to csv, fieldsep to ",",
tuples_only to on, recordsep to '\n'? Not sure whether it would be
acceptable, though, and how to turn it off once turned on... Probably an
average (aka not good) idea:-)

The format adds column headers, however they are not escaped properly:

psql> \pset format csv
psql> \pset fieldsep ,
psql> SELECT 1 AS "hello, world", 2 AS """";
hello, world,"
1,2

Also it does not seem to work properly in expanded mode, both for the
column and values:

psql> \x
psql> SELECT 1 AS "bla""", E'\n,"' AS foo;
bla",1
foo,
,"

There MUST be some tests, especially with ugly stuff (escapes, newlines,
double quotes, various types, expanded or not, field seps, strange
column names...).

Most of times, the need for CSV is covered by \copy or COPY with
the CSV option, but there are some cases where it would be more
practical to have it as an output format in psql.

* \copy does not interpolate psql variables and is a single-line
command, so making a query fit these contraints can be cumbersome.
It can be got around by defining a temporary view and
\copy from that view, but that doesn't work in a read-only context
such as when connected to a standby.

* the server-side COPY TO STDOUT can also be used from psql,
typically with psql -c "COPY (query) TO STDOUT CSV" > file.csv,
but that's too simple to extract multiple result sets per script.
COPY is also more rigid than psql in the options to delimit
fields and records.

* copy with csv can't help for the output of meta-commands
such as \gx, \crosstabview, \l, \d ... whereas a CSV format within psql
does work with these.

--
Fabien.

#13Daniel Verite
daniel@manitou-mail.org
In reply to: Fabien COELHO (#12)
Re: csv format for psql

Fabien COELHO wrote:

Maybe some \csv command could set the format to csv, fieldsep to ",",
tuples_only to on, recordsep to '\n'? Not sure whether it would be
acceptable, though, and how to turn it off once turned on... Probably an
average (aka not good) idea:-)

Thanks for reviewing this patch!

Attached is a v2 fixing the bugs you mentioned, and adding ---csv/-C
as discussed upthread. I'll add some regression tests shortly.

About the default separator, the approach taken by this patch is that
the csv output is equivalent to unaligned with csv quoting, so it has
the same behavior and follows the options of the unaligned mode
as much as possible.

That seemed like a good idea to me when I wrote it, but maybe
a better idea would to have a new \pset fieldsep_csv
parameter with its own command-line option, and ignore {fieldsep,
fieldsep_zero, recordsep, recordsep_zero} for this format, just like
they are being ignored for HTML, or latex, or asciidoc...
Does anyone who think that csv should be added care
about this "alignment" with unaligned? :)

Best regards,
--
Daniel Vérité
PostgreSQL-powered mailer: http://www.manitou-mail.org
Twitter: @DanielVerite

Attachments:

psql-csv-format-v2.patchtext/plainDownload+178-25
#14Pavel Stehule
pavel.stehule@gmail.com
In reply to: Daniel Verite (#13)
Re: csv format for psql

2018-03-01 17:10 GMT+01:00 Daniel Verite <daniel@manitou-mail.org>:

Fabien COELHO wrote:

Maybe some \csv command could set the format to csv, fieldsep to ",",
tuples_only to on, recordsep to '\n'? Not sure whether it would be
acceptable, though, and how to turn it off once turned on... Probably an
average (aka not good) idea:-)

Thanks for reviewing this patch!

Attached is a v2 fixing the bugs you mentioned, and adding ---csv/-C
as discussed upthread. I'll add some regression tests shortly.

About the default separator, the approach taken by this patch is that
the csv output is equivalent to unaligned with csv quoting, so it has
the same behavior and follows the options of the unaligned mode
as much as possible.

That seemed like a good idea to me when I wrote it, but maybe
a better idea would to have a new \pset fieldsep_csv
parameter with its own command-line option, and ignore {fieldsep,
fieldsep_zero, recordsep, recordsep_zero} for this format, just like
they are being ignored for HTML, or latex, or asciidoc...
Does anyone who think that csv should be added care
about this "alignment" with unaligned? :)

good idea

Pavel

Show quoted text

Best regards,
--
Daniel Vérité
PostgreSQL-powered mailer: http://www.manitou-mail.org
Twitter: @DanielVerite

#15Fabien COELHO
coelho@cri.ensmp.fr
In reply to: Daniel Verite (#13)
Re: csv format for psql

Hello Daniel,

Attached is a v2 fixing the bugs you mentioned, and adding ---csv/-C
as discussed upthread. I'll add some regression tests shortly.

Basically I'm waiting for the version with regression tests before
reviewing.

It is unclear whether committer will like it.

From my point of view being able to simply set postgres to generate csv is
fine with me, with example uses such as:

psql --csv 'TABLE Stuff;' > stuff.csv

So that having the --csv option to turn to "full csv", i.e. set the format
and various seperators as expected, would be a nice have.

--
Fabien.

#16Pavel Stehule
pavel.stehule@gmail.com
In reply to: Fabien COELHO (#15)
Re: csv format for psql

2018-03-07 10:45 GMT+01:00 Fabien COELHO <coelho@cri.ensmp.fr>:

Hello Daniel,

Attached is a v2 fixing the bugs you mentioned, and adding ---csv/-C

as discussed upthread. I'll add some regression tests shortly.

Basically I'm waiting for the version with regression tests before
reviewing.

It is unclear whether committer will like it.

From my point of view being able to simply set postgres to generate csv is
fine with me, with example uses such as:

psql --csv 'TABLE Stuff;' > stuff.csv

So that having the --csv option to turn to "full csv", i.e. set the format
and various seperators as expected, would be a nice have.

There is commad -c and it should be used. The --csv options should not to
have a parameter. I don't like a idea to have more options for query
execution.

Regards

Pavel

Show quoted text

--
Fabien.

#17Fabien COELHO
coelho@cri.ensmp.fr
In reply to: Pavel Stehule (#16)
Re: csv format for psql

Hello Pavel,

psql --csv 'TABLE Stuff;' > stuff.csv

There is commad -c and it should be used. The --csv options should not to
have a parameter. I don't like a idea to have more options for query
execution.

Yes, I agree and that is indeed what I meant, sorry for the typo. The
cleaner example would be something like:

psql --csv -c 'TABLE foo' > foo.csv

With a -c to introduce the command.

--
Fabien.

#18Pavel Stehule
pavel.stehule@gmail.com
In reply to: Fabien COELHO (#17)
Re: csv format for psql

2018-03-07 19:40 GMT+01:00 Fabien COELHO <coelho@cri.ensmp.fr>:

Hello Pavel,

psql --csv 'TABLE Stuff;' > stuff.csv

There is commad -c and it should be used. The --csv options should not to
have a parameter. I don't like a idea to have more options for query
execution.

Yes, I agree and that is indeed what I meant, sorry for the typo. The
cleaner example would be something like:

psql --csv -c 'TABLE foo' > foo.csv

With a -c to introduce the command.

ok :) it has sense now

Regards

Pavel

Show quoted text

--
Fabien.

#19David Fetter
david@fetter.org
In reply to: Fabien COELHO (#17)
Re: csv format for psql

On Wed, Mar 07, 2018 at 07:40:49PM +0100, Fabien COELHO wrote:

Hello Pavel,

psql --csv 'TABLE Stuff;' > stuff.csv

There is commad -c and it should be used. The --csv options should not to
have a parameter. I don't like a idea to have more options for query
execution.

Yes, I agree and that is indeed what I meant, sorry for the typo. The
cleaner example would be something like:

psql --csv -c 'TABLE foo' > foo.csv

With a -c to introduce the command.

This seems pretty specialized. If we're adding something new, how about

psql --format=csv -o foo.csv -c 'TABLE foo'

Or we could stick with:

psql -P format=csv -o foo.csv -c 'TABLE foo'

Best,
David.
--
David Fetter <david(at)fetter(dot)org> http://fetter.org/
Phone: +1 415 235 3778

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate

#20Fabien COELHO
coelho@cri.ensmp.fr
In reply to: David Fetter (#19)
Re: csv format for psql

psql --csv -c 'TABLE foo' > foo.csv

With a -c to introduce the command.

This seems pretty specialized. If we're adding something new, how about

psql --format=csv -o foo.csv -c 'TABLE foo'

Or we could stick with:

psql -P format=csv -o foo.csv -c 'TABLE foo'

Currently "-P format=csv" uses the unaligned formating separators, i.e.
'|' is used. I was suggesting that a special long option could switch
several variables to some specific values, i.e.

--csv

Would be equivalent to something like:

-P format=csv -P fieldsep=, -P recordsep=\n (?) -P tuples_only=on ...

I.e. really generate some csv from the data in just one option, not many.

But this is obviously debatable.

--
Fabien.

#21David Fetter
david@fetter.org
In reply to: Fabien COELHO (#20)
#22Pavel Stehule
pavel.stehule@gmail.com
In reply to: David Fetter (#21)
#23Daniel Verite
daniel@manitou-mail.org
In reply to: Daniel Verite (#13)
#24Daniel Verite
daniel@manitou-mail.org
In reply to: David Fetter (#19)
#25Daniel Verite
daniel@manitou-mail.org
In reply to: David Fetter (#21)
#26Pavel Stehule
pavel.stehule@gmail.com
In reply to: Daniel Verite (#25)
#27David Fetter
david@fetter.org
In reply to: Pavel Stehule (#26)
#28Pavel Stehule
pavel.stehule@gmail.com
In reply to: David Fetter (#27)
#29Fabien COELHO
coelho@cri.ensmp.fr
In reply to: David Fetter (#21)
#30Pavel Stehule
pavel.stehule@gmail.com
In reply to: Fabien COELHO (#29)
#31Fabien COELHO
coelho@cri.ensmp.fr
In reply to: Daniel Verite (#23)
#32Pavel Stehule
pavel.stehule@gmail.com
In reply to: Fabien COELHO (#31)
#33Pavel Stehule
pavel.stehule@gmail.com
In reply to: Pavel Stehule (#32)
#34Peter Eisentraut
peter_e@gmx.net
In reply to: Fabien COELHO (#31)
#35Pavel Stehule
pavel.stehule@gmail.com
In reply to: Peter Eisentraut (#34)
#36Fabien COELHO
coelho@cri.ensmp.fr
In reply to: Pavel Stehule (#35)
#37Pavel Stehule
pavel.stehule@gmail.com
In reply to: Fabien COELHO (#36)
#38Daniel Verite
daniel@manitou-mail.org
In reply to: Fabien COELHO (#31)
#39Daniel Verite
daniel@manitou-mail.org
In reply to: Daniel Verite (#38)
#40David G. Johnston
david.g.johnston@gmail.com
In reply to: Daniel Verite (#39)
#41Daniel Verite
daniel@manitou-mail.org
In reply to: David G. Johnston (#40)
#42David G. Johnston
david.g.johnston@gmail.com
In reply to: Daniel Verite (#41)
#43Fabien COELHO
coelho@cri.ensmp.fr
In reply to: Daniel Verite (#38)
#44Fabien COELHO
coelho@cri.ensmp.fr
In reply to: Daniel Verite (#39)
#45David Steele
david@pgmasters.net
In reply to: Fabien COELHO (#44)
#46Daniel Verite
daniel@manitou-mail.org
In reply to: David Steele (#45)
#47Pavel Stehule
pavel.stehule@gmail.com
In reply to: Daniel Verite (#46)
#48Fabien COELHO
coelho@cri.ensmp.fr
In reply to: Pavel Stehule (#47)
#49Pavel Stehule
pavel.stehule@gmail.com
In reply to: Fabien COELHO (#48)
#50Pavel Stehule
pavel.stehule@gmail.com
In reply to: Pavel Stehule (#49)
#51Pavel Stehule
pavel.stehule@gmail.com
In reply to: Pavel Stehule (#50)
#52Daniel Verite
daniel@manitou-mail.org
In reply to: Pavel Stehule (#49)
#53Fabien COELHO
fabien.coelho@mines-paristech.fr
In reply to: Daniel Verite (#46)
#54Pavel Stehule
pavel.stehule@gmail.com
In reply to: Daniel Verite (#52)
#55Pavel Stehule
pavel.stehule@gmail.com
In reply to: Fabien COELHO (#53)
#56Fabien COELHO
coelho@cri.ensmp.fr
In reply to: Pavel Stehule (#55)
#57Pavel Stehule
pavel.stehule@gmail.com
In reply to: Fabien COELHO (#56)
#58Pavel Stehule
pavel.stehule@gmail.com
In reply to: Pavel Stehule (#57)
#59Pavel Stehule
pavel.stehule@gmail.com
In reply to: Pavel Stehule (#58)
#60Pavel Stehule
pavel.stehule@gmail.com
In reply to: Pavel Stehule (#58)
#61Fabien COELHO
coelho@cri.ensmp.fr
In reply to: Pavel Stehule (#58)
#62Pavel Stehule
pavel.stehule@gmail.com
In reply to: Fabien COELHO (#61)
#63Fabien COELHO
coelho@cri.ensmp.fr
In reply to: Pavel Stehule (#62)
#64Pavel Stehule
pavel.stehule@gmail.com
In reply to: Fabien COELHO (#63)
#65Pavel Stehule
pavel.stehule@gmail.com
In reply to: Pavel Stehule (#64)
#66Daniel Verite
daniel@manitou-mail.org
In reply to: Pavel Stehule (#65)
#67Pavel Stehule
pavel.stehule@gmail.com
In reply to: Daniel Verite (#66)
#68Daniel Verite
daniel@manitou-mail.org
In reply to: Pavel Stehule (#67)
#69Pavel Stehule
pavel.stehule@gmail.com
In reply to: Daniel Verite (#68)
#70Fabien COELHO
coelho@cri.ensmp.fr
In reply to: Pavel Stehule (#64)
#71Pavel Stehule
pavel.stehule@gmail.com
In reply to: Fabien COELHO (#70)
#72Fabien COELHO
coelho@cri.ensmp.fr
In reply to: Pavel Stehule (#71)
#73Pavel Stehule
pavel.stehule@gmail.com
In reply to: Fabien COELHO (#72)
#74David G. Johnston
david.g.johnston@gmail.com
In reply to: Pavel Stehule (#73)
#75David G. Johnston
david.g.johnston@gmail.com
In reply to: David G. Johnston (#74)
#76David G. Johnston
david.g.johnston@gmail.com
In reply to: Daniel Verite (#68)
#77Joshua D. Drake
jd@commandprompt.com
In reply to: David G. Johnston (#76)
#78David G. Johnston
david.g.johnston@gmail.com
In reply to: Fabien COELHO (#72)
#79Isaac Morland
isaac.morland@gmail.com
In reply to: Joshua D. Drake (#77)
#80David G. Johnston
david.g.johnston@gmail.com
In reply to: Isaac Morland (#79)
#81Daniel Verite
daniel@manitou-mail.org
In reply to: David G. Johnston (#74)
#82Daniel Verite
daniel@manitou-mail.org
In reply to: David G. Johnston (#75)
#83Pavel Stehule
pavel.stehule@gmail.com
In reply to: Daniel Verite (#82)
#84Daniel Verite
daniel@manitou-mail.org
In reply to: Isaac Morland (#79)
#85Daniel Verite
daniel@manitou-mail.org
In reply to: David G. Johnston (#78)
#86David G. Johnston
david.g.johnston@gmail.com
In reply to: Daniel Verite (#85)
#87David G. Johnston
david.g.johnston@gmail.com
In reply to: Daniel Verite (#85)
#88Pavel Stehule
pavel.stehule@gmail.com
In reply to: David G. Johnston (#87)
#89Fabien COELHO
coelho@cri.ensmp.fr
In reply to: Daniel Verite (#85)
#90Gavin Flower
GavinFlower@archidevsys.co.nz
In reply to: Fabien COELHO (#89)
#91Isaac Morland
isaac.morland@gmail.com
In reply to: Fabien COELHO (#89)
#92Fabien COELHO
coelho@cri.ensmp.fr
In reply to: Isaac Morland (#91)
#93Pavel Stehule
pavel.stehule@gmail.com
In reply to: Fabien COELHO (#92)
#94Peter Eisentraut
peter_e@gmx.net
In reply to: Pavel Stehule (#93)
#95Jonathan S. Katz
jkatz@postgresql.org
In reply to: Peter Eisentraut (#94)
#96Pavel Stehule
pavel.stehule@gmail.com
In reply to: Jonathan S. Katz (#95)
#97Jonathan S. Katz
jkatz@postgresql.org
In reply to: Pavel Stehule (#96)
#98Daniel Verite
daniel@manitou-mail.org
In reply to: Pavel Stehule (#93)
#99Pavel Stehule
pavel.stehule@gmail.com
In reply to: Daniel Verite (#98)
#100Daniel Verite
daniel@manitou-mail.org
In reply to: Peter Eisentraut (#94)
#101Daniel Verite
daniel@manitou-mail.org
In reply to: Isaac Morland (#91)
#102Daniel Verite
daniel@manitou-mail.org
In reply to: Daniel Verite (#101)
#103Pavel Stehule
pavel.stehule@gmail.com
In reply to: Daniel Verite (#100)
#104Pavel Stehule
pavel.stehule@gmail.com
In reply to: Daniel Verite (#100)
#105David G. Johnston
david.g.johnston@gmail.com
In reply to: Pavel Stehule (#104)
#106Pavel Stehule
pavel.stehule@gmail.com
In reply to: David G. Johnston (#105)
#107Daniel Verite
daniel@manitou-mail.org
In reply to: Pavel Stehule (#103)
#108Fabien COELHO
coelho@cri.ensmp.fr
In reply to: Daniel Verite (#107)
#109Pavel Stehule
pavel.stehule@gmail.com
In reply to: Daniel Verite (#107)
#110Daniel Verite
daniel@manitou-mail.org
In reply to: Fabien COELHO (#108)
#111Fabien COELHO
coelho@cri.ensmp.fr
In reply to: Daniel Verite (#110)
#112Daniel Verite
daniel@manitou-mail.org
In reply to: Fabien COELHO (#111)
#113Fabien COELHO
coelho@cri.ensmp.fr
In reply to: Daniel Verite (#112)
#114Michael Paquier
michael@paquier.xyz
In reply to: Fabien COELHO (#113)
#115Daniel Verite
daniel@manitou-mail.org
In reply to: Michael Paquier (#114)
#116Fabien COELHO
coelho@cri.ensmp.fr
In reply to: Daniel Verite (#115)
#117Michael Paquier
michael@paquier.xyz
In reply to: Fabien COELHO (#116)
#118Daniel Verite
daniel@manitou-mail.org
In reply to: Michael Paquier (#117)
#119Michael Paquier
michael@paquier.xyz
In reply to: Daniel Verite (#118)
#120Fabien COELHO
coelho@cri.ensmp.fr
In reply to: Michael Paquier (#119)
#121Daniel Verite
daniel@manitou-mail.org
In reply to: Michael Paquier (#119)
#122Michael Paquier
michael@paquier.xyz
In reply to: Daniel Verite (#121)
#123Michael Paquier
michael@paquier.xyz
In reply to: Michael Paquier (#122)
#124Pavel Stehule
pavel.stehule@gmail.com
In reply to: Michael Paquier (#123)
#125Daniel Verite
daniel@manitou-mail.org
In reply to: Michael Paquier (#123)
#126Michael Paquier
michael@paquier.xyz
In reply to: Daniel Verite (#125)
#127Daniel Verite
daniel@manitou-mail.org
In reply to: Michael Paquier (#126)
#128Michael Paquier
michael@paquier.xyz
In reply to: Daniel Verite (#127)
#129Daniel Verite
daniel@manitou-mail.org
In reply to: Michael Paquier (#128)
#130David G. Johnston
david.g.johnston@gmail.com
In reply to: Michael Paquier (#128)
#131Pavel Stehule
pavel.stehule@gmail.com
In reply to: David G. Johnston (#130)
#132Fabien COELHO
coelho@cri.ensmp.fr
In reply to: Michael Paquier (#128)
#133Tom Lane
tgl@sss.pgh.pa.us
In reply to: Fabien COELHO (#132)
#134Corey Huinker
corey.huinker@gmail.com
In reply to: Tom Lane (#133)
#135Tom Lane
tgl@sss.pgh.pa.us
In reply to: Corey Huinker (#134)
#136Andrew Gierth
andrew@tao11.riddles.org.uk
In reply to: Tom Lane (#133)
#137Pavel Stehule
pavel.stehule@gmail.com
In reply to: Andrew Gierth (#136)
#138Corey Huinker
corey.huinker@gmail.com
In reply to: Tom Lane (#135)
#139Magnus Hagander
magnus@hagander.net
In reply to: Pavel Stehule (#137)
#140Daniel Verite
daniel@manitou-mail.org
In reply to: Tom Lane (#133)
#141David G. Johnston
david.g.johnston@gmail.com
In reply to: Tom Lane (#133)
#142Tom Lane
tgl@sss.pgh.pa.us
In reply to: David G. Johnston (#141)
#143Daniel Verite
daniel@manitou-mail.org
In reply to: Tom Lane (#142)
#144Daniel Verite
daniel@manitou-mail.org
In reply to: Daniel Verite (#143)
#145Tom Lane
tgl@sss.pgh.pa.us
In reply to: Daniel Verite (#144)
#146Pavel Stehule
pavel.stehule@gmail.com
In reply to: Tom Lane (#145)
#147Daniel Verite
daniel@manitou-mail.org
In reply to: Tom Lane (#145)