Retard ou attente-DÉPÔT D'UN ÉTAT
-
19-09-2019 - |
Question
J'ai une ligne 500000 script SQL:
update users set region_id = 9814746 where id = 101 and region_id is null;
update users set region_id = 9814731 where id = 102 and region_id is null;
update users set region_id = 3470676 where id = 103 and region_id is null;
Je veux insérer un délai de 10
secondes toutes les lignes de 50
. Est-pgsql
une déclaration waitfor
comme t-sql
.
Merci.
La solution
Est-pgsql ont une déclaration waitfor comme t-sql.
Oui, pg_sleep :
pg=> SELECT pg_sleep(10);
pg_sleep
----------
(1 row)
Autres conseils
Vous pouvez appeler la fonction pg_sleep
avec l'instruction PERFORM
puisque nous ne se soucient pas des valeurs de retour:
PERFORM pg_sleep(10);
Pas à ma connaissance.
Vous pouvez faire quelque chose dans la coquille, la tuyauterie SQL à travers un script simple, puis dans PostgreSQL. Par exemple. avec Perl:
cat regionupdates.sql | perl -e '$i = 1; while(<STDIN>) { $i++; print $_; if ($i % 50 == 0) { sleep 10; } }' | psql -d MYDB -L output.txt
BTW: Je vous vois posée une question très similaire. Ce serait bien si vous pouviez accepter les réponses que vous avez trouvé résolu votre problème:
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow