Finalizar todas as sessões ativas de um banco PostgreSQL

Para fazer um DROP DATABASE é necessário “matar” as conexões ativas, existe várias maneiras de fazer isso, porém a mais simples é você usar a a função pg_terminate_backend(int).

Você pode obter todas as seções ativas, rodando pg_stat_activity.

A forma mais simples de matar todas as sessões é executando essa query (claro que você não pode estar conectado na mesma base de dados).

select pg_terminate_backend(procpid)
from pg_stat_activity
where datname = ‘nome_do_database’

Fonte: http://stackoverflow.com/

Resolvendo o problema Too many connections do MySQL

O MySQL por default vem configurado para aceitar 100 conexões simultâneas e isso é mais que suficiente para a grande maioria das situações. Porém é comum receber periodicamente o erro “Too many connections”.

Uma solução paliativa é aumentar o número de conexões do MySQL, dessa forma:

Fara MySQL 3.x:
# vi /etc/my.cnf
set-variable = max_connections = 250

Para MySQL 4.x and 5.x:
# vi /etc/my.cnf
max_connections = 250

Reiniciar o MySQL. É possível checar o número de conexões configuradas dessa forma:

echo “show variables like ‘max_connections’;” | mysql

Agora, este problema normalmente ocorre porque o PHP esta persistindo as conexões, ou seja, cada vez que chama-se uma página com conexão com o banco, é adicionado mais um pool de conexão. Para resolver de vez, não é necessário aumentar o número de conexões do MySQL, conforme mostrado acima, pois o problema esta na configuração do PHP, tem que desativar a persistência das conexões, editando o arquivo php.ini, e colocando o allow_persistent em OFF.

[MySQL]
; Allow or prevent persistent links.
mysql.allow_persistent = Off

E é tudo, reinicie o Apache com /etc/init.d/httpd restart.