PostgreSQL怎么實(shí)現(xiàn)不落地并行導(dǎo)出導(dǎo)入

本篇內(nèi)容主要講解“PostgreSQL怎么實(shí)現(xiàn)不落地并行導(dǎo)出導(dǎo)入”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“PostgreSQL怎么實(shí)現(xiàn)不落地并行導(dǎo)出導(dǎo)入”吧!

我們提供的服務(wù)有:成都網(wǎng)站制作、成都做網(wǎng)站、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、樂(lè)至ssl等。為近千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的樂(lè)至網(wǎng)站制作公司

9.4以下版本,使用pg_dump并行導(dǎo)出,pg_restore并行導(dǎo)入,遷移

(導(dǎo)出使用源版本pg_dump,導(dǎo)入使用目標(biāo)版本pg_restore。如果是ppas請(qǐng)使用enterprisedb對(duì)應(yīng)版本。)

1、(源庫(kù))全局元數(shù)據(jù)(用戶、表空間)導(dǎo)出

需要superuser權(quán)限(如果你沒(méi)有這個(gè)權(quán)限,跳過(guò)此步,但是務(wù)必在執(zhí)行下一步時(shí),人為在目標(biāo)實(shí)例中創(chuàng)建所有與對(duì)象權(quán)限相關(guān)的用戶)。

pg_dumpall -g -h IP地址 -p 端口 -U 用戶 -W -l 數(shù)據(jù)庫(kù)名

2、(目標(biāo)庫(kù))全局元數(shù)據(jù)導(dǎo)入

導(dǎo)入以上元數(shù)據(jù),在目標(biāo)庫(kù)執(zhí)行即可(通常包括創(chuàng)建用戶,修改用戶密碼,創(chuàng)建表空間等。)

執(zhí)行第2步的目的是保證導(dǎo)入時(shí),執(zhí)行g(shù)rant, alter set owner等操作時(shí),目標(biāo)用戶已存在,否則缺失用戶會(huì)導(dǎo)致pg_restore報(bào)錯(cuò)。

3、(目標(biāo)庫(kù))建庫(kù)

postgres=# create database newdb;  
CREATE DATABASE

4、(目標(biāo)庫(kù))插件

安裝postgresql軟件時(shí),打包源庫(kù)已使用的的插件。  
  
略

5、(源庫(kù))導(dǎo)出

mkdir /data01/pg/backup  
pg_dump -j 32 -f /data01/pg/backup -F d -h IP地址 -p 端口 -U 用戶 -W newdb

6、(目標(biāo)實(shí)例)關(guān)閉autovacuum,加速導(dǎo)入(可選)

使用超級(jí)用戶執(zhí)行SQL  
  
alter system set autovacuum=off;  
select pg_reload_conf();

7、(目標(biāo)庫(kù))導(dǎo)入

pg_restore -d newdb -F d -j 32 -h IP地址 -p 端口 -U 用戶 /data01/pg/backup

8、(目標(biāo)實(shí)例)開(kāi)啟autovacuum(如果執(zhí)行了6)

使用超級(jí)用戶執(zhí)行SQL  
  
alter system set autovacuum=on;  
select pg_reload_conf();

9、(目標(biāo)實(shí)例)收集統(tǒng)計(jì)信息(如果執(zhí)行了6)

使用超級(jí)用戶執(zhí)行SQL,收集統(tǒng)計(jì)信息  
\c newdb 超級(jí)用戶  
analyze;

使用以上方法,60GB的數(shù)據(jù)庫(kù)遷移,耗時(shí)約10分鐘。

多機(jī)玩法

Where this gets interesting is with multiple hosts. You can:
$ # dump a remote database to your local machine
$ pg_dump -h remotedb.mydomain.com -f /home/postgres/dump.sql test
 
$ # dump a local database and write to a remote machine
$ pg_dump -h remotedb.mydomain.com test | ssh postgres@remotedb.mydomain.com 'cat > dump.sql'
 
$ # dump a remote database and write to the same remote machine
$ pg_dump -h remotedb.mydomain.com test | ssh postgres@remotedb.mydomain.com 'cat > dump.sql'
 
$ # or a different remote machine
$ pg_dump -h remotedb1.mydomain.com test | ssh postgres@remotedb2.mydomain.com 'cat > dump.sql'
 
You also have similar restore options. I will use psql below but pg_restore works the same:
$ # dump a remote database and restore to your local machine
$ pg_dump -h remotedb.mydomain.com test1 | psql test2
 
$ # dump a local database and restore to a remote machine
$ pg_dump -h remotedb.mydomain.com test | ssh postgres@remotedb.mydomain.com 'psql test'
 
$ # dump a remote database and restore to the same remote machine
$ pg_dump -h remotedb.mydomain.com test1 | ssh postgres@remotedb.mydomain.com 'psql test2'
 
$ # or a different remote machine
$ pg_dump -h remotedb1.mydomain.com test | ssh postgres@remotedb2.mydomain.com 'psql test'

到此,相信大家對(duì)“PostgreSQL怎么實(shí)現(xiàn)不落地并行導(dǎo)出導(dǎo)入”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

分享標(biāo)題:PostgreSQL怎么實(shí)現(xiàn)不落地并行導(dǎo)出導(dǎo)入
文章地址:http://muchs.cn/article26/jpdpjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)網(wǎng)站改版、做網(wǎng)站、靜態(tài)網(wǎng)站、域名注冊(cè)、網(wǎng)頁(yè)設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)