Внимание! Неправилната работа с базата данни носи риск от загуба на събраната информация. Ако е трудно да почистите сами, моля, свържете се с техническата поддръжка help@kickidler.com

За да изтриете видео от базата данни, изпълнете следните стъпки

1. Спрете услугата nns сървър (Път: Контролен панел \ Административни инструменти \ Услуги) ,
2. Отворете командния ред като администратор,
3. Ако вашият сървър е инсталиран в директорията по подразбиране, стартирайте PostgreSQL с помощта на командата

"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. Свържете се с PostgreSQL с помощта на командата:

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

5. Проверете обемите на видео по дати, като използвате заявката:

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

6. Изтрийте видеоклипа чрез един от следните методи:

a) Изтрийте цялото видео

Для удаления всего видео в базе данных выполните последовательно команды

truncate video_frame;
truncate video_sequence;

Ако се появят грешки при изпълнение на командата, повторете заявката с думата cascade в края.

b) Изтриване на цялото видео за определен период

За да изтриете данни за определен ден, изпълнете следните команди:

Показване на дати, за които има видео в базата данни:

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

Изтриване на видеоклип за конкретен ден:

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

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

Изтриване на видеоклип за няколко различни дни:

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';

Изтриване на видеоклип за период:

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';

където 20160523 е датата на деня, за който искате да изтриете видеоклипа, във формат YYYYMMDD

c) Изтриване на цялото видео за конкретен потребител

За да изтриете данни за конкретен потребител, изпълнете следните команди:

Избройте потребителското име, името на домейна, името на компютъра и количеството видео за тях

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;

Изтриване на видео по потребител

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
);

Тук s.user_name е потребителското име, s.computer_name е името на компютъра, s.user_domain е името на домейна, от който искате да изтриете видеото. Ако някои от параметрите липсват, оставете ги празни в заявката. Показва се и ограничение на операциите (Limit = 100), което може да бъде променено, ако е необходимо.

Внимание! Тези команди освобождават място в базата данни и я правят достъпна за повторна употреба от базата данни. Ако трябва да освободите място за операционната система, изпълнете стъпка 7.

7. След командите за изтриване изпълнете командата, за да освободите място

Внимание! Този режим на почистване изисква допълнително дисково пространство, тъй като той записва ново копие на таблицата и не изтрива старото копие, докато операцията не бъде завършена.
vacuum full;