sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur spårar man frågeförlopp i PostgreSQL?

Jag hittade ett bra svar här:Spåra framsteg för en uppdateringssats

Tricket är att först skapa en sekvens (namnge den som du vill):

CREATE SEQUENCE query_progress START 1;

Lägg sedan till i din frågas WHERE-del:

AND NEXTVAL('query_progress')!=0

Nu kan du fråga efter förloppet:

SELECT NEXTVAL('query_progress');

Glöm slutligen inte att bli av med sekvensen:

DROP SEQUENCE query_progress;

Observera att detta med största sannolikhet kommer att göra att din fråga körs ännu långsammare och varje gång du kontrollerar framstegen kommer den att öka värdet. Länken ovan föreslog att man skulle skapa en tillfällig sekvens men PostgreSQL verkar inte göra dem synliga över sessioner.



  1. OracleBulkCopy Class i Oracle.ManagedDataAccess.dll?

  2. Hur man får 10 platser längst till höger av en sträng i orakel

  3. Får MySQL-syntaxfel efter att ha skickat formuläret

  4. Skickar FieldName som parameter i MySQL lagrad procedur