Postgresql'den gelen verileri tarayıcıda görüntüleyin. postgres komutları ve betikleri

Postgresql'den gelen verileri tarayıcıda görüntüleyin. postgres komutları ve betikleri

Diğer kullanıcılar adına komutların yürütülmesini organize etmek için kullanılan sudo yardımcı programında, sistemdeki ayrıcalıklarınızı yükseltmenizi sağlayan bir güvenlik açığı (CVE-2019-18634) tespit edildi. Sorun […]

WordPress 5.3'ün piyasaya sürülmesi, WordPress 5.0'da tanıtılan blok düzenleyiciyi yeni bir blok, daha sezgisel etkileşim ve iyileştirilmiş erişilebilirlik ile geliştirir ve genişletir. Editördeki yeni özellikler […]

Dokuz aylık geliştirmenin ardından, çeşitli multimedya formatlarında (yazma, dönüştürme ve […]

  • Linux Mint 19.2 Tarçın'daki yeni özellikler

    Linux Mint 19.2, 2023'e kadar desteklenecek olan bir Uzun Süreli Destek sürümüdür. Güncellenmiş olarak geliyor yazılım ve iyileştirmeler ve birçok yeni […]

  • Linux Mint 19.2 dağıtımı yayınlandı

    Sürüm Sunuldu Linux dağıtımı Mint 19.2, Ubuntu 18.04 LTS tabanlı Linux Mint 19.x şubesinin ikinci güncellemesi ve 2023 yılına kadar destekleniyor. Dağıtım tamamen uyumludur […]

  • Hata düzeltmeleri ve özellik geliştirmeleri içeren yeni BIND hizmet sürümleri mevcuttur. Yeni sürümler, geliştiricinin web sitesindeki indirmeler sayfasından indirilebilir: […]

    Exim, Cambridge Üniversitesi'nde internete bağlı Unix sistemlerinde kullanılmak üzere geliştirilmiş bir mesaj aktarım aracısıdır (MTA). […] uyarınca serbestçe kullanılabilir.

    Neredeyse iki yıllık geliştirmenin ardından, Linux 0.8.0 üzerinde ZFS piyasaya sürüldü ve uygulandı. dosya sistemi ZFS, Linux çekirdeği için bir modül olarak paketlenmiştir. Modül, 2.6.32'den Linux çekirdekleriyle test edilmiştir […]

    İnternetin protokollerini ve mimarisini geliştiren IETF (İnternet Mühendisliği Görev Gücü), ACME (Otomatik Sertifika Yönetim Ortamı) için RFC'nin oluşumunu tamamladı […]

    Topluluk tarafından kontrol edilen ve herkese ücretsiz sertifika sağlayan kar amacı gütmeyen bir sertifika yetkilisi olan Let's Encrypt, geçtiğimiz yılı özetledi ve 2019 planlarından bahsetti. […]

    Herkese merhaba, bugün ana PostgreSQL komutları hakkında küçük bir hatırlatma yapmak istiyorum. PostgreSQL ile hem etkileşimli modda hem de Komut satırı. Program psql'dir. eminim ki bu liste Hem sizin için çok faydalı olacak hem de çeşitli kaynaklarda arama yaparken zaman kazanacaksınız. Bunun 1986'da piyasaya sürülen Postgres DBMS'ye dayalı açık kaynaklı bir proje olduğunu, PGDG küresel geliştirme grubu tarafından geliştirildiğini, özünde 5-8 kişi olduğunu ancak buna rağmen çok geliştiğini hatırlatmama izin verin. yoğun bir şekilde, tüm yeni işlevlerin tanıtılması ve eski hataların ve hataların düzeltilmesi.

    Etkileşimli modda temel PostgreSQL komutları:

    • \connect db_name - db_name adlı bir veritabanına bağlanın
    • \du - kullanıcı listesi
    • \dp (veya \z) - tabloların, görünümlerin, dizilerin listesi, bunlara erişim hakları
    • \di - indeksler
    • \ds - diziler
    • \dt - tabloların listesi
    • \dt+ - açıklamalı tüm tabloların listesi
    • \dt *s* - adında s içeren tüm tabloların listesi
    • \dv - görünümler
    • \dS - sistem tabloları
    • \d+ - tablo açıklaması
    • \o - sorgu sonuçlarını bir dosyaya gönder
    • \l - veritabanlarının listesi
    • \i - bir dosyadan gelen verileri oku
    • \e - düzenleyicide sorgu arabelleğinin geçerli içeriğini açar (EDİTÖR değişken ortamında aksi belirtilmedikçe, varsayılan olarak vi kullanılacaktır)
    • \d “tablo_adı” – tablo açıklaması
    • \i komutu çalıştır harici dosya, örneğin \i /my/directory/my.sql
    • \pset - biçimlendirme seçeneklerini ayarlama komutu
    • \echo - bir mesaj görüntüler
    • \set - Bir ortam değişkeninin değerini ayarlar. Parametreler olmadan, geçerli değişkenlerin bir listesini görüntüler (\unset - siler).
    • \? - psql referansı
    • \help - SQL başvurusu
    • \q (veya Ctrl+D) - programdan çık

    Komut satırından PostgreSQL ile çalışmak:

    • -c (veya --command) - etkileşimli moda geçmeden SQL komutunu çalıştırın
    • -f file.sql - file.sql dosyasından komutları çalıştır
    • -l (veya --list) kullanılabilir veritabanlarını listeler
    • -U (veya --username) - kullanıcı adını belirtin (örneğin, postgres)
    • -W (veya --password) - şifre istemi
    • -d dbname - dbname veritabanına bağlan
    • -h - ana bilgisayar adı (sunucu)
    • -s - adım adım mod, yani tüm komutları onaylamanız gerekecek
    • -S - tek satır modu, yani yeni satır sorguyu yürütür (SQL yapısının sonunda;'den kurtulur)
    • -V - Etkileşimli moda girmeden PostgreSQL sürümü

    Örnekler:

    psql -U postgres -d dbname -c "TABLO OLUŞTUR my(some_id serial PRIMARY KEY, some_text text);" - dbname veritabanında bir komutun yürütülmesi.

    psql -d dbname -H -c "SELECT * FROM my" -o my.html - sorgu sonucunu html dosyasına yazdırın.

    PostgreSQL yardımcı programları (programlar):

    • createb ve dropdb - bir veritabanı oluştur ve bırak (sırasıyla)
    • createuser ve dropuser - oluştur ve kullan (sırasıyla)
    • pg_ctl, genel kontrol görevlerini (başlatma, durdurma, parametreleri ayarlama vb.) çözmek için tasarlanmış bir programdır.
    • postmaster - PostgreSQL çok kullanıcılı sunucu modülü (hata ayıklama düzeylerinin, bağlantı noktalarının, veri dizinlerinin yapılandırması)
    • initdb - yeni PostgreSQL kümeleri oluşturma
    • initlocation - veritabanlarının ikincil depolanması için dizinler oluşturmak için bir program
    • vakumdb - veritabanının fiziksel ve analitik bakımı
    • pg_dump - verileri arşivleme ve geri yükleme
    • pg_dumpall- destek olmak tüm PostgreSQL kümesi
    • pg_restore - veritabanını arşivlerden (.tar, .tar.gz) geri yükle

    Yedekleme örnekleri:

    mydb veritabanının yedeğini sıkıştırılmış biçimde oluşturma

    Pg_dump -h localhost -p 5440 -U bir kullanıcı -F c -b -v -f mydb.backup mydb

    mydb veritabanının yedeğini, bir veritabanı oluşturma komutu da dahil olmak üzere düz metin dosyası olarak oluşturma

    pg_dump -h localhost -p 5432 -U bir kullanıcı -C -F p -b -v -f mydb.backup mydb

    Adında ödemeler içeren tablolarla, sıkıştırılmış bir biçimde mydb veritabanının bir yedeğini oluşturma

    Pg_dump -h localhost -p 5432 -U bir kullanıcı -F c -b -v -t *ödemeler* -f Payment_tables.backup mydb

    Yalnızca bir, belirli tablonun veri dökümü. Birden fazla tablonun yedeklenmesi gerekiyorsa, her tablo için -t seçeneği kullanılarak tablo adları listelenir.

    pg_dump -a -t tablo_adı -f dosya_adı veritabanı_adı

    yaratılış destek olmak gz'de sıkıştırılmış

    Pg_dump -h localhost -O -F p -c -U postgres mydb | gzip -c > mydb.gz

    En sık kullanılan seçeneklerin listesi:

    • -h host - host, belirtilmezse localhost veya değeri Çevre değişkeni PGHOST.
    • -p bağlantı noktası - bağlantı noktası, belirtilmezse 5432 veya PGPORT ortam değişkenindeki değer kullanılır.
    • -u - kullanıcı, belirtilmezse kullanılır şu anki kullanıcı, değer PGUSER ortam değişkeninde de belirtilebilir.
    • -a, -data-only - yalnızca veri dökümü, verileri ve şemayı varsayılan olarak kaydedin.
    • -b - döküme büyük nesneleri (bloglar) dahil edin.
    • -s, -schema-only - yalnızca şemaları dökümü.
    • -C, -create - bir veritabanı oluşturmak için bir komut ekler.
    • -c - nesneleri (tablolar, görünümler vb.) silmek (bırakmak) için komutlar ekler.
    • -O Bir nesnenin sahibini (tablolar, görünümler vb.) ayarlamak için komutlar eklemeyin.
    • -F, -format (c|t|p) - döküm çıktı biçimi, özel, tar veya düz metin.
    • -t, -table=TABLO - Dökümü yapılacak belirli bir tablo belirtin.
    • -v, -ayrıntılı - çıktı detaylı bilgi.
    • -D, -attribute-inserts Özellik adları listesiyle birlikte INSERT komutunu kullanarak dökümü yapın.

    pg_dumpall komutunu kullanarak tüm veritabanlarını yedekleyin.

    pg_dumpall > all.sql

    Tabloları yedeklerden geri yükleme (yedeklemeler):

    psql - normal bir şekilde depolanan yedekleri geri yükleyin Metin dosyası(düz metin);
    pg_restore - sıkıştırılmış yedekleri (tar) geri yükleyin;

    Hataları yok sayarak tüm yedeği geri yükleme

    psql -h localhost -U bir kullanıcı -d dbname -f mydb.sql

    Tüm yedeği geri yükleme, ilk hatada durma

    psql -h localhost -U bazı kullanıcı -set ON_ERROR_STOP=on -f mydb.sql

    Bir tarball'dan geri yüklemek için öncelikle CREATE DATABASE mydb ile bir veritabanı oluşturmamız gerekiyor; (yedekleme oluşturulurken -C seçeneği belirtilmemişse) ve geri yükleyin

    pg_restore -dbname=mydb -jobs=4 -verbose mydb.backup

    gz ile sıkıştırılmış bir veritabanı yedeğini geri yükleme

    psql -U postgres -d mydb -f mydb

    Postgresql veritabanının artık sizin için daha anlaşılır olacağını düşünüyorum. Umarım bu PostgreSQL komutları listesi size yardımcı olmuştur.

    Bu yazıda en çok 15 tanesini göstereceğim. kullanışlı komutlar sürüş için postgreSQL.

    1. PostgreSQL'de root şifresi nasıl değiştirilir?

    $ /usr/local/pgsql/bin/psql postgres postgresŞifre: (eski şifre) # ŞİFRE İLE ALTER KULLANICI postgres 'tmppassword'; $ /usr/local/pgsql/bin/psql postgres postgresŞifre: (tmppassword)

    için şifrenin değiştirilmesi normal kullanıcı aynı şekilde olur. Kök kullanıcı, herhangi bir kullanıcının şifresini değiştirebilir.

    # KULLANICI kullanıcı adını ŞİFRE İLE DEĞİŞTİRİN 'tmppassword';

    2. PostgreSQL otomatik çalıştırmaya nasıl ayarlanır?

    $ su - root # tar xvfz postgresql-8.3.7.tar.gz # cd postgresql-8.3.7 # cp contrib/start-scripts/linux /etc/rc.d/init.d/postgresql # chmod a+x / etc/rc.d/init.d/postgresql

    3. Sunucunun durumunu kontrol edin

    $ /etc/init.d/postgresql durumuŞifre: pg_ctl: sunucu çalışıyor (PID: 6171) /usr/local/pgsql/bin/postgres "-D" "/usr/local/pgsql/data" [ Yorum: Bu mesaj, sunucunun düzgün çalıştığını ve düzgün çalıştığını gösterir] $ /etc/init.d/postgresql durumuŞifre: pg_ctl: çalışan sunucu yok [ Yorum: Bu mesaj, sunucunun çalışmadığını gösterir]

    4. PostgreSQL nasıl başlatılır, durdurulur, yeniden başlatılır?

    # hizmet postgresql durdurma PostgreSQL durduruluyor: sunucu tamam # durdu hizmet postgresql başlangıç PostgreSQL'i Başlatmak: tamam # hizmet postgresql yeniden başlatma PostgreSQL yeniden başlatılıyor: sunucu tamam durdu

    5. PostgreSQL'in hangi sürümünün çalıştığını nasıl görebilirim?

    $ /usr/yerel/pgsql/bin/psql testi PostgreSQL etkileşimli terminali olan psql 8.3.7'ye hoş geldiniz. Şunu yazın: \dağıtım koşulları için telif hakkı \h SQL komutlarıyla ilgili yardım için \? psql komutlarıyla ilgili yardım için \g veya sorguyu yürütmek için noktalı virgülle sonlandırın \q testten çıkmak için=# seçim sürümü(); sürüm ———————————————————————————————- i686-pc-linux-gnu üzerinde PostgreSQL 8.3.7, GCC tarafından derlenmiştir gcc (GCC) 4.1.2 20071124 (Red Hat 4.1.2-42) (1 satır) testi=#

    5. PostgreSQL'de kullanıcı nasıl oluşturulur?

    Bunun için iki yöntem var..

    Yöntem 1: CREATE USER komutunu kullanarak PSQL kabuğunda bir kullanıcı oluşturuyoruz.

    # Şifre 'tmppassword' İLE KULLANICI ramesh OLUŞTURUN; ROL OLUŞTUR

    Yöntem2: Createuser shell komutu ile bir kullanıcı oluşturuyoruz.

    $ /usr/yerel/pgsql/bin/createuser sathiya Yeni rol bir süper kullanıcı mı olacak? (e/a) Yeni rolün veritabanları oluşturmasına izin verilecek mi? (e/a) Yeni rolün daha fazla yeni rol oluşturmasına izin verilecek mi? (e/a) n ROL OLUŞTUR

    6. PostgreSQL'de veritabanı nasıl oluşturulur?

    Bunun için 2 yöntem var.

    Yöntem1: CREATE DATABASE komutunu kullanarak PSQL kabuğunu kullanarak bir veritabanı oluşturun.

    # SAHİBİ ramesh İLE VERİTABANI mydb OLUŞTURUN; VERİTABANI YARAT

    Yöntem2: Createdb komutunu kullanıyoruz.

    $ /usr/local/pgsql/bin/createdb mydb -O ramesh VERİTABANI YARAT

    7. Postgresql'deki tüm veritabanlarının bir listesini mi alıyorsunuz?

    # \l Veritabanlarının listesi İsim | sahibi | Kodlama ———-+———-+———- yedekleme | postgres | UTF8 veritabanı | rames | UTF8 postgres | postgres | UTF8 şablonu0 | postgres | UTF8 şablonu1 | postgres | UTF8

    8. PostgreSQL'de bir veritabanı nasıl silinir?

    # \l Veritabanlarının listesi İsim | sahibi | Kodlama ———-+———-+———- yedekleme | postgres | UTF8 veritabanı | rames | UTF8 postgres | postgres | UTF8 şablonu0 | postgres | UTF8 şablonu1 | postgres | UTF8# DROP VERİTABANI mydb; VERİTABANI DÜŞÜR

    9. Komutlar için yerleşik yardımı kullanma

    Takım \? psql komutu için bir yardım satırı görüntüler. \h CREATE, CREATE ile başlayan tüm komutlar için bir yardım gösterecektir.

    # \? # \h OLUŞTUR # \h DİZİN OLUŞTUR

    10. Postgresql'de bir veritabanındaki tüm tabloların listesi nasıl alınır?

    # \D

    Boş bir veritabanı için "İlişki bulunamadı" mesajını alırsınız.

    11. Bir talebin gerçekleşme zamanını nasıl öğrenebilirim?

    # \timing - bu komutu yürüttükten sonra, sonraki her istek yürütme süresini gösterecektir.

    # \zamanlama Zamanlama açık. # pg_catalog.pg_attribute içinden * SEÇİN; Süre: 9.583ms

    12. PostgreSQL'de veritabanları ve tablolar nasıl yedeklenir ve geri yüklenir?

    Bu soru oldukça geniş ve daha sonra ayrı bir makalede yayınlayacağım.

    13. PostgreSQL'de mevcut fonksiyonlar nasıl listelenir?

    Kullanılabilir işlevlerin bir listesi için \df+ deyin

    # \df # \df+

    14. Editörde bir PostgreSQL sorgusu nasıl düzenlenir?

    # \e

    \e, sorguyu düzenleyebileceğiniz ve kaydedebileceğiniz bir düzenleyici açacaktır.

    15. PostgreSQL geçmiş dosyasını nerede bulabilirim?

    ~/.bash_history dosyası gibi, postgreSQL de tüm sql komutlarını ~/.psql_history dosyasında saklar.

    $ kedi ~/.psql_history kullanıcı postgreslerini 'tmppassword' şifresiyle değiştirin; \h kullanıcı seç sürümünü değiştir(); şifre 'tmppassword' ile kullanıcı ramesh oluşturun; \timing pg_catalog.pg_attribute'den * seçin;

    postgres=# VERİTABANI OLUŞTUR test_database; VERİTABANI OLUŞTUR postgres=# "qwerty" şifresiyle test_user KULLANICI OLUŞTURUN; ROL OLUŞTUR postgres=# VERİTABANI ÜZERİNDEKİ TÜM ayrıcalıkları test_veritabanında test_user'E VERİN; HİBE ETMEK

    Kabuktan çıkmak için \q komutunu girin.

    Şimdi oluşturulan veritabanı ile test_user adına çalışmayı deneyelim:

    psql -h localhost test_database test_user

    Yeni bir tablo oluşturalım:

    Test_database=> SEQUENCE CREATE user_ids; CREATE SEQUENCE test_database=> CREATE TABLE kullanıcıları (id INTEGER PRIMARY KEY DEFAULT NEXTVAL("user_ids"), oturum açma CHAR(64), şifre CHAR(64)); DİKKAT: TABLO OLUŞTUR / BİRİNCİL ANAHTAR, örtülü INDEX OLUŞTURACAK "users_pkey" FOR TABLE "users" TABLO OLUŞTUR

    Bir kullanıcıyı silme

    Bir kullanıcıyı silmek için, onun haklarını bir başkasına devretmeniz ve ardından yalnızca silmeniz gerekir.

    doomed_role'UN SAHİP OLDUĞU KİŞİYİ halef_role'E YENİDEN ATAYIN; DOOMED_ROLE TARAFINDAN SAHİPLENEN BIRAKMA;

    - kümedeki her baz için önceki komutları tekrarlayın

    ROLÜ DÜŞÜR doomed_role;

    Postgres tablo yedekleme komut dosyası.

    #!/bin/bash DBNAMES="web"; KULLANICI="postgres"; DB_NAME="web"; NEW_OWNER="user_remote"; DATE_Y=`/bin/date "+%y"` DATE_M=`/bin/date "+%m"` DATE_D=`/bin/date "+%d"` SERVICE="pgdump" BACKUP_DIR="/var/ backup_db/20$(DATE_Y)/$(DATE_M)/$(DATE_D)" mkdir -p $BACKUP_DIR; psql -qAt -c içindeki tbl için "pg_tables'tan tablo adını seçin, burada şemaadı = "genel";" $(DB_NAME)` \ `psql -qAt -c "information_schema.sequences'tan sequence_name seçin burada sequence_schema = "public";" $(DB_NAME)` \ `psql -qAt -c "information_schema.views'den tablo_adı'nı seçin, burada table_schema = "public";" $(DB_NAME)` ; do echo "$tbl tablosu db $(DB_NAME)'den tables3/$tbl.backup dosyasına aktarılıyor" #pg_dump --format p --verbose --table public.$tbl $(DB_NAME) > $BACKUP_DIR/$tbl pg_dump - -format p --verbose --tablo genel.$tbl $(DB_NAME) | gzip > $BACKUP_DIR/$tbl #pg_dump -a -d -t public.$tbl $(DB_NAME) > tables3/$tbl.sql yapıldı ################BACKUP POSTGRES FONKSİYONLARI # Veritabanını tarihsiz olarak boşaltın, diğer işlevleri ondan çıkarmak için pg_dump -Fc -s -f $BACKUP_DIR/db_dump $(DB_NAME) /bin/sleep 4; # Liste işlevi oluştur pg_restore -l $BACKUP_DIR/db_dump | grep FUNCTION > $BACKUP_DIR/function_list ##İşlevler nasıl geri yüklenir ##################### #pg_restore -h localhost -U username -d basename - L function_list db_dump ######################

    Postgres tablo yedekleme komut dosyası. perl ile yazılmış

    User'a - postgres altından yürütün. Eğer cron'larda ise, o zaman postgresql kullanıcısı altından da.

    #!/usr/bin/env perl kullanımı katı; uyarıları kullanın; $database_name = "kitap_kütüphanem"; $ sorgum =<<"EOT"; SELECT n.nspname as table_schema, c.relname as table_name FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE c.relkind IN ("r","") AND n.nspname NOT IN ("pg_catalog", "information_schema") AND n.nspname NOT LIKE "^pg_%" ; EOT $query =~ s/\n\s*/ /g; my @results = `echo "$query" | psql -At $database_name`; foreach (@results) { chomp; my ($schema, $table) = split /\|/, $_; next unless ($schema && $table); my $cmd = "pg_dump -U postgres -Fp -t $schema.$table -f $schema.$table.dump $database_name"; system($cmd); } #If you wanted to restore only a single function: ##pg_restore -U $username --dbname=$dbname --function=$functionname(args) #If you wanted to restore only a single table: ##pg_restore -U $username --dbname=$dbname --table=$tablename

    Postgresql'de tam metin arama sözlükleri

    Uzak bir makineden veritabanı yedekleme

    PGPASSWORD="PAROLA" pg_dump -h $HOSTNAME -U veritabanıkullanıcısı -Fc --verbose "database.itc-life.ru" | gzip > veritabanıadı.gz

    Tabloları yedekleme ve geri yükleme

    İÇİNDE postgresql için iki yardımcı program vardır destek olmak pg_dump ve pg_dumpall . pg_dump tek bir veritabanını yedeklemek için kullanılır, pg_dumpall tüm veritabanlarını ve sunucuyu bir bütün olarak yedeklemek için kullanılır (postgresql superuser olarak çalıştırılmalıdır).

    Veritabanı yedeği oluşturma mydb sıkıştırılmış

    Pg_dump -h localhost -p 5432 -U bir kullanıcı -F c -b -v -f mydb.backup mydb

    Veritabanı yedeği oluşturma mydb, bir veritabanı oluşturmak için bir komut içeren bir düz metin dosyası olarak

    pg_dump -h localhost -p 5432 -U bir kullanıcı -C -F p -b -v -f mydb.backup mydb

    Veritabanı yedeği oluşturma mydb, adında içeren tablolarla sıkıştırılmış bir biçimde ödemeler

    Pg_dump -h localhost -p 5432 -U bir kullanıcı -F c -b -v -t *ödemeler* -f Payment_tables.backup mydb

    Yalnızca bir, belirli tablonun veri dökümü. Birkaç tabloyu yedeklemeniz gerekiyorsa, bu tabloların adları tuşu kullanılarak listelenir. -T her tablo için

    pg_dump -a -t tablo_adı -f dosya_adı veritabanı_adı

    Sıkıştırılmış bir yedek oluşturun gz

    pg_dump -h localhost -O -F p -c -U postgres mydb | gzip -c > mydb.gz

    En sık kullanılan seçeneklerin listesi:

    H ana bilgisayar - ana bilgisayar, belirtilmezse kullanılır yerel ana bilgisayar PGHOST.

    P bağlantı noktası - bağlantı noktası, belirtilmezse kullanılır 5432 veya ortam değişkeninden değer PGPORT.

    U - kullanıcı, belirtilmezse geçerli kullanıcı kullanılır, değer ortam değişkeninde de belirtilebilir PGUSER.

    A, --data-only - yalnızca veri dökümü, veriler ve şema varsayılan olarak kaydedilir.

    B - döküme büyük nesneleri (bloglar) dahil edin.

    S, --schema-only - Yalnızca şemaları dökümü.

    C, --create - bir veritabanı oluşturmak için bir komut ekler.

    C - nesneleri (tablolar, görünümler vb.) silmek (bırakmak) için komutlar ekler.

    O - bir nesnenin sahibini (tablolar, görünümler vb.) ayarlamak için komutlar eklemeyin.

    F, --format (c|t|p) — döküm çıktı biçimi, özel katran, veya düz metin.

    T, --table=TABLE - döküm için belirli bir tablo belirtin.

    V, --verbose - ayrıntılı bilgi verir.

    D, --attribute-inserts - komutu kullanarak dökümü yapın SOKMAKözellik adlarının bir listesi ile.

    pg_dumpall komutunu kullanarak tüm veritabanlarını yedekleyin.

    pg_dumpall > all.sql # yedeklemeyi kontrol et grep "^[\]connect" all.sql \connect db1 \connect db2

    PostgreSQL'in aşağıdakiler için iki yardımcı programı vardır: iyileşmek yedek üsler

    • psql- düz metin dosyasında (düz metin) saklanan yedekleri geri yükleyin;
    • pg_restore— sıkıştırılmış yedeklerin (tar) kurtarılması;

    Veritabanı kurtarma ve

    #pg_restore -v -e -d dbname dbname.dump

    Hataları yok sayarak tüm yedeği geri yükleme

    psql -h localhost -U bir kullanıcı -d dbname -f mydb.sql

    Tüm yedeği geri yükleme, ilk hatada durma

    psql -h localhost -U bazı kullanıcı --set ON_ERROR_STOP=on -f mydb.sql

    kurtarmak için katran-archive önce CREATE DATABASE mydb kullanarak bir veritabanı oluşturmamız gerekiyor; (yedekleme oluşturulurken -C seçeneği belirtilmemişse) ve geri yükleyin

    pg_restore --dbname=mydb --jobs=4 --verbose mydb.backup

    Sıkıştırılmış bir veritabanı yedeğini geri yükleme gz

    Gunzip mydb.gz psql -U postgres -d mydb -f mydb

    9.2 sürümünden başlayarak, --section seçeneği kullanılarak yalnızca tabloların yapısı geri yüklenebilir

    # bir veritabanı oluştur VERİTABANI OLUŞTUR mydb2; # eski haline getirmek pg_restore --dbname=mydb2 --section=pre-data --jobs=4 mydb.backup

    Masa Bakımı

    VAKUM ANALİZ tablosu; REINDEX VERİTABANI dbName; REINDEX TABLO sekmeAdı;

    Veri dizinini aktarma

    Geçerli yolu öğrenin

    # yol 1 $ su - postgres $ psql psql > SHOW data_directory; # yol 2 $ ps balta | grep "postgres -D"

    Yeni bir dizin oluşturun, bir kullanıcı atayın ve başlatın

    mkdir -p /pathto/postgresql/data chown -R postgres:postgres /pathto/postgresql su - postgres initdb -D /pathto/postgresql/data

    Şimdi başlayan servis ile dosyayı düzeltmemiz gerekiyor. postgresql

    # kemer altında linux sudo vim /etc/systemd/system/multi-user.target.wants/postgresql.service Ortam =PGROOT=/pathto/postgresql/ PIDFile =/pathto/postgresql/data/postmaster.pid

    masanın temizlenmesi

    masanın temizlenmesi Tablo ismi ve ID ile sayacı sıfırlayın.

    TRUNCATE TABLE tablo adı RESTART IDENTITY CASCADE ;

    ÇAĞLAYAN durumda gerekli Tablo ismi başka bir tabloya bağlı.

    NULL'u bir alandan kaldırma

    ALTER TABLE filmler ALTER COLUMN yıl DROP NOT NULL ;

    çalışan pgbouncer

    su -s /bin/sh - postgres -c "/usr/sbin/pgbouncer -d --verbose /etc/pgbouncer/pgbouncer.ini"

    Kullanıcıları veritabanından ayırın

    datname = "mydb";`

    Son güncelleme: 03/17/2018

    Tablolar, CREATE TABLE komutu ve ardından tablo adı kullanılarak oluşturulur. Tablo sütunlarını ve özniteliklerini tanımlayan bu komutla bir dizi işleç de kullanabilirsiniz. Bir tablo oluşturmak için genel sözdizimi aşağıdaki gibidir:

    TABLO OLUŞTUR tablo_adı (sütun_adı1 veri_türü sütun_öznitelikleri1, sütun_adı2 veri_türü sütun2 öznitelikleri, ..................................... .... .......... sütun_adıN veri_türü sütun_öznitelikleriN, tablo_öznitelikleri);

    Tablo adından sonra, tüm sütunların özellikleri parantez içinde listelenir. Ayrıca, her sütun için temsil edeceği adı ve veri tipini belirtmeniz gerekir. Veri türü, sütunun hangi verileri (sayılar, dizeler vb.) içerebileceğini belirler.

    Örneğin, veritabanında pgAdmin kullanarak bir tablo oluşturalım. Bunu yapmak için önce pgAdmin'de hedef veritabanını seçin, üzerine sağ tıklayın ve bağlam menüsü Sorgu Aracı... öğesini seçin:

    Bundan sonra, SQL'de kodu girmek için bir alan açılacaktır. Ayrıca SQL girişi için bu alanı açacağımız veritabanına özel tablo oluşturulacaktır.

    CREATE TABLE müşterileri (Kimlik SERİ BİRİNCİL ANAHTAR, Ad KARAKTER DEĞİŞİKLİK(30), Soyad KARAKTER DEĞİŞİKLİK(30), E-posta KARAKTER DEĞİŞİKLİK(30), Yaş TAM SAYI);

    Bu durumda Müşteriler tablosunda beş sütun tanımlanmıştır: Kimlik, Ad, Soyad, Yaş, E-posta. İlk sütun - Kimlik, hizmet verdiği müşterinin kimliğini temsil eder birincil anahtar ve bu nedenle SERIAL türündedir. Aslında, bu sütun her biri için 1, 2, 3 vb. sayısal değerleri saklayacaktır. Yeni hat otomatik olarak bir artacaktır.

    Sonraki üç sütun, müşterinin adını, soyadını ve e-posta adresi ve CHARACTER VARYING(30) türündedirler, yani 30 karakterden uzun olmayan bir diziyi temsil ederler.

    Son sütun - Age, kullanıcının yaşını temsil eder ve INTEGER türündedir, yani sayıları depolar.

    Ve bu komutu çalıştırdıktan sonra, müşteriler tablosu seçilen veritabanına eklenecektir.

    Tabloları silme

    Tabloları bırakmak için aşağıdaki sözdizimine sahip DROP TABLE komutunu kullanın:

    DROP TABLE tablo1 [, tablo2, ...];

    Örneğin, müşteriler tablosunu silmek.