finding a column by name in psql
Hi everyone,
I'm now used to using psql to manage my databases into a terminal, and
I found the very convenient "\g |" command that pipes query result in
any shell tool I want. But I still have hard time finding some columns
in some tables (that may have 300+ cols). I would like to pipe the
result of "\d" mytable in some grep but it doesn't work. I have done
it once or twice by SELECTing pg_attrib but this requires a lot of
typing. I tried to store a procedure but apparently I don't have any
language allowed... I'm sure it could do it but and I wondering if I
missed some simpler command that would allow me to conveniently search
into database structure. i.e. something like "\d mytable *_ts" that
could display all cols in mytable ending with "_ts".
Any advice ?
I'm still on postgresql 7 and will upgrade for new projects.
Guillaume
On 3/12/07, Guillaume Bog <guibog@gmail.com> wrote:
Hi everyone,
I'm now used to using psql to manage my databases into a terminal, and
I found the very convenient "\g |" command that pipes query result in
any shell tool I want. But I still have hard time finding some columns
in some tables (that may have 300+ cols). I would like to pipe the
result of "\d" mytable in some grep but it doesn't work. I have done
it once or twice by SELECTing pg_attrib but this requires a lot of
typing. I tried to store a procedure but apparently I don't have any
language allowed... I'm sure it could do it but and I wondering if I
missed some simpler command that would allow me to conveniently search
into database structure. i.e. something like "\d mytable *_ts" that
could display all cols in mytable ending with "_ts".
Have you tried configuring your pager? I use:
env:
PAGER=less
LESS='-iMSx4 -FX'
psql:
/pset pager=always
this allows for spreadsheet style navigation of psql results and you
can use search feature of less (slash) to highlight columns/data.
merlin
On 13/03/07, Merlin Moncure <mmoncure@gmail.com> wrote:
On 3/12/07, Guillaume Bog <guibog@gmail.com> wrote:
Hi everyone,
I'm now used to using psql to manage my databases into a terminal, and
I found the very convenient "\g |" command that pipes query result in
any shell tool I want. But I still have hard time finding some columns
in some tables (that may have 300+ cols). I would like to pipe the
result of "\d" mytable in some grep but it doesn't work. I have done
it once or twice by SELECTing pg_attrib but this requires a lot of
typing. I tried to store a procedure but apparently I don't have any
language allowed... I'm sure it could do it but and I wondering if I
missed some simpler command that would allow me to conveniently search
into database structure. i.e. something like "\d mytable *_ts" that
could display all cols in mytable ending with "_ts".Have you tried configuring your pager? I use:
env:
PAGER=less
LESS='-iMSx4 -FX'
psql:
/pset pager=alwaysthis allows for spreadsheet style navigation of psql results and you
can use search feature of less (slash) to highlight columns/data.
Excellent! Exactly what I was looking for, thanks a lot.