91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PostgreSQL怎么實現不落地并行導出導入

發布時間:2021-11-10 16:31:01 來源:億速云 閱讀:157 作者:iii 欄目:關系型數據庫

本篇內容主要講解“PostgreSQL怎么實現不落地并行導出導入”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“PostgreSQL怎么實現不落地并行導出導入”吧!

9.4以下版本,使用pg_dump并行導出,pg_restore并行導入,遷移

(導出使用源版本pg_dump,導入使用目標版本pg_restore。如果是ppas請使用enterprisedb對應版本。)

1、(源庫)全局元數據(用戶、表空間)導出

需要superuser權限(如果你沒有這個權限,跳過此步,但是務必在執行下一步時,人為在目標實例中創建所有與對象權限相關的用戶)。

pg_dumpall -g -h IP地址 -p 端口 -U 用戶 -W -l 數據庫名

2、(目標庫)全局元數據導入

導入以上元數據,在目標庫執行即可(通常包括創建用戶,修改用戶密碼,創建表空間等。)

執行第2步的目的是保證導入時,執行grant, alter set owner等操作時,目標用戶已存在,否則缺失用戶會導致pg_restore報錯。

3、(目標庫)建庫

postgres=# create database newdb;  
CREATE DATABASE

4、(目標庫)插件

安裝postgresql軟件時,打包源庫已使用的的插件。  
  
略

5、(源庫)導出

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

6、(目標實例)關閉autovacuum,加速導入(可選)

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

7、(目標庫)導入

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

8、(目標實例)開啟autovacuum(如果執行了6)

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

9、(目標實例)收集統計信息(如果執行了6)

使用超級用戶執行SQL,收集統計信息  
\c newdb 超級用戶  
analyze;

使用以上方法,60GB的數據庫遷移,耗時約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'

到此,相信大家對“PostgreSQL怎么實現不落地并行導出導入”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

崇明县| 友谊县| 永寿县| 通辽市| 剑川县| 宜兰市| 蒲江县| 肥西县| 普格县| 双牌县| 克山县| 汉阴县| 婺源县| 墨玉县| 德清县| 五指山市| 应城市| 苗栗县| 金寨县| 册亨县| 班戈县| 出国| 徐水县| 临清市| 永泰县| 团风县| 鄱阳县| 梁山县| 炎陵县| 衢州市| 长海县| 南安市| 曲周县| 观塘区| 金堂县| 遂川县| 府谷县| 江达县| 右玉县| 南部县| 滦平县|