Re: psql - better support pipe line

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема Re: psql - better support pipe line
Дата
Msg-id 55DAF6C5.2010705@iki.fi
обсуждение исходный текст
Ответ на psql - better support pipe line  (Pavel Stehule <pavel.stehule@gmail.com>)
Ответы Re: psql - better support pipe line  (Pavel Stehule <pavel.stehule@gmail.com>)
Re: psql - better support pipe line  (Andrew Dunstan <andrew@dunslane.net>)
Re: psql - better support pipe line  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On 08/24/2015 08:06 AM, Pavel Stehule wrote:
> Hi
>
> I found so a set "psql" and "xargs" is pretty strong. But I miss a psql
> option for simple returning current database and continuing in pipeline.
>
> What I am doing:
>
> psql postgres -At -c "select datname from pg_database" |
> xargs -P 3 -I % psql % -At -c "select current_databe() from
> pg_stat_all_tables
> where relname = 'pg_attribute' and n_dead_tup > 100000" |
> xargs -P 3 -I % sh -c "psql % -q -c 'analyze pg_attribute'; echo %" |
> xargs -P 3 -I % psql % -At -c "select curren_database() from ..."
>
> it works perfectly - but the line
>
> xargs -P 3 -I % sh -c "psql % -q -c 'analyze pg_attribute'; echo %"
>
> is little bit ugly - with some psql option it can be cleaned to
>
> xargs -P3 -I % psql % -q --echo-db -c "analyze pg_attribute" | ...
>
> --echo-db requires -q option
>
> What are you thinking about this idea?

Seems like a one-tricky-pony to me. You're just as likely to need to 
print a relation name or something else, as the current database.

I don't actually understandu what you'd put in the "..." above. One 
you've analyze'd the table, what more do you want to do?

Overall, once your pipeline gets that complicated, I'd rather write a 
little bash or perl script with for-loops and variables.

- Heikki




В списке pgsql-hackers по дате отправления:

Предыдущее
От: Simon Riggs
Дата:
Сообщение: Re: Declarative partitioning
Следующее
От: Pavel Stehule
Дата:
Сообщение: Re: psql - better support pipe line