PostgreSQL Tablo Dosyalarının İçeriğini Linux Komutu ile Görme
PostgreSQL tablo dosyalarının içeriğini doğrudan Linux komutlarıyla görüntülemek mümkün, ancak bazı önemli noktalar ve sınırlamalar var:
Temel Yöntem
PostgreSQL veritabanı dosyaları genellikle /var/lib/postgresql/[version]/main/base/ dizininde bulunur (dağıtıma göre değişebilir).
# Dosya konumunu bulmak için:
sudo find / -name "base" 2>/dev/null | grep postgres
İçerik Görüntüleme Komutları
- Hex dump olarak görüntüleme:
sudo xxd /var/lib/postgresql/14/main/base/16384/12345 | less
- Strings komutu ile okunabilir içerik:
sudo strings /var/lib/postgresql/14/main/base/16384/12345 | less
Önemli Uyarılar
- PostgreSQL çalışırken bu dosyalara doğrudan erişmeyin – veri bozulmasına neden olabilir.
- Dosyalar binary formatındadır – anlamlı veri görmek için özel araçlar gerekir.
- Daha güvenli yöntem: PostgreSQL’in kendi araçlarını kullanın:
sudo -u postgres psql -c "SELECT * FROM your_table;"
Daha İyi Alternatifler
- pg_filedump aracı:
sudo apt-get install postgresql-17-pg-filedump
sudo pg_filedump /var/lib/postgresql/17/main/base/16384/12345
- PostgreSQL’in pageinspect eklentisi:
CREATE EXTENSION pageinspect;
SELECT * FROM heap_page_items(get_raw_page('your_table', 0));
Veritabanını durdurup dosyaları yedekledikten sonra inceleme yapmanız daha güvenli olacaktır.