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 по дате отправления: