本篇內(nèi)容主要講解“PostgreSQL怎么實(shí)現(xiàn)不落地并行導(dǎo)出導(dǎo)入”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“PostgreSQL怎么實(shí)現(xiàn)不落地并行導(dǎo)出導(dǎo)入”吧!
我們提供的服務(wù)有:成都網(wǎng)站制作、成都做網(wǎng)站、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、樂至ssl等。為近千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的樂至網(wǎng)站制作公司
(導(dǎo)出使用源版本pg_dump,導(dǎo)入使用目標(biāo)版本pg_restore。如果是ppas請(qǐng)使用enterprisedb對(duì)應(yīng)版本。)
1、(源庫)全局元數(shù)據(jù)(用戶、表空間)導(dǎo)出
需要superuser權(quán)限(如果你沒有這個(gè)權(quán)限,跳過此步,但是務(wù)必在執(zhí)行下一步時(shí),人為在目標(biāo)實(shí)例中創(chuàng)建所有與對(duì)象權(quán)限相關(guān)的用戶)。
pg_dumpall -g -h IP地址 -p 端口 -U 用戶 -W -l 數(shù)據(jù)庫名
2、(目標(biāo)庫)全局元數(shù)據(jù)導(dǎo)入
導(dǎo)入以上元數(shù)據(jù),在目標(biāo)庫執(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)庫)建庫
postgres=# create database newdb; CREATE DATABASE
4、(目標(biāo)庫)插件
安裝postgresql軟件時(shí),打包源庫已使用的的插件。 略
5、(源庫)導(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)庫)導(dǎo)入
pg_restore -d newdb -F d -j 32 -h IP地址 -p 端口 -U 用戶 /data01/pg/backup
8、(目標(biāo)實(shí)例)開啟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ù)庫遷移,耗時(shí)約10分鐘。
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)入”有了更深的了解,不妨來實(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://jinyejixie.com/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)頁設(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í)需注明來源: 創(chuàng)新互聯(lián)