Execute as seguintes operações, para liberar espaço no Servidor.

1. Pare o serviço nns (Windows\Painel de controle\Ferramentas Administrativas\Serviços).

2. Abra o prompt de comando como Administrador.

3. Use o comando PostgreSQL abaixo:

"C:\Program Files\KickidlerNode\pgsql\bin\pg_ctl.exe" start -D "C:/Program Files/KickidlerNode/pgsql/data" -w -o "--logging-collector=on --log-destination=stderr --log-directory=pg_log --log-filename=ipg-%a.log --log-truncate-on-rotation=on --log-rotation-age=1d --log-line-prefix=\"%m \" --log-timezone=\"Europe/Moscow\" --log-statement=ddl --log-connections=on --log-disconnections=on --listen-addresses=127.0.0.1 --port=5439 --max-connections=100 --shared-buffers=262144kB --wal-buffers=5242kB --effective-cache-size=734317kB --work-mem=7811kB --maintenance-work-mem=39059kB --checkpoint-segments=64 --checkpoint-completion-target=0.9"

4. Conecte no PostgreSQL usando o comando abaixo:

"C:\Program Files\KickidlerNode\pgsql\bin\psql.exe" -h 127.0.0.1 -p 5439 -U kickidler_node

5. Verifique a quantidade de videos usando o comando:

 select pos::date, pg_size_pretty(sum(octet_length(data))) from video_frame group by pos::date;

6. Retire o vídeo com um dos seguintes métodos

a) Apagando todos os videos

Execute os seguintes comandos para excluir TODOS os videos:

truncate video_frame;
truncate video_sequence;

Se apareceren erros depois de executar o comando anterior, repita o comando inserindo a palavra cascata no final.

b) Apagando todos os vídeos de um certo período.

Execute os seguintes comandos para excluir os videos de um certo periodo:

Mostrar as datas, para aqueles que tem videos no Banco de dados:

select pos::date from video_frame group by pos::date;

Excluir vídeo de uma data especifica:

delete from video_frame
WHERE pos::date = '20160523';

delete from video_sequence 
WHERE first_frame_pos::date = '20160523';

Remoção de vídeo durante vários dias diferentes:

delete from video_frame 
WHERE pos::date = '20160523' OR pos::date = '20160524' OR pos::date = '20160525';

delete from video_sequence 
WHERE first_frame_pos::date = '20160523' OR first_frame_pos::date = '20160524' OR first_frame_pos::date = '20160525';

Remoção de vídeo o período:

delete from video_frame
WHERE pos::date >= '20160523' AND pos::date <= '20160525';

delete from video_sequence
WHERE first_frame_pos::date >= '20160523' AND first_frame_pos::date <= '20160525';

onde '20160523' é a data do dia para o qual quer retirar o vídeo, no formato de AAAA-MM-DD

c) Apagando os vídeos de um certo usuário.

Execute os seguintes comandos para excluir os videos de um usuário especifico:

Mostrando da lista de nomes do domínio do computador, nome do usuario e a volume de vídeo neles

SELECT online_session.user_name, online_session.user_domain, online_session.computer_name, pg_size_pretty(sum(octet_length(data))) 
FROM video_frame 
JOIN video_sequence ON (video_sequence.id=video_frame.sequence_id) 
JOIN online_session ON (video_sequence.online_session_id=online_session.id) 
GROUP BY online_session.user_name, online_session.user_domain, online_session.computer_name
ORDER BY sum(octet_length(data)) DESC;

Apagando vídeos do funcionário

DELETE FROM video_sequence WHERE id IN(
 SELECT vs.id FROM video_sequence AS vs
 JOIN online_session AS s ON(vs.online_session_id=s.id)
 WHERE
 s.user_name='Эдуард' AND
 s.computer_name='win10x64' AND
 s.user_domain='workgroup'
 LIMIT 100
);

Aqui s.user_name - nome do usuário, s.computer_name – nome de computador, s.user_domain – nome de domínio, no qual é necessário retirar o vídeo.

Se algum dos parâmetros não existir, então deixe ele vazio no comando anterior. O limite de operações (Limit=100), é mostrado e pode ser modificado se necessário.

7. Execute o comando de limpeza rapida de espaço depois da exclusão ter sido completada.

vacuum full;