Postgresql giving constant Out of Memory errors

Hello

I use OpenERP which requires Postgresql.

I had a dedicated server with OpenVZ and OpenERP had its own VPS with 4GB RAM. It worked.

I then had to move it to a new server (also with OpenVZ) so I VZDUMPed the OpenERP VPS and copied it to the new server.

I’m running Postgresql 9.1.9

psql --version
psql (PostgreSQL) 9.1.9

The new OpenERP VPS was initially given 4GB RAM. I have now increased it to 6GB RAM. I’m still getting out of memory errors.

I do not have any experience with Postgresql database. I only have MySQL database experience.

Can someone tell me how to troubleshoot this error.

Any help would be appreciated.


2014-01-23 11:25:01 EST LOG: autovacuum launcher started
2014-01-23 11:25:01 EST LOG: database system is ready to accept connections
2014-01-24 13:37:15 EST LOG: could not fork new process for connection: Cannot allocate memory
2014-01-24 13:37:15 EST LOG: could not fork new process for connection: Cannot allocate memory
2014-01-24 13:37:15 EST LOG: could not fork new process for connection: Cannot allocate memory
2014-01-24 13:37:15 EST LOG: could not fork new process for connection: Cannot allocate memory
2014-01-24 13:37:16 EST LOG: could not fork autovacuum worker process: Cannot allocate memory
2014-01-24 13:37:17 EST LOG: could not fork autovacuum worker process: Cannot allocate memory
2014-01-24 13:37:18 EST LOG: could not fork autovacuum worker process: Cannot allocate memory
2014-01-24 13:37:19 EST LOG: could not fork autovacuum worker process: Cannot allocate memory
2014-01-24 13:37:20 EST LOG: could not fork autovacuum worker process: Cannot allocate memory
2014-01-24 13:37:21 EST LOG: could not fork autovacuum worker process: Cannot allocate memory
2014-01-24 13:37:22 EST LOG: could not fork autovacuum worker process: Cannot allocate memory
2014-01-24 13:37:23 EST LOG: could not fork autovacuum worker process: Cannot allocate memory
2014-01-24 13:37:23 EST LOG: out of file descriptors: Too many open files in system; release and retry
2014-01-24 13:37:23 EST STATEMENT: SELECT l.account_id as id, COALESCE(SUM(l.credit), 0) as credit, COALESCE(SUM(l.debit),0) - COALESCE(SUM(l.credit), 0) as balance, (SELECT CASE WHEN currency_id IS NULL THEN 0 ELSE COALESCE(SUM(l.amount_currency), 0) END FROM account_account WHERE id IN (l.account_id)) as foreign_balance, COALESCE(SUM(l.debit), 0) as debit FROM account_move_line l WHERE l.account_id IN (716) AND l.state <> ‘draft’ AND l.period_id IN (SELECT id FROM account_period WHERE fiscalyear_id IN (6,7,8)) GROUP BY l.account_id
2014-01-24 13:37:25 EST LOG: could not fork autovacuum worker process: Cannot allocate memory
2014-01-24 13:37:26 EST LOG: could not fork autovacuum worker process: Cannot allocate memory
2014-01-24 13:37:27 EST LOG: could not fork autovacuum worker process: Cannot allocate memory
2014-01-24 13:37:28 EST LOG: could not fork autovacuum worker process: Cannot allocate memory

What errors (if any) do you get when you try the query direct against the database?