Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Med parametriserade frågor kan du behålla platshållare i SQL och ange värden vid körning. PostgreSQL-tillägget binder dessa värden som frågeparametrar. den klistrar inte in värden i SQL-texten.
Använd den här sidan när du vill köra SQL kopierat från verktyg eller programkod som använder platshållare som :name, $1eller ?.
Syntaxer för platshållare som stöds
Frågeredigeraren identifierar dessa platshållarformat utanför strängar, kommentarer, gjutningar, matrissektorer, dollarnoterade kroppar och PostgreSQL JSON-operatorer.
Namngivna platshållare
select id, email
from users
where id = :user_id;
Namngivna platshållare är skiftlägeskänsliga. Upprepade förekomster av samma namn delar en rutnätsrad.
PostgreSQL positionsbaserade platshållare
select id, email
from users
where id = $1;
$N platshållare är positionsberoende inom satsen som innehåller dem.
Qmark-positionsplatshållare
select id, email
from users
where active = ?;
? platshållarna fungerar i vänster-till-höger-ordning. En ? i valfri värdeposition fungerar som en parameter, inklusive efter jämförelseoperatorer (>=, <=, <>), i CASE grenar och iLIMIT/OFFSET . PostgreSQL:s JSONB-operatorer ?, ?|och ?& JSON-sökvägsoperatorn @? identifieras som operatorer, inte parametrar.
Important
Använd en platshållarstil per sats. En sats som blandar :name med $N, eller blandar $N med ?, avvisas innan den körs.
Öppna och använd fliken Parametrar
- Öppna eller skapa en
.sqlfil och anslut den till en databas. - Kör Kör fråga (PostgreSQL), Kör aktuell instruktion (PostgreSQL) eller kör ett valt SQL-intervall.
- Om SQL innehåller platshållare öppnas fliken Parametrar i den nedre panelen.
- Ange ett värde för varje rad, välj en typ om det behövs och välj Kör fråga.
- Efter den första körningen redigerar du värden och väljer Kör igen för att upprepa frågan.
Fliken visar en rad för varje unik namngiven platshållare och en rad för varje positionsplatshållare. Varje rad innehåller platshållarens namn eller index, ett värdefält, en kryssruta för NULL, en listruta för typ och radåtgärder när sådana finns.
Skript med flera satser
Obs! (maj 2026): Tidigare versioner av den här artikeln beskrev felaktigt positionella index som per-statement-independent. Beteendet ändrades inte. endast dokumentationen korrigeras.
Positionsparametrar ($N, ?) delar en matris med ett enda värde i det körda skriptet.
$1 (eller den första ?) i alla uttryck binder alltid till samma värde som $1 i andra uttryck. Att återanvända samma positionella index mellan uttryck ger dem inte oberoende värden. Om du behöver olika värden för samma index i olika uttryck använder du namngivna parametrar (:name) i stället.
Om ett delat namngivet värde inte är kompatibelt med någon av de instruktioner som använder det, returnerar PostgreSQL felet och rutnätet behåller dina värden så att du kan justera och köra igen.
NULL-värden
Använd kryssrutan NULL för att binda SQL NULL. När det är markerat ignoreras värdefältet för den raden.
Om du skriver literaltexten NULL medan kryssrutan NULL är inaktiverad varnar rutnätet dig om att värdet binds som texten NULL, inte SQL NULL.
Välj parametertyper
Typens listruta är standardinställd på auto, vilket gör att PostgreSQL kan härleda parameterns typ. Välj en typ när du vill ha validering på klientsidan eller tydligare bindning:
textintegerbigintnumericbooleandatetimestamptimestamptzuuidjsonjsonb
Valideringen är mjuk. En varning blockerar inte inskickning; PostgreSQL står fortfarande för den slutliga valideringen vid körning.
Generera en frågeplan med parametrar
När du visualiserar en frågeplan för SQL som innehåller platshållare, styr fliken Parametrar frågeplanens visualiserare i stället för att returnera rader. Körknappen har texten Visualisera frågeplan, och efter första körningen har den texten Visualisera igen. Ange värden och välj knappen för att köra EXPLAIN och öppna visualiseraren för frågeplanen. Den här sökvägen returnerar inte frågeresultat.
Använd "Ignore"
Använd Ignorera när rutnätet visar en token som ska finnas kvar i SQL, till exempel en giltig PostgreSQL-operator. Alternativet Ignorera är endast aktiverat när tokenen förblir giltig SQL utan bindningsparametrar.
Redigera SQL och kör igen
När du öppnar fliken Parametrar kan du redigera SQL och välja Kör igen. Tillägget extraherar ut platshållarna på nytt och jämför den nya mallbaserade SQL-frågan med det tidigare fingeravtrycket.
Om uppsättningen platshållare ändrades, sammanfattar en driftbanner vad som ändrats, till exempel platshållare som lagts till eller tagits bort. Tillägget sammanfogar värden framåt när platshållaren fortfarande matchar efter namn eller efter positionsindex. Om alla platshållare tas bort stängs rutnätet och frågan körs normalt.
Avbryta och återställa transaktioner
Medan en parameteriserad körning är aktiv ändras körningsknappen till en stoppkontroll (märkt Avbryt). Avbryt avbryter batchen under flygning, hoppar över senare batchar och lämnar fliken Parametrar öppen med värden intakta. En avbruten körning visar batchens status som avbruten i stället för som ett misslyckande, så raderna markeras inte som fel.
Tillägget återställer inte automatiskt användarstartade transaktioner. Om annulleringen lämnar anslutningen i ett avbrutet transaktionstillstånd visar fliken Parametrar ett återställningsmeddelande med Kör ROLLBACK. Välj den för att utfärda en explicit ROLLBACK på samma anslutning och kör sedan skriptet igen.
Granska fel och försök igen
När en parameteriserad körning misslyckas behåller fliken Parametrar dina värden och visar den misslyckade statusen med sammanfattningen av databasfelet. Välj Visa meddelanden för att öppna den fullständiga meddelandeinformationen.
Avbrutna körningar visar avbruten status separat från misslyckade körningar och senare batchar som inte kördes markeras som överhoppade.
När du har korrigerat ett värde eller en typ väljer du Kör igen. Tabbtangenten rensar tidigare fel-, avbrytnings- och radmarkeringsstatus inför det nya försöket. Om anslutningen fortfarande är i en avbruten transaktion visas återställningsmeddelandet igen.
Kvarhållning av frågehistorikvärde
Inställningen pgsql.queryPlaceholders.historyValueRetention styr om parametervärden behålls i den aktuella sessionens minnesinterna frågehistorik:
| Value | Behavior |
|---|---|
ask |
Fråga efter varje lyckad parametriserad körning. |
always |
Behåll värden för historikposter i den aktuella sessionen utan att fråga användaren. |
never |
Behåll endast mallad SQL. |
När ask är aktiv erbjuder uppmaningen som visas efter en lyckad körning Spara en gång (endast kvar den här posten), Spara alltid (växla även inställningen till always), Hoppa över (endast mallad SQL) och Fråga inte igen (växla även inställningen till never).
Värden sparas endast i minnet och rensas när VS Code läses in igen eller arbetsytan ändras. Parametervärden maskeras i telemetri och loggar.
FÖRBERED varning
PREPARE ... AS SELECT $1 använder postgreSQL-positioneringssyntax på serversidan. Tillägget upptäcker PREPARE-satser och lämnar platshållare i PREPARE-delen för PostgreSQL i stället för att binda dem på klientsidan. Andra instruktioner i samma skript parsas normalt.
MVP-fall som inte stöds
MVP inkluderar inte:
- Beständig historik över värden lagrad på disk.
- Namngivna eller sparade parameteruppsättningar mellan redigeringssessioner.
- Återanvändning på serversidan
PREPARE/EXECUTEsom parameteriserad körning på klientsidan. - Sammansatt, matris, bytea, intervall, intervall, uppräkning eller annan typbindning utöver de listlisttyper som stöds.