Re: selective export for subsequent import (COPY)
От | Brent Wood |
---|---|
Тема | Re: selective export for subsequent import (COPY) |
Дата | |
Msg-id | 462BC094.2020506@niwa.co.nz обсуждение исходный текст |
Ответ на | Re: selective export for subsequent import (COPY) (chrisj <chrisj.wood@sympatico.ca>) |
Список | pgsql-general |
chrisj wrote: > Thanks Brent, very much appreciated, your first suggestion is perfect. > > the translate suggestion assumes that there are no commas in the data, but > that is why I wanted to use tab. > I figured as much :-) Note that you can use -F "|" for a pipe symbol, or use any other character as the field separator in the psql command line, then change that to a tab with tr, if you do have commas in the data. It also scripts up nicely: ... FSEP="|" psql -d .... -F "$FSEP" .... | tr "$FSEP" "\t" > $FILE ... Brent > Brent Wood wrote: > >> chrisj wrote: >> >>> Thanks Alan, >>> This helped a lot, but ideally I want a tab field delimiter and -F '\t' >>> does >>> not seem to work, any ideas?? >>> >>> I noticed one other post on this same problem of the fieldsep '\t' not >>> working but the only advise offered was to use \pset. Can \pset be used >>> on >>> the command line, I can only get it to work within the psql command >>> processor. >>> >>> >>> >> You can always have a text file (file.sql): >> >> \pset ... >> select ..... >> >> >> the run the commands is a single client connection with >> >> psql database -Atf file.sql >> >> This runs a file of sql commands in a single psql connection instead of >> opening a new connection for every -c "" command. >> Thus the result of the \pset is still in force when the next sql >> statement is executed. >> >> or run your command as it is & pipe the output through tr to translate >> the commas to tabs. >> You can see what tr does using >> echo "1,2" | tr "," "\t" >> >> eg: >> psql $DATABASEHOST -U $DATABASEUSER -d $DATABASE -q -P footer -A -F , -c >> "$DETAIL_SQL" | tr "," "\t" >table.csv >> >> >> Cheers, >> >> Brent Wood >> >> >> ---------------------------(end of broadcast)--------------------------- >> TIP 3: Have you checked our extensive FAQ? >> >> http://www.postgresql.org/docs/faq >> >> >> > >
В списке pgsql-general по дате отправления: