Melihat data dari postgresql di browser. perintah dan skrip postgres

Melihat data dari postgresql di browser. perintah dan skrip postgres

Kerentanan (CVE-2019-18634) telah diidentifikasi dalam utilitas sudo, yang digunakan untuk mengatur eksekusi perintah atas nama pengguna lain, yang memungkinkan Anda meningkatkan hak istimewa Anda dalam sistem. Masalah […]

Rilis WordPress 5.3 meningkatkan dan memperluas editor blok yang diperkenalkan di WordPress 5.0 dengan blok baru, interaksi yang lebih intuitif, dan peningkatan aksesibilitas. Fitur baru di editor […]

Setelah sembilan bulan pengembangan, paket multimedia FFmpeg 4.2 tersedia, yang mencakup seperangkat aplikasi dan kumpulan perpustakaan untuk pengoperasian berbagai format multimedia (perekaman, konversi, dan […]

  • Fitur baru di Linux Mint 19.2 Kayu Manis

    Linux Mint 19.2 adalah rilis dukungan jangka panjang yang akan didukung hingga tahun 2023. Itu datang dengan diperbarui perangkat lunak dan berisi perbaikan dan banyak hal baru […]

  • Distribusi Linux Mint 19.2 dirilis

    Rilis disajikan Distribusi Linux Mint 19.2, pembaruan kedua untuk cabang Linux Mint 19.x, berdasarkan basis paket Ubuntu 18.04 LTS dan didukung hingga tahun 2023. Distribusi ini sepenuhnya kompatibel [...]

  • Tersedia rilis layanan BIND baru yang berisi perbaikan bug dan peningkatan fitur. Rilis baru dapat diunduh dari halaman unduh di situs web pengembang: […]

    Exim adalah agen transfer pesan (MTA) yang dikembangkan di Universitas Cambridge untuk digunakan pada sistem Unix yang terhubung ke Internet. Ini tersedia secara gratis sesuai dengan [...]

    Setelah hampir dua tahun pengembangan, rilis ZFS di Linux 0.8.0 disajikan, implementasi sistem file ZFS, dikemas sebagai modul untuk kernel Linux. Modul ini telah diuji dengan kernel Linux dari 2.6.32 hingga […]

    IETF (Internet Engineering Task Force), yang mengembangkan protokol dan arsitektur Internet, telah menyelesaikan RFC untuk protokol ACME (Automatic Certificate Management Environment) […]

    Otoritas sertifikasi nirlaba Let's Encrypt, yang dikendalikan oleh komunitas dan memberikan sertifikat gratis kepada semua orang, merangkum hasil tahun lalu dan membicarakan rencana untuk tahun 2019. […]

    Halo semuanya, hari ini saya ingin membuat pengingat singkat tentang perintah utama PostgreSQL. Anda dapat bekerja dengan PosgreSQL baik secara interaktif maupun dari baris perintah. Programnya adalah psql. Saya yakin itu daftar ini Ini akan sangat berguna bagi Anda dan akan menghemat waktu mencari melalui berbagai sumber. Izinkan saya mengingatkan Anda bahwa ini adalah proyek sumber terbuka, berdasarkan DBMS Postgres, dirilis pada tahun 1986, sedang dikembangkan oleh sekelompok pengembang PGDG di seluruh dunia, pada dasarnya 5-8 orang, namun meskipun demikian, ini berkembang sangat intensif , memperkenalkan fungsi baru dan memperbaiki bug dan kesalahan lama.

    Perintah dasar PostgreSQL dalam mode interaktif:

    • \connect db_name – terhubung ke database bernama db_name
    • \du – daftar pengguna
    • \dp (atau \z) – daftar tabel, tampilan, urutan, hak aksesnya
    • \di – indeks
    • \ds – urutan
    • \dt – daftar tabel
    • \dt+ - daftar semua tabel dengan deskripsi
    • \dt *s* - daftar semua tabel yang mengandung s pada namanya
    • \dv – representasi
    • \dS – tabel sistem
    • \d+ – deskripsi tabel
    • \o – mengirim hasil kueri ke file
    • \l – daftar database
    • \i – membaca data yang masuk dari suatu file
    • \e – membuka konten buffer permintaan saat ini di editor (kecuali ditentukan lain dalam lingkungan variabel EDITOR, vi akan digunakan secara default)
    • \d “nama_tabel” – deskripsi tabel
    • \i menjalankan perintah dari berkas eksternal, misalnya \i /saya/direktori/saya.sql
    • \pset – perintah untuk mengonfigurasi opsi pemformatan
    • \echo – menampilkan pesan
    • \set – menetapkan nilainya variabel lingkungan. Tanpa parameter, menampilkan daftar variabel saat ini (\unset – dihapus).
    • \? – referensi psql
    • \help – Referensi SQL
    • \q (atau Ctrl+D) – keluar dari program

    Bekerja dengan PostgreSQL dari baris perintah:

    • -c (atau –command) – menjalankan perintah SQL tanpa masuk ke mode interaktif
    • -f file.sql - jalankan perintah dari file file.sql
    • -l (atau –list) – menampilkan daftar database yang tersedia
    • -U (atau –nama pengguna) – tentukan nama pengguna (misalnya postgres)
    • -W (atau –kata sandi) – perintah kata sandi
    • -d dbname - sambungkan ke database dbname
    • -h – nama host (server)
    • -s – mode langkah demi langkah, yaitu, Anda perlu mengonfirmasi semua perintah
    • –S – mode satu baris, yaitu, pergi ke baris baru akan mengeksekusi kueri (menghilangkan; di akhir konstruksi SQL)
    • -V – versi PostgreSQL tanpa memasuki mode interaktif

    Contoh:

    psql -U postgres -d dbname -c “BUAT TABEL my(some_id serial PRIMARY KEY, some_text text);” - Eksekusi perintah di database dbname.

    psql -d dbname -H -c “SELECT * FROM my” -o my.html - menampilkan hasil kueri ke file html.

    Utilitas PosgreSQL (program):

    • createb dan dropdb – membuat dan melepaskan database (masing-masing)
    • createuser dan dropuser – pembuatan dan pengguna (masing-masing)
    • pg_ctl – program yang dirancang untuk menyelesaikan tugas kontrol umum (memulai, menghentikan, mengatur parameter, dll.)
    • postmaster – modul server PostgreSQL multi-pengguna (mengonfigurasi level debug, port, direktori data)
    • initdb – membuat cluster PostgreSQL baru
    • initlocation – program untuk membuat direktori untuk penyimpanan database sekunder
    • vakumdb – dukungan basis data fisik dan analitis
    • pg_dump – pengarsipan dan pemulihan data
    • hal_dumpall – cadangan seluruh cluster PostgreSQL
    • pg_restore – restorasi database dari arsip (.tar, .tar.gz)

    Contoh membuat cadangan:

    Membuat backup database mydb, dalam bentuk terkompresi

    Pg_dump -h localhost -p 5440 -U beberapa pengguna -F c -b -v -f mydb.backup mydb

    Membuat backup database mydb, berupa file teks biasa, termasuk perintah untuk membuat database

    Pg_dump -h localhost -p 5432 -U beberapa pengguna -C -F p -b -v -f mydb.backup mydb

    Membuat cadangan database mydb, dalam bentuk terkompresi, dengan tabel berisi pembayaran atas namanya

    Pg_dump -h localhost -p 5432 -U beberapa pengguna -F c -b -v -t *pembayaran* -f pembayaran_tabel.cadangan mydb

    Buang data hanya dari satu tabel tertentu. Jika beberapa tabel perlu dicadangkan, nama tabel dicantumkan menggunakan tombol -t untuk setiap tabel.

    Pg_dump -a -t nama_tabel -f nama_file nama_basis data

    Penciptaan salinan cadangan dengan kompresi dalam gz

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

    Daftar opsi yang paling umum digunakan:

    • -h host - host, jika tidak ditentukan maka localhost atau nilai dari variabel lingkungan PGHOST akan digunakan.
    • -p port - port; jika tidak ditentukan, 5432 atau nilai dari variabel lingkungan PGPORT digunakan.
    • -u - pengguna, jika tidak ditentukan maka digunakan pengguna saat ini, nilainya juga dapat ditentukan dalam variabel lingkungan PGUSER.
    • -a, -data-only - hanya membuang data; secara default, data dan skema disimpan.
    • -b - memasukkan objek besar (blog) ke dalam dump.
    • -s, -schema-only - hanya membuang skemanya.
    • -C, -create - menambahkan perintah untuk membuat database.
    • -c - menambahkan perintah untuk menghapus (menjatuhkan) objek (tabel, tampilan, dll.).
    • -O - ​​​​jangan menambahkan perintah untuk mengatur pemilik suatu objek (tabel, tampilan, dll).
    • -F, -format (c|t|p) - membuang format keluaran, kustom, tar, atau teks biasa.
    • -t, -table=TABLE - tentukan tabel spesifik untuk dump.
    • -v, -verbose - keluaran informasi rinci.
    • -D, -attribute-inserts - membuang menggunakan perintah INSERT dengan daftar nama properti.

    Cadangkan semua database menggunakan perintah pg_dumpall.

    Pg_dumpall > semua.sql

    Memulihkan tabel dari cadangan:

    psql - memulihkan cadangan yang disimpan secara reguler berkas teks(teks biasa);
    pg_restore - memulihkan cadangan terkompresi (tar);

    Memulihkan seluruh cadangan sambil mengabaikan kesalahan

    Psql -h localhost -U pengguna tertentu -d nama db -f mydb.sql

    Memulihkan seluruh cadangan, berhenti pada kesalahan pertama

    Psql -h localhost -U pengguna tertentu -set ON_ERROR_STOP=pada -f mydb.sql

    Untuk memulihkan dari arsip tar, pertama-tama kita perlu membuat database menggunakan CREATE DATABASE mydb; (jika opsi -C tidak ditentukan saat membuat cadangan) dan pulihkan

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

    Memulihkan cadangan basis data terkompresi gz

    psql -U postgres -d mydb -f mydb

    Saya pikir database postgresql sekarang akan lebih mudah dipahami oleh Anda. Saya harap daftar perintah PostgreSQL ini bermanfaat bagi Anda.

    Pada artikel ini saya akan menampilkan 15 yang paling banyak perintah yang berguna untuk manajemen postgreSQL.

    1. Bagaimana cara mengubah kata sandi root di PostgreSQL?

    $ /usr/local/pgsql/bin/psql postgres postgres Kata sandi: (kata sandi lama) # ALTER USER postgres DENGAN PASSWORD 'tmppassword'; $ /usr/local/pgsql/bin/psql postgres postgres Kata sandi: (kata sandi tmp)

    Mengubah kata sandi untuk pengguna biasa terjadi dengan cara yang sama. Pengguna root dapat mengubah kata sandi untuk pengguna mana pun.

    # ALTER nama pengguna PENGGUNA DENGAN PASSWORD 'tmppassword';

    2. Bagaimana cara menginstal PostgreSQL ke autostart?

    $ 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 / dll/rc.d/init.d/postgresql

    3. Periksa status server

    $ /etc/init.d/status postgresql Kata sandi: pg_ctl: server sedang berjalan (PID: 6171) /usr/local/pgsql/bin/postgres “-D” “/usr/local/pgsql/data” [ Komentar: Pesan ini menunjukkan bahwa server berjalan dan bekerja normal] $ /etc/init.d/status postgresql Kata sandi: pg_ctl: tidak ada server yang berjalan [ Komentar: Pesan ini menunjukkan bahwa server tidak berjalan]

    4. Bagaimana cara memulai, menghentikan, memulai ulang PostgreSQL?

    # layanan postgresql berhenti Menghentikan PostgreSQL: server berhenti ok # layanan postgresql dimulai Memulai PostgreSQL: oke # layanan postgresql dimulai ulang Memulai ulang PostgreSQL: server berhenti baik-baik saja

    5. Bagaimana cara melihat versi PostgreSQL yang sedang berjalan?

    $ /usr/local/pgsql/bin/tes psql Selamat datang di psql 8.3.7, terminal interaktif PostgreSQL. Ketik: \hak cipta untuk persyaratan distribusi \h untuk bantuan dengan perintah SQL \? untuk bantuan dengan perintah psql \g atau akhiri dengan titik koma untuk menjalankan kueri \q untuk keluar dari test=# pilih versi(); versi ———————————————————————————————————— PostgreSQL 8.3.7 di i686-pc-linux-gnu, dikompilasi oleh GCC gcc (GCC) 4.1.2 20071124 (Red Hat 4.1.2-42) (1 baris) pengujian=#

    5. Bagaimana cara membuat pengguna di PostgreSQL?

    Ada dua metode untuk ini..

    Metode 1: Kami membuat pengguna menggunakan shell PSQL menggunakan perintah CREATE USER.

    # BUAT ramesh PENGGUNA DENGAN kata sandi 'tmppassword'; BUAT PERAN

    Metode2: Kami membuat pengguna menggunakan perintah createuser shell.

    $ /usr/local/pgsql/bin/createuser sathiya Sebaiknya yang baru peran menjadi pengguna super? (y/n) n Apakah peran baru diperbolehkan untuk membuat database? (y/n) n Apakah peran baru diperbolehkan untuk membuat lebih banyak peran baru? (y/n) n BUAT PERAN

    6. Bagaimana cara membuat database di PostgreSQL?

    Ada 2 metode untuk ini.

    Metode1: Kami membuat database melalui shell PSQL menggunakan perintah CREATE DATABASE.

    # BUAT DATABASE mydb DENGAN PEMILIK ramesh; BUAT DATABASE

    Metode2: Kami menggunakan perintah createb.

    $ /usr/local/pgsql/bin/createdb mydb -O ramesh BUAT DATABASE

    7. Apakah kita mendapatkan daftar semua database di Postgresql?

    # \l Daftar nama database | Pemilik | Pengkodean ——-+——-+———- cadangan | postgres | UTF8 mydb | ramesh | Posting UTF8 | postgres | Templat UTF80 | postgres | Templat UTF81 | postgres | UTF8

    8. Bagaimana cara menghapus database di PostgreSQL?

    # \l Daftar nama database | Pemilik | Pengkodean ——-+——-+———- cadangan | postgres | UTF8 mydb | ramesh | Posting UTF8 | postgres | Templat UTF80 | postgres | Templat UTF81 | postgres | UTF8# JATUHKAN DATABASE mydb; JATUHKAN DATABASE

    9. Gunakan bantuan bawaan untuk perintah

    Tim \? akan menampilkan baris bantuan untuk perintah PSQL. \h CREATE akan menampilkan bantuan untuk semua perintah yang dimulai dengan CREATE.

    # \? # \h BUAT # \h BUAT INDEKS

    10. Bagaimana cara mendapatkan daftar semua tabel dalam database tertentu di Postgresql?

    # \D

    Untuk database kosong, Anda akan menerima pesan “Tidak ditemukan hubungan.”

    11. Bagaimana cara mengetahui waktu pelaksanaan permintaan?

    # \timing - setelah menjalankan perintah ini, setiap permintaan berikutnya akan menampilkan waktu eksekusi.

    # \waktu Waktunya aktif. # PILIH * dari pg_catalog.pg_attribute ; Waktu: 9,583 ms

    12. Bagaimana cara mencadangkan dan memulihkan database dan tabel di PostgreSQL?

    Pertanyaan ini cukup besar dan akan saya publikasikan nanti di artikel tersendiri.

    13. Bagaimana cara melihat daftar fungsi yang tersedia di PostgreSQL?

    Untuk mendapatkan daftar fungsi yang tersedia, ucapkan \df+

    # \df # \df+

    14. Bagaimana cara mengedit kueri PostgreSQL di editor?

    # \e

    \e akan membuka editor tempat Anda dapat mengedit kueri dan menyimpannya.

    15. Di mana saya dapat menemukan file riwayat postgreSQL?

    Mirip dengan file ~/.bash_history, postgreSQL menyimpan semua perintah sql di file ~/.psql_history.

    $ kucing ~/.psql_history ubah postgres pengguna dengan kata sandi 'tmppassword'; \h mengubah versi pilihan pengguna(); buat ramesh pengguna dengan kata sandi 'tmppassword'; \waktu pilih * dari pg_catalog.pg_attribute;

    postgres=# BUAT DATABASE test_database; BUAT DATABASE postgres=# BUAT PENGGUNA test_user DENGAN kata sandi "qwerty"; CREATE ROLE postgres=# MEMBERIKAN SEMUA hak istimewa PADA DATABASE test_database TO test_user; MENGANUGERAHKAN

    Untuk keluar dari shell, masukkan perintah \q.

    Sekarang mari kita coba bekerja dengan database yang dibuat atas nama test_user:

    Psql -h localhost test_database test_user

    Mari buat tabel baru:

    Test_database=> BUAT URUTAN user_ids; CREATE SEQUENCE test_database=> CREATE TABLE pengguna (id INTEGER PRIMARY KEY DEFAULT NEXTVAL("user_ids"), login CHAR(64), password CHAR(64)); PEMBERITAHUAN: CREATE TABLE / PRIMARY KEY akan MEMBUAT INDEKS implisit "users_pkey" UNTUK TABEL "pengguna" CREATE TABLE

    Menghapus pengguna

    Untuk menghapus pengguna, Anda perlu mentransfer haknya ke pengguna lain, lalu menghapusnya saja

    PENETAPAN KEMBALI MILIK OLEH doomed_role KE penerus_role; JATUHKAN MILIK OLEH doomed_role;

    — ulangi perintah sebelumnya untuk setiap database di cluster

    JATUHKAN PERAN doomed_role;

    Skrip cadangan tabel Postgres.

    #!/bin/bash DBNAMES="web"; USER="postgres"; DB_NAME="web"; NEW_OWNER="pengguna_jarak jauh"; DATE_Y=`/bin/tanggal "+%y"` DATE_M=`/bin/tanggal "+%m"` DATE_D=`/bin/tanggal "+%d"` SERVICE="pgdump" BACKUP_DIR="/var/ backup_db/20$(DATE_Y)/$(DATE_M)/$(DATE_D)" mkdir -p $BACKUP_DIR; untuk tbl di `psql -qAt -c "pilih nama tabel dari pg_tables di mana nama skema = "publik";" $(DB_NAME)` \ `psql -qAt -c "pilih sequence_name dari information_schema.sequences di mana sequence_schema = "public";" $(DB_NAME)` \ `psql -qAt -c "pilih nama_tabel dari information_schema.views di mana table_schema = "publik";" $(DB_NAME)` ; do echo "Mengekspor tabel $tbl dari db $(DB_NAME) ke file tabel3/$tbl.backup" #pg_dump --format p --verbose --table public.$tbl $(DB_NAME) > $BACKUP_DIR/$tbl pg_dump - -format p --verbose --tabel publik.$tbl $(DB_NAME) | gzip > $BACKUP_DIR/$tbl #pg_dump -a -d -t public.$tbl $(DB_NAME) > tabel3/$tbl.sql selesai ###################BACKUP FUNGSI POSTGRES # Kami membuang database tanpa tanggal untuk mengekstraknya fungsi lebih lanjut pg_dump -Fc -s -f $BACKUP_DIR/db_dump $(DB_NAME) /bin/sleep 4; # Buat fungsi daftar pg_restore -l $BACKUP_DIR/db_dump | grep FUNCTION > $BACKUP_DIR/function_list ##Cara mengembalikan fungsi ######################### #pg_restore -h localhost -U nama pengguna -d nama_database - L fungsi_daftar db_dump ##########################

    Skrip cadangan tabel Postgres. ditulis dalam perl

    Jalankan sebagai pengguna - postgres. Jika di mahkota, maka juga dari bawah pengguna postgresql.

    #!/usr/bin/env perl gunakan ketat; gunakan peringatan; $database_name saya = "perpustakaan_buku"; $kueri saya =<<"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

    Kamus pencarian teks lengkap di postgresql

    Cadangkan database dari mesin jarak jauh

    PPGASSWORD="PASSWORD" pg_dump -h $HOSTNAME -U pengguna basis data -Fc --verbose "database.itc-life.ru" | gzip > nama database.gz

    Pencadangan dan pemulihan tabel

    DI DALAM PostgreSQL ada dua utilitas untuk cadangan pg_dump dan pg_dumpall . pg_dump digunakan untuk membackup satu database, pg_dumpall digunakan untuk membackup semua database dan server secara keseluruhan (harus dijalankan di bawah superuser postgresql).

    Membuat cadangan basis data mydb, dalam bentuk terkompresi

    Pg_dump -h localhost -p 5432 -U beberapa pengguna -F c -b -v -f mydb.backup mydb

    Membuat cadangan basis data mydb, sebagai file teks biasa, termasuk perintah untuk membuat database

    Pg_dump -h localhost -p 5432 -U beberapa pengguna -C -F p -b -v -f mydb.backup mydb

    Membuat cadangan basis data mydb, dalam bentuk terkompresi, dengan tabel yang berisi namanya pembayaran

    Pg_dump -h localhost -p 5432 -U beberapa pengguna -F c -b -v -t *pembayaran* -f pembayaran_tabel.cadangan mydb

    Buang data hanya dari satu tabel tertentu. Jika Anda perlu membuat cadangan beberapa tabel, maka nama tabel tersebut dicantumkan menggunakan kunci -T untuk setiap tabel.

    Pg_dump -a -t nama_tabel -f nama_file nama_basis data

    Membuat cadangan dengan kompresi masuk gz

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

    Daftar opsi yang paling umum digunakan:

    H host - host, jika tidak ditentukan maka digunakan host lokal PGHOST.

    Port P - port, jika tidak ditentukan maka digunakan 5432 atau nilai dari variabel lingkungan PGPORT.

    U - pengguna, jika tidak ditentukan, maka pengguna saat ini digunakan, nilainya juga dapat ditentukan dalam variabel lingkungan PGUSER.

    A, --data-only - hanya membuang data; secara default, data dan skema disimpan.

    B - sertakan benda besar (blog) di tempat pembuangan sampah.

    S, --schema-only - hanya membuang skemanya.

    C, --create - menambahkan perintah untuk membuat database.

    C - menambahkan perintah untuk menghapus (menjatuhkan) objek (tabel, tampilan, dll.).

    O - jangan menambahkan perintah untuk mengatur pemilik suatu objek (tabel, tampilan, dll.).

    F, --format (c|t|p) — membuang format keluaran, adat, tar, atau teks biasa.

    T, --table=TABLE - tentukan tabel spesifik untuk dump.

    V, --verbose - menampilkan informasi rinci.

    D, --attribute-inserts - buang menggunakan perintah MENYISIPKAN dengan daftar nama properti.

    Cadangkan semua database menggunakan perintah pg_dumpall.

    Pg_dumpall > semua.sql # memeriksa cadangan grep "^[\]sambungkan" all.sql \sambungkan db1 \sambungkan db2

    PostgreSQL memiliki dua utilitas untuk pemulihan database dari cadangan.

    • psql— memulihkan cadangan yang disimpan dalam file teks biasa;
    • pg_restore— pemulihan cadangan terkompresi (tar);

    Pemulihan basis data dan

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

    Memulihkan seluruh cadangan sambil mengabaikan kesalahan

    Psql -h localhost -U pengguna tertentu -d nama db -f mydb.sql

    Memulihkan seluruh cadangan, berhenti pada kesalahan pertama

    psql -h localhost -U pengguna tertentu --set ON_ERROR_STOP=on -f mydb.sql

    Untuk memulihkan dari ter-arsip, pertama-tama kita perlu membuat database menggunakan CREATE DATABASE mydb; (jika opsi -C tidak ditentukan saat membuat cadangan) dan pulihkan

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

    Memulihkan cadangan basis data terkompresi gz

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

    Mulai dari versi 9.2, Anda hanya dapat memulihkan struktur tabel menggunakan opsi --section

    # membuat database BUAT DATABASE mydb2; # memulihkan pg_restore --dbname=mydb2 --section=pra-data --jobs=4 mydb.backup

    Layanan meja

    tabel ANALISIS VAKUM; INDEKS ULANG DATABASE dbName; REINDEX TABEL tabNama;

    Mentransfer direktori data

    Cari tahu jalur saat ini

    # metode 1 $ su - postgres $ psql psql > TAMPILKAN data_direktori; # metode 2 $ ps kapak | grep "postgres -D"

    Mari buat direktori baru, tetapkan pengguna dan inisialisasi

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

    Sekarang kita perlu mengedit file dengan layanan yang dimulai postgresql

    # di bawah arch linux sudo vim /etc/systemd/system/multi-user.target.wants/postgresql.service Environment =PGROOT=/pathto/postgresql/ PIDFile =/pathto/postgresql/data/postmaster.pid

    Membersihkan meja

    Membersihkan meja nama tabel dan mengatur ulang penghitung ID.

    TRUNCATE TABLE nama tabel RESTART IDENTITY CASCADE ;

    RIAM diperlukan dalam kasus ini nama tabel dihubungkan ke tabel lain.

    Menghapus NULL dari suatu bidang

    ALTER TABLE film ALTER COLUMN tahun DROP NOT NULL ;

    Menjalankan pgbouncer

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

    Putuskan sambungan pengguna dari database

    PILIH pg_terminate_backend(pid) DARI pg_stat_activity WHERE datname = "mydb";`

    Pembaruan terakhir: 17/03/2018

    Untuk membuat tabel, gunakan perintah CREATE TABLE, diikuti dengan nama tabel. Anda juga dapat menggunakan sejumlah operator dengan perintah ini yang menentukan kolom tabel dan atributnya. Sintaks umum untuk membuat tabel adalah sebagai berikut:

    BUAT TABEL nama_tabel (nama_kolom1 tipe data kolom_atribut1, nama_kolom2 tipe data kolom_atribut2, ................................... . ......... nama_kolomN tipe_data kolom_atributN, atribut_tabel);

    Setelah nama tabel, spesifikasi untuk semua kolom dicantumkan dalam tanda kurung. Selain itu, untuk setiap kolom Anda harus menunjukkan nama dan jenis data yang akan diwakilinya. Tipe data menentukan data apa (angka, string, dll.) yang dapat ditampung dalam suatu kolom.

    Misalnya kita membuat tabel di database menggunakan pgAdmin. Untuk melakukan ini, pertama pilih database target di pgAdmin, klik kanan padanya dan menu konteks pilih item Alat Kueri...:

    Setelah ini, kolom untuk memasukkan kode SQL akan terbuka. Selain itu, tabel akan dibuat khusus untuk database tempat kita membuka kolom input SQL ini.

    BUAT TABEL pelanggan (Id SERIAL PRIMARY KEY, FirstName CHARACTER VARYING(30), LastName CHARACTER VARYING(30), Email CHARACTER VARYING(30), Age INTEGER);

    Dalam hal ini, lima kolom ditentukan dalam tabel Pelanggan: Id, FirstName, LastName, Age, Email. Kolom pertama - Id mewakili ID klien, yang berfungsi kunci utama dan karena itu memiliki tipe SERIAL. Faktanya, kolom ini akan menyimpan nilai numerik 1, 2, 3, dst, yang masing-masingnya baris baru otomatis akan bertambah satu.

    Tiga kolom berikutnya mewakili nama depan klien, nama belakang dan alamat email dan bertipe CHARACTER VARYING(30) , yaitu mewakili string yang panjangnya tidak lebih dari 30 karakter.

    Kolom terakhir, Usia, mewakili usia pengguna dan bertipe INTEGER, artinya menyimpan angka.

    Dan setelah menjalankan perintah ini, tabel pelanggan akan ditambahkan ke database yang dipilih.

    Menghapus tabel

    Untuk menghapus tabel, gunakan perintah DROP TABLE, yang memiliki sintaks berikut:

    DROP TABLE tabel1 [, tabel2, ...];

    Misalnya menghapus tabel pelanggan.