Terminalde psql kullanma

Visual Studio Code için PostgreSQL uzantısı, veritabanlarınıza otomatik olarak bağlanan oturumları açmanızı psql ve aracılığıyla .sqldosyaları çalıştırmanızı psql sağlar. Düzenleyiciden çıkmadan, backslash komutları, COPY iş akışları ve etkileşimli betik oluşturma dahil olmak üzere yerel psql özelliklere tam erişim sağlarsınız.

Uzantı, bağlantı ayrıntılarını (ana bilgisayar, bağlantı noktası, veritabanı, kullanıcı ve parola) psql öğesine otomatik olarak iletir; böylece bir oturum açtıktan hemen sonra çalışmaya başlayabilirsiniz.

Prerequisites

Uyarı

Uzantı öğesini bulamıyorsapsql, PostgreSQL indirmeleri sayfasına yönelik Daha Fazla Bilgi edinin bağlantısını içeren bir hata bildirimi gösterir. Ayrıca, pgsql.pgBinaryDirs ayarıyla uzantıyı özel bir yükleme konumuna da yönlendirebilirsiniz. Bkz. psql ikili dosya yolunu yapılandırma.

psql ile sorgu düzenleyicisi arasında seçim yapın

Çoğu PostgreSQL iş akışı her iki aracı da farklı zamanlarda kullanır:

Aracı En iyi kullanım alanları
Sorgu düzenleyicisi ve IntelliSense IntelliSense, grafiksel sonuçlar, grafikler, sorgu geçmişi ve sonuçları dışa aktarma.
psql Terminal Ters eğik çizgi komutları, yerel betiklerin yürütülmesi, \copy iş akışları ve terminal tabanlı sorun giderme.

Bağlı terminali açma

Belirli bir psql veritabanına otomatik olarak bağlanan bir oturumu açın. Uzantı, psql öğesini -h, -p, -d ve -U bayraklarıyla başlatır ve PGPASSWORD ortam değişkenini ayarlar; böylece bağlantı ayrıntılarını manuel olarak girmeniz gerekmez.

  1. Bağlantılar ağacında bir veritabanı düğümüne sağ tıklayın.
  2. PSQL ile bağlan'ı seçin.

Visual Studio Code’da, seçili veritabanına psql bağlı olarak bir görev terminali açılır. Terminal sekmesi PSQL: <profil adı> olarak adlandırılır.

Bu komutu Komut Paleti'nden de çalıştırabilirsiniz (Ctrl+Shift+P / Cmd+Shift+P): PGSQL için arama: PSQL ile bağlanma.

Uyarı

Microsoft Entra ID kimlik doğrulaması kullanan PostgreSQL için Azure Veri Tabanı bağlantılarında uzantı, psql başlatılmadan önce kimlik doğrulama belirtecini doğrular ve belirteci parola olarak iletir. Oturumunuz el ile yeniden kimlik doğrulaması olmadan bağlı kalır.

SQL dosyası çalıştırma

Etkin düzenleyicideki bağlantıyı kullanarak bir .sql dosyasını psql aracılığıyla yürütün. Çıktı, Visual Studio Code görev terminalinde görünür.

  1. Düzenleyicide bir .sql dosya açın.
  2. Henüz bağlı değilse düzenleyiciyi bir veritabanına bağlayın.
  3. Düzenleyiciye sağ tıklayın ve PSQL ile dosya çalıştır'ı seçin.

Uzantı dosyayı kaydeder, ardından psql -f <filepath> öğesini etkin bağlantıya karşı çalıştırır. Yürütme çıkışını göstermek için bir görev terminali açılır. Çalışma dizini, dosyanın bulunduğu klasöre ayarlanır; böylece betiğinizdeki göreli yollar doğru şekilde çözümlenir.

Important

Yürütmeden önce dosyayı kaydedin. Kaydedilmemiş değişiklikler kaydedilemiyorsa uzantı, PSQL komutlarını yürütmeden önce dosyanın kaydedilmesi gerektiğini belirten bir ileti gösterir. İşlem iptal edilir.

psql ikili yolunu yapılandırma

Uzantı, şu sırayla üç konumda arar psql :

  1. Birlikte gelen ikili dosyalar: Uzantıyla birlikte gelen, sürüme göre düzenlenmiş PostgreSQL istemci araçları.
  2. Sistem YOLU: İşletim sisteminizin PATH ortam değişkeninde listelenen dizinler.
  3. Özel dizinler: ayara pgsql.pgBinaryDirs eklediğiniz yollar.

Birden çok sürümü psql bulunduğunda uzantı, sunucunuzun PostgreSQL sürümüne en uygun sürümü seçer. Tam eşleşme yoksa, kullanılabilir en yakın sürümü kullanır.

Özel ikili dizin eklemek için:

  1. Ayarlar'ı (Ctrl+, / Cmd+,) açın.
  2. pgsql.pgBinaryDirs için arama yapın.
  3. Öğe Ekle'yi seçin ve ikiliyi içeren psql dizinin mutlak yolunu girin.
  4. Değişikliğin geçerli olması için Visual Studio Code yeniden başlatın.

Tip

Homebrew ile macOS'ta tipik yol şeklindedir /opt/homebrew/opt/postgresql@17/bin. Windows'ta genellikle C:\Program Files\PostgreSQL\17\bin olur.

Uzantı psql'yi nasıl başlatır?

PSQL ile Bağlan veya Dosyayı PSQL ile Çalıştır seçeneğini belirlediğinizde uzantı, psql çağrısını aşağıdaki şekilde oluşturur:

Bağlantı ayrıntısı Uzantı bunu nasıl iletir?
Konak (-h) Bağlantı profilinin sunucu adresinden.
Bağlantı noktası (-p) Bağlantı profilindeki bağlantı noktasından. Varsayılan değer: 5432.
Veritabanı (-d) Seçili veritabanı düğümü veya bağlantı profilinin varsayılan veritabanı
Kullanıcı (-U) Bağlantı profilinin kullanıcı adı; Microsoft Entra ID için Entra kullanıcı adı veya e-posta adresi
Parola PGPASSWORD ortam değişkeni aracılığıyla ayarlanır; Microsoft Entra ID için yenilenen erişim belirteci
İstemci kodlaması PGCLIENTENCODING ortam değişkeni aracılığıyla ayarlanır (varsayılan: UTF8)

Uzantı, psql öğesini Visual Studio Code görevi olarak çalıştırır; bu görev Terminal panelinde açılır. Çıktıyı gözden geçirebilmeniz için görev terminali, psql çıktıktan sonra da açık kalır.

Kullanım örnekleri

psql Yerleşik sorgu düzenleyicisinin ötesinde özelliklere ihtiyacınız olduğunda terminal kullanışlıdır:

  • Etkileşimli SQL oturumları: Geçici komutlar çalıştırın ve tanıdık psql bir ortamda sonuçları inceleyin.
  • Toplu veri içe/dışa aktarma: Yüksek performanslı veri yükleme için \copy veya COPY komutlarını kullanın.
  • Yönetim görevleri: Tam psql erişimle rolleri, izinleri ve sunucu yapılandırmasını yönetin.
  • Betik testi: Dağıtmadan önce .sql betikleri yerel psql içinde doğrulayın.
  • Ters eğik çizgi komutları: Grafiksel sorgu düzenleyicisinde kullanılamayan \dt, \d+, \timing, \x ve diğer komutları kullanın.

Ortak psql görevler

Veritabanı nesnelerini inceleme

Hızlı şema incelemesi için psql ters eğik çizgi komutlarını kullanın:

\dt
\d+ public.orders
\dn

Bu komutlar tabloları listeler, ayrıntılı nesne tanımlarını gösterir ve şemaları listeler.

Zamanlamayı ve ayrıntılı çıktıyı aç

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

\timing her deyimden sonra sorgu süresini görüntüler. Genişletilmiş çıkış (\x), geniş satırların okunmasını kolaylaştırır.

ile veri yükleme veya dışarı aktarma \copy

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

Uzantı tarafından yönetilen bağlantı bağlamını yeniden kullanarak terminal odaklı toplu içe veya dışa aktarma için \copy kullanın.

Troubleshoot

psql bulunamadı

Uzantıda "Psql yürütülebilir dosyası bulunamadı" hatası gösterildiyse şu adımları deneyin:

  1. PostgreSQL indirmeleri sayfasından işletim sisteminiz için PostgreSQL istemci araçlarını yükleyin.
  2. Bir sistem terminalinde psql --version komutunu çalıştırarak psql öğesinin kullanılabilir olduğunu doğrulayın.
  3. psql, standart olmayan bir konuma yüklüyse dizini pgsql.pgBinaryDirs ayarına ekleyin. Bkz. psql ikili dosya yolunu yapılandırma.
  4. Visual Studio Code yeniden başlatın.

Çalışma alanı klasörünü açma

psql uzantısını başlatmak için açık bir çalışma alanı klasörü gereklidir. Bir çalışma alanı klasörünün açık olması gerektiğini belirten bir ileti varsa, Dosya>Klasör Aç'ı içeren bir klasör açın ve yeniden deneyin.

Kimlik doğrulaması veya bağlantı hataları

psql açılır ancak bağlantı kurulamazsa:

  • Bağlantı profilinizde konağın, bağlantı noktasının ve veritabanının doğru olduğunu onaylayın. Bkz. Bağlantılar ve kimlik.
  • Microsoft Entra ID kimlik doğrulaması için hesabınızda oturumun hâlâ açık olduğunu denetleyin. Uzantı belirteçleri otomatik olarak yeniler, ancak süresi dolan oturumlar yeniden kimlik doğrulaması gerektirebilir.
  • SSL veya SSH tüneli kullanıyorsanız, yeniden açmadan önce bağlantı iletişim kutusundan aynı bağlantıyı yeniden test edin psql.

Dosya değişiklikleri çalışmıyor

PSQL ile dosya çalıştır ile bir dosya çalıştırdığınızda, uzantı yürütmeden önce dosyayı diske kaydeder. Kaydetme işlemi başarısız olursa uzantı işlemi iptal eder. Çıktıyı gözden geçirmeden önce dosyayı başarıyla kaydedin.