PostgreSQL – pgFormatter ile sql formatlamak

8 Haz by Şahap AŞÇI

PostgreSQL – pgFormatter ile sql formatlamak

pgFormatter parametre olarak verdiğimiz bir sql dosyasını bize seçeneklere göre formatlayabiliyor. CGI olarak da kullanılabiliyor. Kullanımı da çok basit. Temel kullanımı aşağıdaki şekilde.

pg_format [options] file.sql

Piyasada bu işi yapan çeşitli uygulamalar ve artık web siteleri var. Sorguyu yapıştırıyorsun, formatlanmış halini alıyorsun. Peki pgFormatter ne işimize yarayacak ?

CGI olarak çalışabildiği için o web sitelerini bu toolu kullanarak kolayca yapabilirsiniz ama asıl konumuz o değil.

Linux ortamlarda ssh üzerinden çalışırken bazen bir script üzerinde değişiklik yapayım dediğimizde elimiz ayağımız vi, vim veya nano gibi text editörler oluyor. vim sql uzantılı dosyaları otomatik olarak renklendirebiliyor. Buraya kadar bilindik. Pek bilinmeyen ise vim’in text formatlama yeteneklerinin de bulunması. Bunlara genel olarak gq komutları diyoruz. Yalnız vim text formatlarken sql formatını bilemiyor. Düz paragraf olarak formatlıyor. Bizim yapmamız gereken yalnızca vim’e gq komutlarını sql dosyaları üzerinde kullanırken gidip pgFormatter’ı kullanmasını söylemek.

Önce pg_format’ı tek başına kullanalım. Örnekleri yaparken pg_format sample klasöründeki .sql dosyalarını kullanacağım;

vim pgFormatter-2.0/samples/ex0.sql

Formatlayalım ve çıktığı yeni bir dosya olarak kaydedelim. Sonrasında dosyamıza tekrar bakalım.

pg_format --output pgFormatter-2.0/samples/ex0_formatted.sql pgFormatter-2.0/samples/ex0.sql
vim pgFormatter-2.0/samples/ex0_formatted.sql

Burada not olarak ekleyim; pgFormatter’ı sql dosyanız içerisindeki comment’lerin hepsini kaldırmak için de kullanabilirsiniz. Bunun için --nocomment parametresini kullanabilirsiniz

Şimdi formatlamayı vim üzerinde yapalım. Bunun öncesinde vim’e nasıl formatlayacağını anlatmamız gerekiyor. vim profile dosyamızı düzenleyelim;

vim ~/.vimrc

içerisini aşağıdaki gibi düzenleyelim;

syntax on
au FileType sql setl formatprg=/usr/local/bin/pg_format\ -

Şu şekilde olmalı;

ilk satırda vim’e renklen diyoruz. 2. satırda sql dosyalarındaki format uygulaması olarak pg_format kullan diyoruz.

Artık vim (veya vi) sql uzantılı dosyaları formatlamayı biliyor. Deneyelim;

vim pgFormatter-2.0/samples/ex10.sql

Sırasıyla gq ile başlayan harfleri basın; Sondaki G nin büyük harf olduğuna dikkat edelim. artıya (+) basmayalım. Bu tüm dokümanı formatlayacaktır.

ESC+gq+G

Tek satır, tek paragraf (gqip), 2 satır (gq2j) gibi seçenekler var. Artık bu sizin vim’e elinizin ne kadar alıştığıyla ilgili.

Referanslar

  • https://github.com/darold/pgFormatter
  • http://vimdoc.sourceforge.net/htmldoc/change.html#gq
  • http://vimcasts.org/episodes/hard-wrapping-text/

Loading

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir