GoGPT Best VPN GoSearch

Favicon OnWorks

pg_restore - Dalam talian di Awan

Jalankan pg_restore dalam penyedia pengehosan percuma OnWorks melalui Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS

Ini ialah arahan pg_restore yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.

JADUAL:

NAMA


pg_restore - memulihkan pangkalan data PostgreSQL daripada fail arkib yang dibuat oleh pg_dump

SINOPSIS


pg_penyimpanan [sambungan-pilihan...] [pilihan...] [nama fail]

DESCRIPTION


pg_restore ialah utiliti untuk memulihkan pangkalan data PostgreSQL daripada arkib yang dibuat oleh
pg_dump(1) dalam salah satu format bukan teks biasa. Ia akan mengeluarkan arahan yang diperlukan untuk
bina semula pangkalan data kepada keadaan ia berada pada masa ia disimpan. Arkib itu
fail juga membenarkan pg_restore menjadi selektif tentang perkara yang dipulihkan, atau bahkan untuk menyusun semula
item sebelum dipulihkan. Fail arkib direka bentuk untuk mudah alih merentasi
seni bina.

pg_restore boleh beroperasi dalam dua mod. Jika nama pangkalan data ditentukan, pg_restore bersambung
ke pangkalan data itu dan memulihkan kandungan arkib terus ke dalam pangkalan data. Jika tidak, a
skrip yang mengandungi arahan SQL yang diperlukan untuk membina semula pangkalan data dicipta dan
ditulis ke fail atau output standard. Output skrip ini bersamaan dengan teks biasa
format output pg_dump. Oleh itu, beberapa pilihan yang mengawal output adalah
serupa dengan pilihan pg_dump.

Jelas sekali, pg_restore tidak boleh memulihkan maklumat yang tidak terdapat dalam fail arkib.
Sebagai contoh, jika arkib dibuat menggunakan "data dump as INSERT pilihan arahan",
pg_restore tidak akan dapat memuatkan data menggunakan SALINAN Penyataan.

PILIHAN


pg_restore menerima hujah baris arahan berikut.

nama fail
Menentukan lokasi fail arkib (atau direktori, untuk format direktori
arkib) untuk dipulihkan. Jika tidak dinyatakan, input standard digunakan.

-a
--data-sahaja
Pulihkan hanya data, bukan skema (definisi data). Data jadual, objek besar,
dan nilai jujukan dipulihkan, jika ada dalam arkib.

Pilihan ini serupa dengan, tetapi atas sebab sejarah yang tidak sama dengan, menyatakan
--section=data.

-c
--bersih
Bersihkan (jatuhkan) objek pangkalan data sebelum menciptanya semula. (Melainkan --jika-ada digunakan,
ini mungkin menjana beberapa mesej ralat yang tidak berbahaya, jika mana-mana objek tidak hadir
pangkalan data destinasi.)

-C
--buat
Cipta pangkalan data sebelum memulihkannya. Jika --bersih juga dinyatakan, jatuhkan dan
cipta semula pangkalan data sasaran sebelum menyambung kepadanya.

Apabila pilihan ini digunakan, pangkalan data dinamakan dengan -d digunakan hanya untuk mengeluarkan permulaan
GUGUR PANGKALAN DATA and CREATE PANGKALAN DATA arahan. Semua data dipulihkan ke dalam pangkalan data
nama yang muncul dalam arkib.

-d dbname
--dbname=dbname
Sambung ke pangkalan data dbname dan pulihkan terus ke dalam pangkalan data.

-e
--keluar-atas-ralat
Keluar jika ralat ditemui semasa menghantar arahan SQL ke pangkalan data. The
lalai adalah untuk meneruskan dan memaparkan kiraan ralat pada penghujung pemulihan.

-f nama fail
--fail=nama fail
Tentukan fail output untuk skrip yang dijana, atau untuk penyenaraian apabila digunakan dengan -l.
Lalai ialah keluaran standard.

-F format
--format=format
Nyatakan format arkib. Ia tidak perlu untuk menentukan format, kerana
pg_restore akan menentukan format secara automatik. Jika dinyatakan, ia boleh menjadi salah satu daripada
Berikut:

c
adat
Arkib adalah dalam format tersuai pg_dump.

d
direktori
Arkib ialah arkib direktori.

t
tar
Arkib ialah a tar arkib.

-I indeks
--index=indeks
Pulihkan definisi indeks bernama sahaja. Berbilang indeks boleh ditentukan dengan
pelbagai -I suis.

-j bilangan-pekerjaan
--pekerjaan=bilangan-pekerjaan
Jalankan bahagian pg_restore yang paling memakan masa — bahagian yang memuatkan data, buat
indeks, atau buat kekangan — menggunakan berbilang kerja serentak. Pilihan ini boleh
secara mendadak mengurangkan masa untuk memulihkan pangkalan data yang besar kepada pelayan yang berjalan pada a
mesin berbilang pemproses.

Setiap kerja adalah satu proses atau satu utas, bergantung pada sistem pengendalian, dan menggunakan a
sambungan berasingan ke pelayan.

Nilai optimum untuk pilihan ini bergantung pada persediaan perkakasan pelayan, bagi
pelanggan, dan rangkaian. Faktor termasuk bilangan teras CPU dan cakera
persediaan. Tempat yang baik untuk bermula ialah bilangan teras CPU pada pelayan, tetapi nilai
lebih besar daripada itu juga boleh membawa kepada masa pemulihan yang lebih cepat dalam banyak kes. Sudah tentu,
nilai yang terlalu tinggi akan membawa kepada penurunan prestasi kerana membelasah.

Hanya format arkib tersuai dan direktori disokong dengan pilihan ini. The
input mestilah fail atau direktori biasa (bukan, sebagai contoh, paip). Pilihan ini adalah
diabaikan apabila mengeluarkan skrip dan bukannya menyambung terus ke pelayan pangkalan data.
Selain itu, berbilang kerja tidak boleh digunakan bersama-sama dengan pilihan --satu-urus niaga.

-l
--senarai
Senaraikan kandungan arkib. Output operasi ini boleh digunakan sebagai input kepada
yang -L pilihan. Ambil perhatian bahawa jika suis penapisan seperti -n or -t digunakan dengan -l, Mereka
akan menyekat item yang disenaraikan.

-L fail senarai
--use-list=fail senarai
Pulihkan hanya elemen arkib yang disenaraikan dalam fail senarai, dan memulihkannya
susunan mereka muncul dalam fail. Ambil perhatian bahawa jika suis penapisan seperti -n or -t
digunakan dengan -L, mereka akan mengehadkan lagi item yang dipulihkan.

fail senarai biasanya dibuat dengan mengedit output sebelumnya -l operasi. Garisan
boleh dialihkan atau dialih keluar, dan juga boleh diulas dengan meletakkan koma bertitik (;) di
permulaan baris. Lihat di bawah untuk contoh.

-n ruang nama
--skema=skim
Pulihkan hanya objek yang berada dalam skema bernama. Berbilang skema boleh ditentukan
dengan berganda -n suis. Ini boleh digabungkan dengan -t pilihan untuk memulihkan hanya a
jadual tertentu.

-O
--tiada-pemilik
Jangan keluarkan arahan untuk menetapkan pemilikan objek agar sepadan dengan pangkalan data asal. Oleh
lalai, masalah pg_restore UBAH PEMILIK or SET SESI KEBENARAN pernyataan untuk ditetapkan
pemilikan elemen skema yang dicipta. Pernyataan ini akan gagal melainkan penyataan awal
sambungan ke pangkalan data dibuat oleh pengguna super (atau pengguna yang sama yang memiliki semua
objek dalam skrip). Dengan -O, mana-mana nama pengguna boleh digunakan untuk permulaan
sambungan, dan pengguna ini akan memiliki semua objek yang dibuat.

-P nama fungsi(argtype [, ...])
--fungsi=nama fungsi(argtype [, ...])
Pulihkan fungsi yang dinamakan sahaja. Berhati-hati untuk mengeja nama fungsi dan hujah
tepat seperti yang dipaparkan dalam jadual kandungan fail dump. Pelbagai fungsi mungkin
ditentukan dengan berbilang -P suis.

-R
--tidak-sambung semula
Pilihan ini sudah lapuk tetapi masih diterima untuk keserasian ke belakang.

-s
--skema-sahaja
Pulihkan hanya skema (takrif data), bukan data, setakat skema itu
entri terdapat dalam arkib.

Pilihan ini adalah songsang daripada --data-sahaja. Ia serupa dengan, tetapi untuk sejarah
sebab tidak sama dengan, menyatakan --section=pra-data --section=post-data.

(Jangan mengelirukan ini dengan --skema pilihan, yang menggunakan perkataan "skema" dalam a
makna yang berbeza.)

-S nama pengguna
--pengguna super=nama pengguna
Tentukan nama pengguna super untuk digunakan apabila melumpuhkan pencetus. Ini relevan sahaja
if --disable-triggers digunakan.

-t meja
--jadual=meja
Pulihkan definisi dan/atau data jadual bernama sahaja. Beberapa jadual boleh ditentukan
dengan berganda -t suis. Ini boleh digabungkan dengan -n pilihan untuk menentukan a
skema.

-T mencetuskan
--cetus =mencetuskan
Pulihkan pencetus bernama sahaja. Berbilang pencetus boleh ditentukan dengan berbilang -T
suis.

-v
--verbose
Menentukan mod verbose.

-V
--versi
Cetak versi pg_restore dan keluar.

-x
--tiada-keistimewaan
--tidak-acl
Cegah pemulihan keistimewaan capaian (memberi/membatalkan arahan).

-1
--satu-urus niaga
Laksanakan pemulihan sebagai satu transaksi (iaitu, bungkus arahan yang dipancarkan
BEGIN/KOMITMEN). Ini memastikan sama ada semua arahan selesai dengan jayanya, atau tidak
perubahan digunakan. Pilihan ini membayangkan --keluar-atas-ralat.

--disable-triggers
Pilihan ini hanya berkaitan apabila melakukan pemulihan data sahaja. Ia memberi arahan
pg_restore untuk melaksanakan arahan untuk melumpuhkan sementara pencetus pada jadual sasaran
semasa data dimuat semula. Gunakan ini jika anda mempunyai semakan integriti rujukan atau lain-lain
mencetuskan pada jadual yang anda tidak mahu gunakan semasa muat semula data.

Pada masa ini, arahan yang dikeluarkan untuk --disable-triggers mesti dilakukan sebagai pengguna super. Jadi
anda juga harus menentukan nama pengguna super dengan -S atau, sebaik-baiknya, jalankan pg_restore sebagai a
Pengguna super PostgreSQL.

--dayakan-baris-keselamatan
Pilihan ini hanya relevan apabila memulihkan kandungan jadual yang mempunyai baris
keselamatan. Secara lalai, pg_restore akan mematikan row_security, untuk memastikan semua data
dipulihkan ke dalam meja. Jika pengguna tidak mempunyai keistimewaan yang mencukupi untuk memintas
keselamatan baris, maka ralat dilemparkan. Parameter ini mengarahkan pg_restore untuk ditetapkan
row_security to on sebaliknya, membenarkan pengguna cuba memulihkan kandungan
jadual dengan keselamatan baris didayakan. Ini mungkin masih gagal jika pengguna tidak mempunyai
hak untuk memasukkan baris dari tempat pembuangan ke dalam jadual.

Ambil perhatian bahawa pilihan ini pada masa ini juga memerlukan tempat pembuangan itu dimasukkan INSERT format, sebagai SALINAN KEPADA
tidak menyokong keselamatan baris.

--jika-ada
Gunakan arahan bersyarat (iaitu tambah klausa JIKA WUJUD) semasa membersihkan pangkalan data
objek. Pilihan ini tidak sah melainkan --bersih juga dinyatakan.

--tiada-data-untuk-jadual-gagal
Secara lalai, data jadual dipulihkan walaupun arahan penciptaan untuk jadual gagal
(cth, kerana ia sudah wujud). Dengan pilihan ini, data untuk jadual sedemikian dilangkau.
Tingkah laku ini berguna jika pangkalan data sasaran sudah mengandungi jadual yang dikehendaki
kandungan. Sebagai contoh, jadual tambahan untuk sambungan PostgreSQL seperti PostGIS
mungkin sudah dimuatkan dalam pangkalan data sasaran; menyatakan pilihan ini menghalang
data pendua atau usang daripada dimuatkan ke dalamnya.

Pilihan ini hanya berkesan apabila memulihkan terus ke dalam pangkalan data, bukan apabila
menghasilkan output skrip SQL.

--tiada-label-keselamatan
Jangan keluarkan arahan untuk memulihkan label keselamatan, walaupun arkib mengandunginya.

--tiada-ruang meja
Jangan keluarkan arahan untuk memilih ruang meja. Dengan pilihan ini, semua objek akan menjadi
dibuat dalam mana-mana ruang jadual adalah lalai semasa pemulihan.

--bahagian=nama bahagian
Hanya pulihkan bahagian yang dinamakan. Nama bahagian boleh pra-data, data, Atau data pasca.
Pilihan ini boleh ditentukan lebih daripada sekali untuk memilih berbilang bahagian. lalai
adalah untuk memulihkan semua bahagian.

Bahagian data mengandungi data jadual sebenar serta definisi objek besar.
Item pasca data terdiri daripada definisi indeks, pencetus, peraturan dan kekangan
selain daripada kekangan semakan yang disahkan. Item pra-data terdiri daripada semua data lain
item definisi.

--use-set-session-authorization
Output SQL-standard SET SESI KEBENARAN arahan bukannya UBAH PEMILIK arahan
untuk menentukan pemilikan objek. Ini menjadikan tempat pembuangan lebih serasi dengan piawaian, tetapi
bergantung pada sejarah objek di tempat pembuangan, mungkin tidak dipulihkan dengan betul.

-?
- membantu
Tunjukkan bantuan tentang hujah baris perintah pg_restore dan keluar.

pg_restore juga menerima argumen baris arahan berikut untuk parameter sambungan:

-h tuan rumah
--tuan rumah=tuan rumah
Menentukan nama hos mesin yang pelayan sedang berjalan. Jika nilai
bermula dengan garis miring, ia digunakan sebagai direktori untuk soket domain Unix. The
lalai diambil daripada HANTU pembolehubah persekitaran, jika ditetapkan, jika tidak domain Unix
sambungan soket cuba.

-p pelabuhan
--port=pelabuhan
Menentukan port TCP atau sambungan fail soket domain Unix tempatan di mana pelayan
sedang mendengar sambungan. Lalai kepada PGPORT pembolehubah persekitaran, jika ditetapkan, atau
lalai tersusun.

-U nama pengguna
--nama pengguna=nama pengguna
Nama pengguna untuk disambungkan sebagai.

-w
--tiada-kata laluan
Jangan sekali-kali mengeluarkan gesaan kata laluan. Jika pelayan memerlukan pengesahan kata laluan dan a
kata laluan tidak tersedia dengan cara lain seperti fail .pgpass, sambungan
percubaan akan gagal. Pilihan ini boleh berguna dalam kerja kelompok dan skrip yang tiada pengguna
hadir untuk memasukkan kata laluan.

-W
--kata laluan
Paksa pg_restore untuk meminta kata laluan sebelum menyambung ke pangkalan data.

Pilihan ini tidak penting, kerana pg_restore akan secara automatik meminta a
kata laluan jika pelayan menuntut pengesahan kata laluan. Walau bagaimanapun, pg_restore akan membazir
percubaan sambungan mengetahui bahawa pelayan mahukan kata laluan. Dalam beberapa kes ia adalah
berbaloi untuk menaip -W untuk mengelakkan percubaan sambungan tambahan.

--peranan=nama peranan
Menentukan nama peranan untuk digunakan untuk melaksanakan pemulihan. Pilihan ini menyebabkan pg_restore
untuk mengeluarkan a SET ROLE nama peranan arahan selepas menyambung ke pangkalan data. Ianya berguna
apabila pengguna yang disahkan (dinyatakan oleh -U) tidak mempunyai keistimewaan yang diperlukan oleh pg_restore,
tetapi boleh bertukar kepada peranan dengan hak yang diperlukan. Sesetengah pemasangan mempunyai polisi
menentang log masuk secara langsung sebagai pengguna super, dan penggunaan pilihan ini membolehkan pemulihan ke
dilakukan tanpa melanggar polisi.

PERSEKITARAN


HANTU
PGOPSYEN
PGPORT
PGUSER
Parameter sambungan lalai

Utiliti ini, seperti kebanyakan utiliti PostgreSQL lain, juga menggunakan pembolehubah persekitaran
disokong oleh libpq (lihat Bahagian 31.14, “Pembolehubah Persekitaran”, dalam dokumentasi).
Walau bagaimanapun, ia tidak membaca PGDATABASE apabila nama pangkalan data tidak dibekalkan.

DIAGNOSTIK


Apabila sambungan pangkalan data langsung ditentukan menggunakan -d pilihan, pg_restore secara dalaman
melaksanakan pernyataan SQL. Jika anda menghadapi masalah menjalankan pg_restore, pastikan anda boleh
untuk memilih maklumat daripada pangkalan data menggunakan, sebagai contoh, psql(1). Juga, sebarang lalai
tetapan sambungan dan pembolehubah persekitaran yang digunakan oleh perpustakaan bahagian hadapan libpq akan
memohon.

NOTA


Jika pemasangan anda mempunyai sebarang tambahan tempatan pada pangkalan data template1, berhati-hati untuk memuatkan
output pg_restore ke dalam pangkalan data yang benar-benar kosong; jika tidak, anda mungkin akan mendapat
ralat disebabkan takrifan pendua bagi objek yang ditambah. Untuk membuat pangkalan data kosong
tanpa sebarang tambahan tempatan, salin daripada template0 bukan template1, sebagai contoh:

CIPTA PANGKALAN DATA foo DENGAN templat TEMPLAT0;

Had pg_restore diperincikan di bawah.

· Apabila memulihkan data ke jadual sedia ada dan pilihan --disable-triggers digunakan,
pg_restore mengeluarkan arahan untuk melumpuhkan pencetus pada jadual pengguna sebelum memasukkan fail
data, kemudian mengeluarkan arahan untuk mendayakannya semula selepas data telah dimasukkan. Sekiranya
pemulihan dihentikan di tengah, katalog sistem mungkin tertinggal dalam keadaan salah
negeri.

· pg_restore tidak boleh memulihkan objek besar secara selektif; contohnya, hanya untuk a
jadual tertentu. Jika arkib mengandungi objek besar, maka semua objek besar akan menjadi
dipulihkan, atau tiada satu pun daripadanya jika ia dikecualikan melalui -L, -t, atau pilihan lain.

Lihat juga pg_dump(1) dokumentasi untuk butiran tentang had pg_dump.

Sebaik sahaja dipulihkan, adalah bijak untuk dijalankan Menganalisis pada setiap jadual yang dipulihkan supaya pengoptimum mempunyai
statistik berguna; lihat Bahagian 23.1.3, “Mengemaskini Statistik Perancang”, dalam dokumentasi
dan Bahagian 23.1.6, “The Autovacuum Daemon”, dalam dokumentasi untuk maklumat lanjut.

CONTOH


Andaikan kami telah membuang pangkalan data yang dipanggil mydb ke dalam fail dump format tersuai:

$ pg_dump -Fc mydb > db.dump

Untuk menggugurkan pangkalan data dan menciptanya semula dari tempat pembuangan:

$ dropdb mydb
$ pg_penyimpanan -C -d postgres db.dump

Pangkalan data yang dinamakan dalam -d suis boleh menjadi mana-mana pangkalan data yang ada dalam kelompok;
pg_restore hanya menggunakannya untuk mengeluarkan CREATE PANGKALAN DATA arahan untuk mydb. Dengan -C, data ialah
sentiasa dipulihkan ke dalam nama pangkalan data yang muncul dalam fail dump.

Untuk memuat semula dump ke dalam pangkalan data baharu yang dipanggil newdb:

$ diciptab -T templat0 newdb
$ pg_penyimpanan -d newdb db.dump

Perhatikan kami tidak menggunakan -C, dan sebaliknya menyambung terus ke pangkalan data untuk dipulihkan.
Juga ambil perhatian bahawa kami mengklon pangkalan data baharu daripada template0 bukan template1, untuk memastikan ia adalah
pada mulanya kosong.

Untuk menyusun semula item pangkalan data, pertama sekali perlu membuang jadual kandungan
arkib:

$ pg_penyimpanan -l db.dump > db.list

Fail penyenaraian terdiri daripada pengepala dan satu baris untuk setiap item, cth:

;
; Arkib dibuat pada Isnin 14 Sep 13:55:39 2009
; nama db: DBDEMOS
; Penyertaan TOC: 81
; Mampatan: 9
; Versi Buang: 1.10-0
; Format: TERSUAI
; Integer: 4 bait
; Offset: 8 bait
; Dibuang daripada versi pangkalan data: 8.3.5
; Dibuang oleh pg_dump versi: 8.3.8
;
;
; Entri TOC yang dipilih:
;
3; 2615 2200 SKEMA - pasha awam
1861; 0 0 KOMEN - SKEMA public pasha
1862; 0 0 ACL - pasha awam
317; 1247 17715 JENIS pasha komposit awam
319; 1247 25899 DOMAIN domain awam0 pasha

Titik koma memulakan ulasan, dan nombor pada permulaan baris merujuk kepada dalaman
ID arkib diberikan kepada setiap item.

Baris dalam fail boleh diulas, dipadam dan disusun semula. Sebagai contoh:

10; 145433 JADUAL peta_resolusi postgres
;2; 145344 JADUAL spesies postgres
;4; 145359 JADUAL nt_header postgres
6; 145402 JADUAL spesies_merekodkan postgres
;8; 145416 JADUAL ss_postgres lama

boleh digunakan sebagai input kepada pg_restore dan hanya akan memulihkan item 10 dan 6, dalam susunan itu:

$ pg_penyimpanan -L db.list db.dump

Gunakan pg_restore dalam talian menggunakan perkhidmatan onworks.net


Pelayan & Stesen Kerja Percuma

Muat turun apl Windows & Linux

Arahan Linux

Ad




×
Pengiklanan
❤ ️Beli, tempah atau beli di sini — tanpa kos, membantu memastikan perkhidmatan percuma.