Skip to content
Create a gist now

Instantly share code, notes, and snippets.

Embed URL


Subversion checkout URL

You can clone with
Download ZIP
def run_pg_fouine():
info = host_info[env.host_string]
db_name = info.tags.get('Name')
sudo('perl -pi -e "s/log_min_duration_statement = .*/log_min_duration_statement = 0/" /etc/postgresql/9.*/main/postgresql.conf')
sudo('/etc/init.d/postgresql reload')
sudo('perl -pi -e "s/log_min_duration_statement = .*/log_min_duration_statement = 500/" /etc/postgresql/9.*/main/postgresql.conf')
sudo('/etc/init.d/postgresql reload')
run('tail -n 100000 /var/log/postgresql/postgresql-9.*-main.log > /tmp/pgfouine.txt')
run('gzip -f /tmp/pgfouine.txt')
get('/tmp/pgfouine.txt.gz', local_path = '/tmp/latest-pgfouine.txt.gz')
local('gunzip -f /tmp/latest-pgfouine.txt.gz')
now = int(time.time())
local('~/src/pgfouine/pgfouine.php -logtype stderr -file /tmp/latest-pgfouine.txt -quiet > /tmp/pgfouine-%s-%d.html 2>1' % (db_name, now))
local('open /tmp/pgfouine-%s-%d.html' % (db_name, now) )

just curious, what's the library that sudo() comes from? #lazyweb


it's from Fabric, a python tool for running commands across hosts.


pg_fouine makes me super :(

but hey, what's this? it's pg_stat_statements that doesn't suck!




will instagram also open source this kind of management script as well?


And if you want a much much faster version of pgfouine, try pg_query_analyser :)

The needed fabfile is included in the examples directory. It's very much a work in progress though

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.