1

Temat: SKRYPT DO MIERZENIA CZASU WYKONANANIA ZAPYTAŃ

Witam,
Próbuję napisać skrypt, który będzie mi wyznaczał czas wykonanania zapytań do pliku tekstowego. Lecz borykam się z dwoma problemami:
-wartość zwracana do pliku test.txt jest 0( dlaczego czas_start i czas_stop są sobie równe?)
-/copy nadpisuje plik zamiast pisac w nowej linii

skrypt:
#!/bin/bash

psql WYPOZYCZALNIA postgres<< EOF

        CREATE OR REPLACE FUNCTION funkcja(i integer) returns double precision as'
                DECLARE
                czas_start double precision;
                czas_stop double precision;
                BEGIN
                SELECT extract(epoch from now()) into czas_start;
                insert into UZYTKOWNICY VALUES(16,''PIOTiR'',''PAWEL'',''FS'',1,1,''kRAKOW'',''31543'',''82060434215'',''ASASASASA'',''510784543'');
                SELECT extract(epoch from now()) into czas_stop;
                RETURN czas_stop-czas_start;
        end;
        'language 'plpgsql';
        \copy   (select * from funkcja(50)) To 'test.txt'
        \q
EOF

2

Odp: SKRYPT DO MIERZENIA CZASU WYKONANANIA ZAPYTAŃ

W obrębie tranzakcji funkcja now() zwraca zawsze ten sam czas uzyj clock_timestamp().