Re: LEFT JOIN in pg_dumpall is a bug
| От | Peter Eisentraut |
|---|---|
| Тема | Re: LEFT JOIN in pg_dumpall is a bug |
| Дата | |
| Msg-id | Pine.LNX.4.30.0101242233130.1469-100000@peter.localdomain обсуждение исходный текст |
| Ответ на | Re: LEFT JOIN in pg_dumpall is a bug (Tom Lane <tgl@sss.pgh.pa.us>) |
| Ответы |
Re: LEFT JOIN in pg_dumpall is a bug
|
| Список | pgsql-hackers |
Tom Lane writes:
> If you think depending on POSIX utilities is OK, then use cut.
> I'd recommend sed, though.
This has gotten pretty silly:
TAB=' ' # tab here
$PSQL -d template1 -At -F "$TAB" \ -c "SELECT datname, usename, pg_encoding_to_char(d.encoding),
datistemplate, datpath, 'x' FROM pg_database d LEFT JOIN pg_shadow u ON
(datdba = usesysid) WHERE datallowconn;" | \
while read RECORDS; do DATABASE=`echo "x$RECORDS" | sed "s/^x\([^$TAB]*\).*/\1/"` DBOWNER=`echo "x$RECORDS" | sed
"s/^x[^$TAB]*$TAB\([^$TAB]*\).*/\1/"` ENCODING=`echo "x$RECORDS" | sed
"s/^x[^$TAB]*$TAB[^$TAB]*$TAB\([^$TAB]*\).*/\1/"` ISTEMPLATE=`echo "x$RECORDS" | sed
"s/^x[^$TAB]*$TAB[^$TAB]*$TAB[^$TAB]*$TAB\([^$TAB]*\).*/\1/"` DBPATH=`echo "x$RECORDS" | sed
"s/^x[^$TAB]*$TAB[^$TAB]*$TAB[^$TAB]*$TAB[^$TAB]*$TAB\([^$TAB]*\).*/\1/"`
I'm not sure whether this is actually an overall improvement. I'm tempted
to just coalesce(usename, {some default user}) instead.
--
Peter Eisentraut peter_e@gmx.net http://yi.org/peter-e/
В списке pgsql-hackers по дате отправления: