Atención: El trabajo incorrecto con la Base de Datos conlleva el riesgo de perder la información recopilada. Si es difícil de autolimpiar para usted, comuníquese con el soporte técnico help@kickidler.com

Para eliminar un video de la base de datos, siga estos pasos:

1. Detenga el servicio del servidor nns (Ruta: Panel de control \ Herramientas administrativas \ Servicios),
2. Abra una línea de comando como administrador,
3. Si su servidor está instalado en el directorio predeterminado, inicie PostgreSQL con el comando

"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. Conéctese a PostgreSQL usando el comando:

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

5. Verifique la cantidad de video por fechas usando la consulta:

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

6. Elimine el video usando uno de los siguientes métodos:

a) Eliminar todo el video

Para eliminar todo el video de la Base de Datos, ejecute la secuencia de los siguientes comandos

truncate video_frame;
truncate video_sequence;

Si se producen errores después de ejecutar el comando, repita la consulta con la palabra cascade al fina.

b) Eliminar todos los videos en un período específico

Para eliminar datos de un día específico, ejecute los siguientes comandos:

Visualización de fechas para las cuales existen videos en la Base de Datos:

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

Eliminar un video para un día específico:

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

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

Eliminar un video en días 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';

Eliminar un video por un 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';

где 20160523 - дата дня, за который вы хотите удалить видео, в формате YYYYMMDD

c) Eliminar todo el video para un usuario específico

Para eliminar datos de un usuario específico, ejecute los siguientes comandos:

Enumere el nombre del usuario, nombre de dominio y el nombre de la computadora, así como la cantidad de video para ellos

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;

Eliminar video por usuario

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

Aquí s.user_name es el nombre de usuario, s.computer_name es el nombre de la computadora, s.user_domain es el nombre del dominio por el que desea eliminar el video. Si falta alguno de los parámetros, déjelos vacíos en la solicitud. También se muestra una restricción de operaciones (Límite = 100), que se puede cambiar si es necesario.

Atención: Estos comandos liberan espacio en la base de datos y lo hacen disponible para su reutilización en la misma base de datos. Si necesita liberar espacio para el sistema operativo, realice el paso 7.

7. Después de los comandos de eliminación, ejecute el comando para liberar espacio

Atención: Este modo de limpieza requiere espacio en disco adicional, ya que escribe una nueva copia de la tabla y no elimina la copia anterior hasta que se completa la operación.
vacuum full;