- 
                Notifications
    You must be signed in to change notification settings 
- Fork 0
Postgres
        alex [dot] kramer [at] g_m_a_i_l [dot] com edited this page Sep 16, 2024 
        ·
        5 revisions
      
    postgres -V# Install:
brew install postgresql
# Start
brew services start postgresql
# Logs
less /usr/local/var/log/postgres.log
# Postmaster.pid
cat /usr/local/var/postgres/postmaster.pid
# Cleanup after crash
brew services stop postgresql
rm /usr/local/var/postgres/postmaster.pid
brew services restart postgresql| Command | Description | 
|---|---|
| \timing | Turn on query timing | 
| \x | Turn on transposed results table (for large schemas) | 
| \q | Exit psql | 
| \d+ | List tables | 
| \d+ table_name | Describe table | 
| \l+ | List databases | 
| \c db_name | Connect to database | 
| \? | List psql commands | 
See more here: https://gist.github.com/anvk/475c22cbca1edc5ce94546c871460fdd
List nonzero table/index sizes:
select relname, pg_size_pretty(pg_total_relation_size(relname::regclass)) as full_size, pg_size_pretty(pg_relation_size(relname::regclass)) as table_size, pg_size_pretty(pg_total_relation_size(relname::regclass) - pg_relation_size(relname::regclass)) as index_size from pg_stat_user_tables order by pg_total_relation_size(relname::regclass) desc limit 100;List database sizes:
select datname, pg_size_pretty(pg_database_size(datname)) from pg_database order by pg_database_size(datname);List open connections:
SELECT * FROM pg_stat_activity WHERE datname = 'dbname';