Avui he trobat aquest trucs de PostgreSQL. Posats aquí com a recordatori.
Transposar display a psql:
Artysan=# select count(*), almacen from stk_ubi group by almacen;
count | almacen
-------+---------
1116 | 06
5668 | 07
4401 | 14
2813 | 01
32 | 04
3017 | 05
17 | 03
14 | 25
218 | 02
(9 rows)
Artysan=# \x
Expanded display is on.
Artysan=# select count(*), almacen from stk_ubi group by almacen;
-[ RECORD 1 ]-
count | 1116
almacen | 06
-[ RECORD 2 ]-
count | 5668
almacen | 07
-[ RECORD 3 ]-
count | 4401
almacen | 14
-[ RECORD 4 ]-
count | 2813
almacen | 01
-[ RECORD 5 ]-
count | 32
almacen | 04
-[ RECORD 6 ]-
count | 3017
almacen | 05
-[ RECORD 7 ]-
count | 17
almacen | 03
-[ RECORD 8 ]-
count | 14
almacen | 25
-[ RECORD 9 ]-
count | 218
almacen | 02
Artysan=#
Durada de una consulta,
Artysan=# \timing
Timing is on.
Artysan=# select count(*) from diario;
count
--------
379614
(1 row)
Time: 6012,410 ms
Artysan=#
Aixo fins i tot es pot posar per sempre …
$ cat $HOME/.psqlrc
-- Report time used for each query.
\timing
Definir funcions amb python
CREATE LANGUAGE 'plpythonu';
create or replace function snoz (INT)
returns INT AS
$$
x = args[0]
return x * x * x
$$ language 'plpythonu';
CREATE FUNCTION
select 3, snoz(3);
?column? | snoz
----------+------
3 | 27
(1 row)
Marcar la data de modificació amb un trigger
create or replace function ts_modifieddate()
returns TRIGGER as
'
BEGIN
NEW.modifieddate = now();
RETURN NEW;
END;
' language 'plpgsql';
Ara definir el trigger
create trigger set_modifieddate before update
on knid for each row
execute procedure ts_modifieddate();