access columns returned by psql from bash
-
16-10-2019 - |
Question
I want to use value returned by psql in bash. This is the script:
psql "connection parameters" -c "SELECT pg_database_size('dbname');"
The output is like this:
pg_database_size
------------------
5773072
(1 row)
But I only want the 5773072
so I can use it in logging. Can anyone help?
Solution
The -t
(--tuples-only
) option might be used also:
psql "connection parameters" -t -c "SELECT pg_database_size('dbname');"
OTHER TIPS
In addition to what @Milen already provided, you may want -A
(--no-align
) to remove leading white space:
psql "con params" -tAc "SELECT pg_size_pretty(pg_database_size('mydb'))"
As an aside: pg_size_pretty()
may or may not be of interest.
I got it:
psql "connection parameters" -c "SELECT pg_database_size('dbname');" | tail -3 | head -1 | tr -d ' '
Licensed under: CC-BY-SA with attribution
Not affiliated with dba.stackexchange