PostgreSQL Sunucu ve İstemci Komutları



Benzer belgeler
FreeBSD üzerinde PostgreSQL Temel Kurulum ve Yapılandırması

FreeBSD Üzerinde PostgreSQL i 8.1 e Güncelleme

Nmap Sonuçlarının Yorumlanması

PostgreSQL İstemci Yetkilendirmesi ve Güvenliği

1 STUNNEL NEDİR? 2 STUNNEL KURULUMU

Ders Tanıtım Sunumu. Database Managegement II. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

POSTGRESQL'de İleri Seviyede Veri Kurtarma ve Yedekleme

Veri Tabanı-I 5.Hafta

ENDÜSTRĠYEL OTOMASYON TEKNOLOJĠLERĠ

Belge içeriğine ait tüm haklar yazarlara aittir. Kaynak gösterilmek suretiyle alıntı yapılabilir.

BÖLÜM- 9: KULLANICI ERİŞİMLERİNİ YÖNETMEK

Veritabanına Giriş. Oğuzhan Ceylan. 19 Eylül 2011

Kets DocPlace LOGO Entegrasyonu

SQL SERVER DATABASE FILE LARINI VE TEMPDB FILE LARINI TAŞIMA OPERASYONU

Oracle 11gR2 Üzerine Dataguard Kurulumu Türkçe

PostgreSQL'de Uygulamalı. (Streaming Replication. Standby)

Ortamınızda A.D. veya LDAP sistemi var ise aşağıdaki linkten KoruMail LDAP-AD isimli dokümanı inceleyebilirsiniz.

VERİ TABANI YÖNETİM SİSTEMLERİ-II

SquidGuard Kurulumu. Öncelikle gerekli paket temin edilmelidir. adresinden temin edilebilir. Basitçe kurulumu ;

Kurumsal Güvenlik ve Web Filtreleme

Veri Tabanı-I 1.Hafta

Kurumsal Güvenlik ve Web Filtreleme

Veritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme

İnternet Programcılığı

BLGM 354 DENEY 1 * GİRİŞ

ORACLE TNS (TRANSPARENT NETWORK SUBSTRATE) LISTENER YAPILANDIRMASI

Virtualmin'e Yeni Web Sitesi Host Etmek - Domain Eklemek

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Ara Öğr. Gör. Murat KEÇECĠOĞLU

Veri Tabanı Hafta Dersi

Bunyamin Demir, <bunyamindemir at gmail dot com>, webguvenligi.org, 20/01/2011 ORACLE VERĠTABANI TRAFĠĞĠNĠN GÜVENLĠĞĠ

Veritabanı. Ders 2 VERİTABANI

Yedek Almak ve Yedekten Geri Dönmek

Turquaz Windows kurulum dökümanı. ftp://ftp.mirror.ac.uk/sites/ftp.postgresql.org/binary/v7.3.1/windows/pgsql731wina1.exe

PostgreSQL'de Güvenlik

Sun Solaris Jumpstart Sistemi

Turquaz Kurulum Dökümani Linux

12. hafta Bulut Bilişimde Veritabanı ve Microsoft Azure Kullanımı

Sun Solaris Sunucular için Felaket Kurtarma (DR-Disaster Recovery) Çözümleri

Bölüm 10: PHP ile Veritabanı Uygulamaları

PL/pgSQL SQL Yordamsal Dili

Üst Düzey Programlama

VERİ TABANI YÖNETİM SİSTEMLERİ I

MCR02-AE Ethernet Temassız Kart Okuyucu

DESTEK DOKÜMANI. Ürün : Tiger Enterprise/ Tiger Plus/ Go Plus/Go Bölüm : Kurulum İşlemleri

BİLGİ İŞLEM DERS 3. Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ MSGSU FİZİK BÖLÜMÜ

08221 Veri Tabanı II. Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Eki Çarş. Perş. Öğr. Gör. Murat KEÇECĠOĞLU

05 - Veritabanı Sızma Testleri

Komut Penceresi ile Çalışmaya Başlamak

FTP ve Güvenlik Duvarları

.: Linux Kullanıcıları Derneği. III. Linux ve Özgür Yazılım Şenliği Mayıs Milli Kütüphane Ankara :.

VERİTABANI Veritabanı Yönetimi

Veritabanı Tasarımı. NOT NULL ve UNIQUE Kısıtlamaları Tanımlama

2013 Yıl Sonu İşlemleri

DBMAIL KURULUMU BELGESI (Howto Install Dbmail) Yazan: Ozgur Karatas

Tavsiye Edilen Önhazırlık Temel veritabanı kavramlar hakkında bilgi sahibi olmak. Hedefler Temel veritabanı güvenlik işlemlerini gerçekleştirebilmek

"SQL Server Management Studio" yazılımını yüklemek için alttaki resmi sitesinden 180 günlük deneme sürümünü indirebilirsiniz.

Kullanıcı Dökümanı. Flash B2B. Versiyon 0.1

5 SQL- Yapısal Sorgulama Dili. Veritabanı 1

BÖLÜM KATMAN OLUŞTURMA (LAYER) Command line: Layer (veya transparent komutu için 'Layer kullanın)

VERİTABANI KURULUMU SQL 2005 EXPRESS EDITION KURULUMU

man komut man ls (ls komutu hakkında bilgi verir.) man pwd (pwd komutu hakkında bilgi verir.)

CBS DE PROGRAMLAMA DERSİ NOTLARI

BIL411 - BİLGİSAYAR AĞLARI LABORATUVARI

İLERİ VERİTABANI SİSTEMLERİ SUAT ÜSTKAN

Oracle da kullanılan veri tipleri:

Checkpoint SmartCenter da hızlı obje yaratmak

Veri Tabanı-I 1.Hafta

Program Kurulum. Turquaz Muhasebe. İçindekiler

FreeBSD üzerinde SNMP ve RRDTool kullanımı

Postgresql: Web Programcısı için Gündelik İpuçları Postgres 2014 Türkiye

Cisco 881 Router ve AirLink ES4X0, WAN Failover Tanımı

Veritabanı Sızma Testleri Türk Standardları Enstitüsü Yazılım Test ve Belgelendirme Dairesi Başkanlığı

FreeBSD Üzerinde VLAN Kullanımı

MaestroPanel Kurulum

FreeBSD Üzerinde VLAN Kullanımı

VERİ TABANI YÖNETİM SİSTEMLERİ I

Microsoft SQL Server 2005 Express Edition Hızlı Kurulum Dokümanı. 1. Administrator veya denki bir kullanıcı ile logon olunmalıdır.

OpenBSD Pf ve Squid ile Transparent Proxy Kurulumu.!!Bu yazıda OpenBSD 3.7 işletim sistemi kullanılmıştır.

Veritabanı Tasarımı. DML İşlemleri ve Görünümler

WebInstaller. 1. Kurulum Đçin Gereksinimler

HAZIRLAYAN BEDRİ SERTKAYA Sistem Uzmanı CEH EĞİTMENİ

MIRACLE DATA WORKS KURULUM DOKÜMANI

Veritabanı sistemlerinde veri bütünlüğünü sağlayabilmek için CONSTRAINTS olarak adlandırılan bazı zorlayıcı ifadeler kullanılabilir.

OPENBSD İŞLETİM SİSTEMİ ÜZERİNE PFW KURULUMU

Bu makalede 2003 sunucu, Windows 2003 Server anlamına gelmektedir. Aşağıda yapılan işlemler 2003 R2 sunucu üzerinde denenmiş ve çalıştırılmıştır.

Ağ Üzerinde MATLAB kurulum rehberi (Sunucu makine)

DRAYTEK VIGOR 3300V. Login(Oturum Açma)

E-Prints: Açık Erişimli Arşiv Oluşturma Yazılımı; Kurulumu-Kullanımı-Özellikleri

Güncel Versiyon İle E-Defter Oluşturulması ve Gönderilmesi

Web Servis-Web Sitesi Bağlantısı

PostgreSQL Veritabanı Sunucusu. Replikasyon Yazılımları: Slony-I Devrim GÜNDÜZ PostgreSQL Geliştiricisi

Veritabanı Yönetim Sistemleri I HAFTA 1

Linux Kullanıcıları Derneği Seminerleri

Aktif Dizin Logon/Logoff Script Ayarları Versiyon

Windows Live ID ve parolanızı giriniz.

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language)

1. Oracle Data Miner 11g Release 2 Kurulumu Aşamaları

Bölüm 4: DDL Veri Tanımlama Dili

SQL 2005 SQL STUDIO MANAGER ACP YAZILIMI KURULUM KILAVUZU

Transkript:

PostgreSQL Sunucu ve İstemci Komutları Bu makale de PostgreSQL 8.0 ile gelen istemci ve sunucu komutları anlatılacaktır. Bu belgenin en son haline http://www.enderunix.org/docs/postgresql/postgresql_commands.pdf adresinden ulaşabilirsiniz. Yazar: İsmail YENİGÜL EnderUNIX Çekirdek Takım Üyesi ismail at enderunix dot org ismail.yenigul at endersys dot com http://www.enderunix.org Değişiklikler: 27 Mar 2006 Pts EEST 15:29:00 İlk Yazım İçindekiler 1. Sunucu Uygulama Komutları...2 1.1. initdb...2 1.2. pg_controldata...3 1.3. pg_ctl...4 1.4. postmaster...4 1.5. postgres...5 2. İstemci Uygulama Komutları...5 2.1. createdb...5 2.2. dropdb...6 2.3. createuser...6 2.4. dropuser...7 2.5. pg_config...7 2.6. psql...8 2.6.1. Kısa Yollar...8 2.7. pg_dump...10 2.8. pg_dumpall...10 2.9. pg_restore...11 3. Kaynaklar...11

1. Sunucu Uygulama Komutları 1.1. initdb initdb komutu yeni bir PostgreSQL veritabanı kümelemesi (database cluster) oluşturmak için kullanılır. Buradaki database cluster ifadesi tek bir PostgreSQL sunucusu tarafından yönetilen tüm veritabanları demektir. veritabanı kümelemesi oluşturma işleminde aşağıdaki işler yapılır. Verilerin saklanacağı dizin oluşturulur. Bu dizin adı genelde /usr/local/pgsql/data dır. Tüm kümelemeye ait katalog tabloları oluşturulur. Sistem kataloglarında RDMS (Relational Database Management System) e ait tablo, sütun, kullanıcı vb bilgileri ve veritabanına ait iç bilgileri tutmaktadır. template0 ve template1 veritabanı oluşturulur. template1 veritabanında oluşturulan her şey yeni oluşturulan veritabanlarını otomatik olarak kopyalanacaktır initdb komutunun PostgreSQL kullanıcısı ile çalıştırılması gerekir. Fakat bu komutu çalıştırmadan önce data dizini oluşturulmalıdır. Dizin root kullanıcısı ile oluşturulduktan sonra dizin sahibi PostgreSQL kullanıcısı yapılabilir. root# mkdir /usr/local/pgsql/data root# chown postgres /usr/local/pgsql/data root# su - pgsql (Burada kullanıcı adı olarak pgsql seçilmiştir)

initdb aynı zamanda veritabanı için ön tanımlı locale ve karakter setini tanımlamaktadır. Kullanılacak locale değeri en başta doğru seçilmelidir. Çünkü LC_COLLATE (karakter sıralama düzenini belirler) ve LC_CTYPE (Character Classification harfleri ve büyük harf karşılıklarını belirler) değerlerini daha sonra değiştirmenin imkânı yoktur. Karakter seti ise yeni bir veritabanı oluştururken belirlenebilir. Veritabanı oluşturulurken karakter seti özel olarak belirtilmezse ön tanımlı olanı kullanılır. Parametreleri -D dizin --pgdata=dizin Veritabanı kümelemenin oluşturulacağı data dizinini belirtir. Bu parametre verilmeze Data dizininin adı kullanıcının PGDATA çevre değişkeninden alınır. -E encoding --encoding=encoding Kullanılacak karakter setini belirler. --locale=locale Ön tanımlı locale değerini belirler. 1.2. pg_controldata PostgreSQL veritabanı kümelemesinin kontrol bilgilerini görüntüler. # su - pgsql $ pg_controldata pg_control version number: 74 Catalog version number: 200411041 Database system identifier: 4908221539622420991 Database cluster state: in production pg_control last modified: Çar 22 Mar 14:45:33 2006 Current log file ID: 0 Next log file segment: 1 Latest checkpoint location: 0/C47D9C Prior checkpoint location: 0/C41C24 Latest checkpoint's REDO location: 0/C47D9C Latest checkpoint's UNDO location: 0/0 Latest checkpoint's TimeLineID: 1 Latest checkpoint's NextXID: 2416 Latest checkpoint's NextOID: 25438 Time of latest checkpoint: Çar 22 Mar 14:45:33 2006 Database block size: 8192 Blocks per segment of large relation: 131072 Bytes per WAL segment: 16777216 Maximum length of identifiers: 64 Maximum number of function arguments: 32 Date/time type storage: floating-point numbers Maximum length of locale name: 128 LC_COLLATE: tr_tr.iso8859-9 LC_CTYPE: tr_tr.iso8859-9 $

1.3. pg_ctl pg_ctl PostgreSQL i başlatmak, durdurmak, yeniden başlatmak ve servisin durumu hakkında bilgi veren bir uygulamadır. Kullanım şekilleri: pg_ctl start [-w] [-s] [-D datadir] [-l filename] [-o options] [-p path] pg_ctl stop [-W] [-s] [-D datadir] [-m s[mart] f[ast] i[mmediate] ] pg_ctl restart [-w] [-s] [-D datadir] [-m s[mart] f[ast] i[mmediate] ] [-o options] pg_ctl reload [-s] [-D datadir] pg_ctl status [-D datadir] pg_ctl kill [signal_name] [process_id] -D: data dizini -l: Kayıt (log) dosyasının yolunu belirtir. -m: servisin hangi kipte kapatılacağını belitir. Üç farklı tip vardır. Smart: Tüm istemciler bağlantıyı koparana kadar bekler. (Ön tanımlı) Fast: İstemcilerin bağlantıyı koparmasını beklemez. Tüm aktif işlemler (transaction) geri alınır (roll back) ve servis kapatılır. Immediate: Tüm PostgreSQL prosesleri düzgün kapanmadan sonlandırılır. Bu işlem servisin tekrar açıldığında kurtarma (recovery) işleminin yapılmasına sebep olur. -s Bilgi mesajlarını göstermez sadece hataları gösterir. -w: prosesi açma veya kapama işlemi gerçekleşene kadar bekler. Örnekler: # su - pgsql $ pg_ctl status pg_ctl: postmaster is running (PID: 17264) /usr/local/bin/postgres -D /usr/local/pgsql/data $ pg_ctl start -D /usr/local/pgsql/data l logfile postmaster starting $ pg_ctl stop -D /usr/local/pgsql/data -m smart waiting for postmaster to shut down... done postmaster stopped $ pg_ctl start -w -l logfile waiting for postmaster to start... done postmaster started $ 1.4. postmaster postmaster çok kullanıcılı PostgreSQL sunucusudur. postmaster istemci bağlantıları için postgres isimli ayrı bir proses başlatır. postmaster ek olarak sunucu prosesleri arasındaki bağlantıyı yönetir.

Ön tanımlı olarak ön planda (foreground) çalışır ve hata mesajlarını ekrana basar. Ön tanımlı PostgreSQL data dizini yoktur. Bu yüzden data dizini mutlaka D parametresi ile verilmelidir. Parametreleri: -D: data dizini -d: debug seviyesi -l: SSL bağlantısını etkinleştirir (sertifikaların oluşturulmuş olması gerekir) -p: port numarası (ön tanımlı olarak 5432) -S: Sessiz mod. Bu moda prosesler arka planda (background) çalıştırır, çıktı ve hatalar /dev/null dosyasına gönderilir. -h: hostname/ip (hangi hostname veya IP adresini dinleyeceğini belirtir) $ postmaster D /usr/local/pgsql/data 1.5. postgres postgres programı sorguları işleyen PostgreSQL sunucu prosesidir. Doğrudan çalıştırılmaz bunun yerine postmaster prosesi tarafından çalıştırılır. postgres PostgreSQL sunucusunu tek kullanıcı modda çalıştırmak için kullanılır. Bu modda genelde kurtarma veya hata ayıklama durumlarında çalıştırılır. 2. İstemci Uygulama Komutları 2.1. createdb PostgreSQL sunucu üzerinde yeni bir veritabanı oluşturmak için kullanılır. Kullanım şekli createdb [option...] [dbname] [description] -E encoding --encoding encoding : Karakter setini belirler. -O owner --owner owner: Yeni veritabanının sahibini belirler. -h host --host host: Yeni veritabanın oluşturulacağı sunucu adını belirlir.

-p port --port port: Veritabanı oluşturulacak sunucunun port numarasını belirtir. $ createdb denemedb; CREATE DATABASE $ createdb -E LATIN1 denemetr; CREATE DATABASE devel~$ psql -l List of databases Name Owner Encoding -----------+-------+---------- deneme pgsql LATIN5 denemedb pgsql LATIN5 denemetr pgsql LATIN1 enderunix pgsql LATIN5 mydb pgsql LATIN5 template0 pgsql LATIN5 template1 pgsql LATIN5 (7 rows) $ 2.2. dropdb PostgreSQL sunucudaki veritabanını siler. h parametresi ile sunucu adı p ile de port belirtilebilir. $dropdb deneme; 2.3. createuser Yeni bir PostgreSQL kullanıcısı oluşturmak için kullanılır. Kullanım Şekli: $ createuser [option...] [username] Seçenekler: -a: Oluşturulan kullanıcı başka kullanıcılar açabilir. -A : Yeni kullanıcı açamaz. -d: Kullanıcı veritabanı oluşturabilir. -D: Kullanıcı veritabanı oluşturamaz. Aşağıdaki her iki komutta aynı manaya gelmektedir. devel~$ createuser bsd

Shall the new user be allowed to create databases? (y/n) y Shall the new user be allowed to create more new users? (y/n) n CREATE USER devel~$ createuser -A -d bsd CREATE USER devel~$ 2.4. dropuser Veritabanından kullanıcı silmek için kullanılır. Kullanıcı i parametresi ile interaktif olarak silinebilir. devel~$ dropuser -i bsd User "bsd" will be permanently removed. Are you sure? (y/n) y DROP USER devel$ 2.5. pg_config Kurulu PostgreSQL sunucunun yapılandırma bilgilerini gösterir. PostgreSQL de verilerin nerelere kurulduğu görmek için kullanılabilir. Kullanım Şekli: $ pg_config {--bindir --includedir --includedir-server --libdir --pkglibdir --pgxs --configure --version} --version: PostgreSQL versiyonunu gösterir. --configure: Kurulum sırasındaki konfigürasyon parametrelerini gösterir. --bindir: Binary dosyaların yerini gösterir. --includedir: Başlık dosyalarının yerini gösterir. Örnekler: devel~$ pg_config --version PostgreSQL 8.0.7 devel~$ pg_config --bindir /usr/local/bin devel~$ pg_config --includedir /usr/local/include devel~$ pg_config --libdir /usr/local/lib devel~$ pg_config --configure '--with-libraries=/usr/local/lib' '--withincludes=/usr/local/include' '--withdocdir=/usr/local/share/doc/postgresql' '--with-openssl' '--disable-

nls' '--prefix=/usr/local' 'i386-portbld-freebsd4.11' 'LDFLAGS= - rpath=/usr/lib:/usr/local/lib -L/usr/local/lib -lgnugetopt' 'CFLAGS=- O2 -pipe -march=pentiumpro' 'CPPFLAGS=-I/usr/local/include' 'host_alias=i386-portbld-freebsd4.11' 'build_alias=i386-portbldfreebsd4.11' 'target_alias=i386-portbld-freebsd4.11' 'CC=cc' devel~$ 2.6. psql psql terminal tabanlı PostgreSQL sorgu arabimidir. Bazı Parametreler: -d veritabanı -f dosya adı: SQL sorgularının dosyadan okunmasını sağlar. -o dosya adı: Sorgu sonuçlarını belirtilen dosyaya yazar. -h hostname: PostgreSQL sunucu adı / IP adresi -p port: PostgreSQL sunucu portu. -U kullanıcı adı: Veritabanına bağlanacak kullanıcı adını belirler. -V: psql versiyonunu belirtir. devel~$ psql deneme Welcome to psql 8.0.7, the PostgreSQL interactive terminal. Type: \copyright for distribution terms \h for help with SQL commands \? for help with psql commands \g or terminate with semicolon to execute query \q to quit deneme=# 2.6.1. Kısa Yollar Psql komutu ile veritabanına bağlandıktan sonra aşağıdaki kısa yollar kullanılarak veritabanı ve nesneler hakkında bilgiler alınabilir. \? : Tüm kısa yolları ve parametrelerini listeler. \c[onnect] [DBNAME - [USER]] : Yeni bir veritabanına bağlantı kurar. deneme=# \c template1 You are now connected to database "template1". template1=# \connect deneme You are now connected to database "deneme".

deneme=# \q : psql den çıkılır. \l : Tüm veritabanlarını listeler. Sonuna + eklenerek daha detaylı bilgi alınabilir. deneme=# \l List of databases Name Owner Encoding -----------+-------+---------- deneme pgsql LATIN5 enderunix pgsql LATIN5 template0 pgsql LATIN5 template1 pgsql LATIN5 (4 rows) deneme=# \l+ List of databases Name Owner Encoding Description -----------+-------+----------+--------------------------- deneme pgsql LATIN5 enderunix pgsql LATIN5 template0 pgsql LATIN5 template1 pgsql LATIN5 Default template database (4 rows) deneme=# \dt: Tabloları listeler. \d isim: Belirtilen isimdeki tablo, index vs hakkında bilgi verir. deneme=# \dt List of relations Schema Name Type Owner --------+--------+-------+------- public deneme table pgsql public test table pgsql (2 rows) deneme=# \d test Table "public.test" Column Type Modifiers --------+-----------------------+------------------------------------ ------------------ id integer not null default nextval('public.test_id_seq'::text) name character varying(30) deneme=#

2.7. pg_dump PostgreSQL de tanımlı tek bir veritabanının yedeğini düz-metin dosyaya veya arşiv dosyasına alır. Kullanım şekli: pg_dump [option...] [dbname] Bazı Parametreler: -a: Sadece verileri alır. -f dosya: çıktıyı belirtilen dosyaya yazar. -F format: Çıktının türünü belirler. Format türleri: P: Düz metin çıktı (ön tanımlı değer) t: tar arşivi oluşturur. Bu çıktı daha sonra pg_restore komutu ile yedekten dönmek için kullanılabilir. -o: Tablolardaki verilere ait OID (Object IDentifier) değerlerinin yedeğini de alır. Bu parametre sadece sütunların OID değerlerine referans verildiği durumlarda kullanılır. -t tablo: Sadece ilgili tablonun yedeği alınır. devel~$ pg_dump deneme >db.dump devel~$ pg_dump f db.dump deneme devel~$ pg_dump -F t deneme >yedek.tar devel~$ tar tvf yedek.tar tar: Record size = 16 blocks -rw------- 2048/1024 1965 27 Mar 17:11 2006 toc.dat -rw------- 2048/1024 12 27 Mar 17:11 2006 1473.dat -rw------- 2048/1024 -rw------- 2048/1024 $ 5 27 Mar 17:11 2006 1474.dat 2060 27 Mar 17:11 2006 restore.sql 2.8. pg_dumpall PostgreSQL de tanımlı tüm bir veritabanlarının yedeğini düz-metin dosyaya alır. Kullanım şekli: pg_dumpall [option...] Bazı Parametreler: -a: Sadece verileri alır. -o: Tablolardaki verilere ait OID (Object IDentifier) değerlerinin yedeğini de alır. Bu parametre sadece sütunların OID değerlerine referans verildiği durumlarda kullanılır. devel~$ pg_dumpall >all.dump

Yeniden tüm veritabanını yüklemek için devel~$ psql f all.dump template1 2.9. pg_restore pg_dump tarafından oluşturulan arşiv formatındaki yedekten geri dönülmesini sağlar. Arşiv dosyasının düz-metin dosyadan farkı veritabanının yedeğini saklandığı andaki haliyle geri dönmeyi sağlar. Ek olarak sadece belirli kısımların da yedekten dönmesi sağlanabilir. Devam edecek... 3. Kaynaklar http://www.postgresql.org/docs/8.0/interactive/index.html