On our postgres slave we have it configured to build initial with wal-e and then once caught up use a connection with the primary to stay updated. I noticed today that our pg_xlog directory is over 60GBs and no segments have been removed since June. I just confirmed that the sync with the primary is working correctly it just doesn't seem to clean up the xlogs. My recovery.conf is below. I also noticed these lines in the postgres log but couldn't find out what the return code meant, archive_cleanup_command "pg_archivecleanup /var/lib/postgresql/9.3/archive/ %r": return code 32512. Any ideas on what could be causing these segment files to stick around and how to fix it.
standby_mode = 'on' # enables stand-by (readonly) mode
# Connect to the master postgres server using the replicator user we created.
primary_conninfo = 'host=<primary_connection> port=<primary_port> user=<primary_user> password=<primary_password>'
# Specifies a trigger file whose presence should cause streaming replication to
# end (i.e., failover).
trigger_file = '/tmp/pg_failover_trigger'
# Shell command to execute an archived segment of WAL file series.
# Required for archive recovery if streaming replication falls behind too far.
restore_command = '/usr/bin/envdir /etc/wal-e.d/env /usr/local/bin/wal-e wal-fetch "%f" "%p"'
archive_cleanup_command = 'pg_archivecleanup /var/lib/postgresql/9.3/archive/ %r'