Manuales de desarrollo de YeboYebo
SELECT bl.pid AS blocked_pid,
a.usename AS blocked_user,
kl.pid AS blocking_pid,
ka.usename AS blocking_user,
a.query AS blocked_statement
FROM pg_catalog.pg_locks bl
JOIN pg_catalog.pg_stat_activity a ON a.pid = bl.pid
JOIN pg_catalog.pg_locks kl ON kl.transactionid = bl.transactionid AND kl.pid != bl.pid
JOIN pg_catalog.pg_stat_activity ka ON ka.pid = kl.pid
WHERE NOT bl.granted;
SELECT pg_terminate_backend(pid);
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE backend_start < CURRENT_DATE - 2;
select pg_reload_conf();
Usamos \copy de la siguiente forma:
\copy (select) TO 'ruta al fichero' WITH DELIMITER '|' CSV HEADER;
Ejemplo:
\copy (select f.codigo, f.fecha, l.descripcion, l.pvptotal from facturascli f inner join lineasfacturascli l on f.idfactura = l.idfactura where f.codcliente = '000491' and f.fecha >= '2022-01-01') TO '/home/antonio/dumps/facturas_ganso.csv' WITH DELIMITER '|' CSV HEADER;
Usamos replace
replace(campo, cadena_a_sustituir, cadena_nueva)
replace(l.descripcion, E'\n', '-')
select codcliente, nombre, email from clientes where email !~ '^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+[.][A-Za-z]+$' order by codcliente
set client_encoding=utf8
Solo lanzar el siguiente comando para utilizar la extension.
CREATE EXTENSION unaccent;
Esto solo hace falta una vez, despues solo hay que usar la expresion igual que un UPPER por emplo:
SELECT * FROM table WHERE UNACCENT(table.id) ILIKE UNACCENT('%Jose%');