psql gebruiken in de terminal

Met de PostgreSQL-extensie voor Visual Studio Code kunt u sessies openen psql die automatisch zijn verbonden met uw databases en bestanden uitvoeren.sql.psql U krijgt volledige toegang tot systeemeigen psql functies, waaronder backslash-opdrachten, COPY werkstromen en interactieve scripts, zonder de editor te verlaten.

De extensie geeft automatisch verbindingsgegevens (host, poort, database, gebruiker en wachtwoord) psql door, zodat u direct na het openen van een sessie aan de slag kunt gaan.

Prerequisites

Note

Als de extensie niet kan worden gevonden psql, wordt er een foutmelding weergegeven met een koppeling Meer informatie naar de postgreSQL-downloadpagina. U kunt de extensie ook naar een aangepaste installatielocatie laten wijzen met de pgsql.pgBinaryDirs instelling. Zie Het binaire psql-pad configureren.

Kiezen tussen psql en de query-editor

De meeste PostgreSQL-werkstromen gebruiken beide hulpprogramma's op verschillende momenten:

Tool Ideaal voor
Query-editor en IntelliSense IntelliSense, grafische resultaten, grafieken, querygeschiedenis en het exporteren van resultaten.
psql terminal Backslash-opdrachten, uitvoering van systeemeigen scripts, \copy-workflows en probleemoplossing via de terminal.

Een verbonden terminal openen

Open een psql sessie die automatisch is verbonden met een specifieke database. De extensie start psql met de flags -h, -p, -d en -U en stelt de omgevingsvariabele PGPASSWORD in, zodat u de verbindingsgegevens niet handmatig hoeft in te voeren.

  1. Klik in de structuur Verbindingen met de rechtermuisknop op een databaseknooppunt.
  2. Selecteer Verbinding maken met PSQL.

Er wordt een Visual Studio Code taakterminal geopend met psql verbinding met de geselecteerde database. Het terminaltabblad heet PSQL: <profielnaam>.

U kunt deze opdracht ook uitvoeren vanuit het opdrachtpalet (Ctrl+Shift+P / Cmd+Shift+P): zoeken naar PGSQL: verbinding maken met PSQL.

Note

Voor Azure Database for PostgreSQL-verbindingen die gebruikmaken van Microsoft Entra ID-verificatie, controleert de extensie het verificatietoken voordat psql wordt gestart en geeft het token door als wachtwoord. Uw sessie blijft verbonden zonder handmatige verificatie.

Een SQL-bestand uitvoeren

Voer een .sql-bestand uit via psql met de verbinding van de actieve editor. Uitvoer wordt weergegeven in een Visual Studio Code taakterminal.

  1. Open een .sql bestand in de editor.
  2. Koppel de editor aan een database als deze nog niet is verbonden.
  3. Klik met de rechtermuisknop in de editor en selecteer Bestand uitvoeren met PSQL.

De extensie slaat het bestand op en voert vervolgens psql -f <filepath> uit op de actieve verbinding. Er wordt een taakterminal geopend om de uitvoer van de taak weer te geven. De werkdirectory is ingesteld op de map die het bestand bevat, zodat relatieve paden in uw script correct worden opgelost.

Important

Sla het bestand op voordat u het uitvoert. Als niet-opgeslagen wijzigingen niet kunnen worden opgeslagen, wordt in de extensie een bericht weergegeven waarin staat dat het bestand moet worden opgeslagen voordat u PSQL-opdrachten uitvoert. De bewerking wordt geannuleerd.

Het pad naar het psql-binair bestand configureren

De extensie zoekt psql op drie locaties in deze volgorde:

  1. Gebundelde binaire bestanden: PostgreSQL-clienthulpprogramma's die worden verzonden met de extensie, geordend op versie.
  2. System PATH: mappen die zijn opgenomen in de omgevingsvariabele PATH van uw besturingssysteem.
  3. Aangepaste mappen: paden die u aan de pgsql.pgBinaryDirs instelling toevoegt.

Wanneer er meerdere versies van psql worden gevonden, selecteert de extensie de versie die het beste overeenkomt met de PostgreSQL-versie van uw server. Als er geen exacte overeenkomst bestaat, wordt de dichtstbijzijnde beschikbare versie gebruikt.

Om een aangepaste map voor binaire bestanden toe te voegen:

  1. Open Instellingen (Ctrl+, / Cmd+,).
  2. Zoek naar pgsql.pgBinaryDirs.
  3. Selecteer Item toevoegen en voer het absolute pad in naar de map die het psql binaire bestand bevat.
  4. Start Visual Studio Code opnieuw om de wijziging van kracht te laten worden.

Tip

Op macOS met Homebrew is /opt/homebrew/opt/postgresql@17/binhet gebruikelijke pad. Op Windows is het meestal C:\Program Files\PostgreSQL\17\bin.

Hoe de extensie psql opstart

Wanneer u Verbinding maken met PSQL of Run-bestand met PSQL selecteert, wordt de aanroep als volgt samengesteld door de psql extensie:

Verbindingsgegevens Hoe de extensie wordt doorgegeven
Host (-h) Uit het serveradres in het verbindingsprofiel.
Poort (-p) Vanuit de poort van het verbindingsprofiel. De standaardwaarde is 5432.
Database (-d) Het geselecteerde databaseknooppunt of de standaarddatabase van het verbindingsprofiel
Gebruiker (-U) De gebruikersnaam van het verbindingsprofiel; voor Microsoft Entra ID, de gebruikersnaam of het e-mailadres van Entra
Wachtwoord Instellen via de PGPASSWORD omgevingsvariabele; voor Microsoft Entra ID, het vernieuwde toegangstoken
Clientcodering Instellen via de PGCLIENTENCODING omgevingsvariabele (standaard ingesteld op UTF8)

De extensie wordt uitgevoerd psql als een Visual Studio Code taak, die wordt geopend in het deelvenster Terminal. De taakterminal blijft geopend na psql het afsluiten, zodat u de uitvoer kunt controleren.

Gebruikssituaties

De psql terminal is handig als u mogelijkheden nodig hebt buiten de ingebouwde query-editor:

  • Interactieve SQL-sessies: voer ad-hocopdrachten uit en inspecteer resultaten in een vertrouwde psql omgeving.
  • Bulkgegevens importeren/exporteren: gebruik \copy of COPY opdrachten voor het laden van gegevens met hoge prestaties.
  • Beheertaken: rollen, machtigingen en serverconfiguratie beheren met volledige psql toegang.
  • Scripttesten: Valideer .sql scripts in de systeemeigen psql voordat u ze implementeert.
  • Backslash-opdrachten: Gebruik \dt, \d+, , \timing, en \xandere opdrachten die niet beschikbaar zijn in de grafische query-editor.

Algemene psql taken

Databaseobjecten controleren

Gebruik psql backslash-opdrachten voor snelle schema-inspectie:

\dt
\d+ public.orders
\dn

Met deze opdrachten worden tabellen weergegeven, gedetailleerde objectdefinities en lijstschema's weergegeven.

Tijdsinstellingen en uitgebreide uitvoer inschakelen

\timing on
\x on
SELECT * FROM public.orders LIMIT 5;

\timing geeft de duur van de query weer na elke statement. Uitgebreide uitvoer (\x) maakt brede rijen gemakkelijker te lezen.

Gegevens laden of exporteren met \copy

\copy public.customers FROM '/Users/example/customers.csv' WITH (FORMAT csv, HEADER true)

Gebruik \copy om bulksgewijs via de terminal te importeren of exporteren, waarbij de door de extensie beheerde verbindingscontext wordt hergebruikt.

Problemen oplossen

psql niet gevonden

Als in de extensie de fout 'Kan het uitvoerbare bestand psql niet vinden' wordt weergegeven, voert u de volgende stappen uit:

  1. Installeer de PostgreSQL-clienthulpprogramma's voor uw besturingssysteem vanaf de downloadpagina van PostgreSQL.
  2. Controleer of psql beschikbaar is door psql --version uit te voeren in een systeemterminal.
  3. Als psql op een niet-standaardlocatie is geïnstalleerd, voeg dan de map toe aan de instelling pgsql.pgBinaryDirs. Zie Het binaire psql-pad configureren.
  4. Start Visual Studio Code opnieuw.

Een werkruimtemap openen

Voor de extensie is een geopende werkruimtemap vereist om te starten psql. Als in een bericht wordt aangegeven dat een werkruimtemap moet worden geopend, opent u een map met de map Bestand>openen en probeert u het opnieuw.

Verificatie- of verbindingsfouten

Als psql wordt geopend maar de verbinding mislukt:

  • Controleer of de host, poort en database juist zijn in uw verbindingsprofiel. Zie Verbindingen en identiteit.
  • Controleer voor Microsoft Entra ID verificatie of uw account nog steeds is aangemeld. De extensie vernieuwt tokens automatisch, maar verlopen sessies kunnen opnieuw verificatie vereisen.
  • Als u SSL of een SSH-tunnel gebruikt, test u dezelfde verbinding opnieuw vanuit het verbindingsdialoogvenster voordat u opnieuw opent psql.

Bestandswijzigingen worden niet uitgevoerd

Wanneer u een bestand uitvoert met Het uitvoeren van een bestand met PSQL, slaat de extensie het bestand op de schijf op voordat het wordt uitgevoerd. Als het opslaan mislukt, annuleert de extensie de bewerking. Sla het bestand eerst met succes op voordat u de uitvoer bekijkt.