婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Docker環境下升級PostgreSQL的步驟方法詳解

Docker環境下升級PostgreSQL的步驟方法詳解

熱門標簽:海豐有多少商家沒有地圖標注 漯河外呼電話系統 美容工作室地圖標注 辦公外呼電話系統 地圖標注和圖片名稱的區別 打電話智能電銷機器人授權 外呼調研系統 合肥公司外呼系統運營商 重慶自動外呼系統定制

前段時間接到了要升級數據庫的需求,在公司大佬的指導下搞定了升級的方案,在此記錄一下。

查閱PostgreSQL 官方文檔 可以得知,官方提供了兩種方式對數據庫進行升級——pg_dumpall與pg_upgrade。

pg_dumpall 是將數據庫轉儲成一個腳本文件,然后在新版數據庫中可以直接導入。這種方式操作簡單,跟著官方文檔就能輕松操作,但是明顯只適用于數據量較少的情況,在我的測試環境里,導入一個2g的數據庫用了將近10分鐘。

所以我這里選用的是 pg_upgrade ,這種方式是直接將數據文件升級到高版本,2g數據用時一分多鐘。

目前我手上的項目的PgSql是跑在在Docker上面的,版本是10.x,需求是升級到13.x,簡單講一下步驟:

  • _upgrade需要用到新舊容器的bin跟data,所以首先將舊數據庫容器的bin還有data文件復制到服務器;
  • 開啟一個PG13的容器,這個是后面用于服務的正式容器(下文稱為正式容器),然后另外開啟一個臨時容器(下文稱為臨時容器)用于升級數據文件,將這兩個容器的數據庫目錄映射到同一個目錄;
  • PG13的容器內部會缺少很多PG10的運行庫,所以需要從舊容器中復制到臨時容器里;
  • 臨時容器將數據升級后,由于跟正式容器的數據文件目錄映射到了同一個目錄,所以數據可以正常使用;于跟正式容器的數據文件目錄映射到了同一個目錄,所以數據可以正常使用;

首先自然是拉取一個PG13的鏡像,然后放好別動:

docker pull postgres:13.1

創建升級目錄:

#創建備份目錄
mkdir /db_update/new_data

cd /db_update

#將舊數據庫容器的bin跟data復制出來
docker cp pgdb:/usr/local old_bin
docker cp pgdb:/usr/local old_share
docker cp pgdb:/var/lib/postgresql/data old_data

#授權
chmod -R 777 /db_update/old_data

此時目錄結構應該是這樣的:

#新建一個正式容器,并映射data目錄,初始化完成后ctrl+c 退出
 docker run --name="pg13_new" -v "/db_update/new_data:/var/lib/postgresql/data/pgdata" -e POSTGRES_USER=dbuser -e POSTGRES_PASSWORD=123456 -e PGDATA=/var/lib/postgresql/data/pgdata postgres:13.1

 #新建一個臨時容器,用于升級數據,映射PG10的bin跟data目錄,容器內的data跟正式容器映射到同一個目錄
 docker run -dti --name="tmp" -v $(pwd)/old_bin:/usr/lib/postgresql/10 -v $(pwd)/old_share:/usr/share/postgresql/10 -v $(pwd)/new_data:/data/new_data -v $(pwd)/old_data:/data/old_data -e PGDATA:/data/new_data --privileged=true postgres:13.1 /bin/bash

容器創建完畢先放著,接下來做別的操作。在PG13內會缺失不少PG10所需運行文件(血淚教訓),可以從舊容器將相關文件復制過來。

#將舊容器的文件復制到本機
docker cp pgdb:/usr/lib /old_lib
docker cp pgdb:/lib /old_lib2

此時的目錄結構:

#將文件復制到升級容器
docker cp /old_lib tmp:/old_lib
docker cp /old_lib2 tmp:/old_lib2

#將文件復制到對應目錄
docker exec -it tmp /bin/bash
cp /old_lib/* /usr/lib/x86_64-linux-gnu/
cp /old_lib/* /usr/lib
cp /old_lib2/* /lib

將文件復制完畢后即可以嘗試升級數據庫,不過仍有可能出現缺少運行庫的問題,同時也會有權限的問題,下面會展示如何解決這兩個問題。

#切換數據庫用戶
su -postgres

#檢查是否可以升級,一連串的ok即表示可以執行數據庫文件的升級
/usr/lib/postgresql/13/bin/pg_upgrade -b /usr/lib/postgresql/10/bin -B /usr/lib/postgresql/13/bin -d /data/old_data -D /data/new_data -U dbuser -p 5433 -P 5434 -c

如果出現下圖的提示,那就是權限問題,授權一下即可解決。

解決方法:

#在root用戶下執行
chown -R postgres/data/old_data

如果之后包權限錯誤 需權限 0700 則再執行
chmod -R 0700 /data/old_data

再次執行檢查升級命令,錯誤也再次出現:

已經很多個ok了,所以別慌,執行more pg_upgrade_server.log可以查看具體錯誤

圖中可以看出缺少了libstdc++.so.6這個文件,我們可以手動從舊容器里獲取這個文件復制到臨時容器里面去。

#新打開一個shell 窗口
cd /var/lib/docker/overlay2
#這條命令會顯示多個目錄的路徑,選擇其中之一就行了
find -name libstdc++.so.6
#創建一個文件夾
mkdir /old_lib3
#將庫文件復制過去
cp ./0928cba045d2d4cabf1f02fc2d4007e302c925393131c743390dc2266e0f1353/diff/usr/lib/x86_64-linux-gnu/libstdc++.so.6 /old_lib3
#復制到容器
docker cp /old_lib3/ tmp:/old_lib3/
docker exec -it tmp /bin/bash
cp /old_lib3/* /usr/lib/x86_64-linux-gnu/

完成上面的步驟后,再次檢查是否可升級:

看到這一連串ok并且沒有返回錯誤即代表可以正常升級,如果仍然有錯誤,可以重復上述步驟。

執行升級:

/usr/lib/postgresql/13/bin/pg_upgrade -b /usr/lib/postgresql/11/bin -B /usr/lib/postgresql/13/bin -d /data/old_data -D /data/new_data -U dbuser

至此數據庫文件升級完成。

升級完成之后將 new_data目錄按照正常的數據庫目錄映射到 docker postgres:13.1 容器 啟動即可。

到此這篇關于Docker環境下升級PostgreSQL的方法的文章就介紹到這了,更多相關Docker環境升級PostgreSQL內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Docker啟動PostgreSQL時創建多個數據庫的解決方案
  • docker安裝并持久化postgresql數據庫的操作步驟
  • 用docker運行postgreSQL的方法步驟
  • docker環境下數據庫的備份(postgresql, mysql) 實例代碼
  • Docker中運行PostgreSQL并推薦幾款連接工具

標簽:來賓 錦州 珠海 晉城 株洲 衡陽 烏海 蚌埠

巨人網絡通訊聲明:本文標題《Docker環境下升級PostgreSQL的步驟方法詳解》,本文關鍵詞  Docker,環境,下,升級,PostgreSQL,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Docker環境下升級PostgreSQL的步驟方法詳解》相關的同類信息!
  • 本頁收集關于Docker環境下升級PostgreSQL的步驟方法詳解的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    久久久久国产精品麻豆| 久久福利资源站| 成人高清视频在线观看| 亚洲女女做受ⅹxx高潮| 欧美日本在线观看| av在线免费不卡| 精品一区二区三区在线视频| 中文字幕在线观看一区二区| 日韩视频在线你懂得| 欧美综合天天夜夜久久| 国产精品正在播放| 国产69精品久久777的优势| 亚洲人精品午夜| www.日韩精品| 国产福利不卡视频| 日韩av中文在线观看| 亚洲欧美另类久久久精品| 国产三级一区二区| 国产三级精品三级在线专区| 欧美成人vr18sexvr| 777奇米四色成人影色区| 欧美视频中文字幕| 欧美三级韩国三级日本三斤| 色爱区综合激月婷婷| 一本色道亚洲精品aⅴ| 国产成人一区二区精品非洲| 国产宾馆实践打屁股91| 成人少妇影院yyyy| 99这里只有精品| 91丨九色丨黑人外教| 色噜噜狠狠色综合欧洲selulu | 丝袜a∨在线一区二区三区不卡| 国产精品乱码人人做人人爱| 国产精品久久久久久久第一福利 | 欧美国产97人人爽人人喊| 日本一区二区三级电影在线观看| 久久久99免费| 亚洲欧洲99久久| 夜夜精品视频一区二区| 天堂va蜜桃一区二区三区| 麻豆一区二区三| 欧美男人的天堂一二区| 欧美日韩精品一区二区三区四区 | 中文字幕亚洲在| 久久婷婷色综合| 久久久久青草大香线综合精品| 久久精品一区二区| 激情六月婷婷久久| 九九精品一区二区| 色婷婷国产精品综合在线观看| 欧美一区二区三区人| 亚洲激情图片qvod| 91精品欧美一区二区三区综合在| 福利一区福利二区| 午夜精品一区二区三区电影天堂| 精品在线你懂的| 一区二区三区加勒比av| 免费成人av在线| 国产麻豆精品在线观看| 免费在线视频一区| 成人av在线播放网址| 欧美日韩成人一区二区| 久久久久久一二三区| 欧美一级视频精品观看| 国产精品亚洲一区二区三区在线 | 在线视频国产一区| 99riav一区二区三区| 精品久久五月天| 青青青伊人色综合久久| 69av一区二区三区| 欧美人狂配大交3d怪物一区| 精品国精品国产| 亚洲黄色免费电影| 国产999精品久久久久久绿帽| 欧美性猛交一区二区三区精品 | 亚洲欧洲日产国码二区| 日韩激情视频网站| 亚洲精品一二三区| 粉嫩高潮美女一区二区三区| 欧美一级片在线看| 亚洲综合在线视频| 99精品视频一区二区| 欧美激情综合五月色丁香| 石原莉奈一区二区三区在线观看| 91丨九色丨黑人外教| 日本一区二区三区国色天香| 国产原创一区二区| 国产精品色婷婷| 韩国精品在线观看| 欧美tickle裸体挠脚心vk| 午夜伦理一区二区| 欧美日韩国产色站一区二区三区| 夜夜爽夜夜爽精品视频| 91国偷自产一区二区三区观看| 在线亚洲一区观看| 91理论电影在线观看| 在线观看欧美精品| 国产精品三级视频| 欧美男人的天堂一二区| 99精品视频在线观看免费| 国产裸体歌舞团一区二区| 亚洲午夜久久久久久久久久久| 国产欧美精品一区二区三区四区 | 日韩黄色免费电影| 日本不卡免费在线视频| 欧美午夜在线一二页| 中文字幕在线观看一区| 国产一区二区三区久久久| 91久久人澡人人添人人爽欧美| 亚洲人精品午夜| 欧美色图在线观看| 日韩理论电影院| 欧洲亚洲精品在线| 国产精品免费视频网站| 色综合久久久久综合体桃花网| 欧美国产激情二区三区| 91香蕉视频mp4| 国产精品久久久久aaaa| 在线免费观看视频一区| 亚洲特级片在线| 欧美福利一区二区| 视频在线观看91| 国产日韩欧美不卡| 国产精品一区二区果冻传媒| 国产精品三级电影| 成人一区在线看| 五月天一区二区| 91小视频免费观看| 蜜臀精品一区二区三区在线观看| 成人丝袜高跟foot| 五月激情六月综合| 日韩电影在线观看电影| 国产视频亚洲色图| 久久精子c满五个校花| 成人av午夜影院| 秋霞成人午夜伦在线观看| 精品少妇一区二区三区在线播放 | 91麻豆免费看| a亚洲天堂av| 欧美国产激情二区三区| 国产精品久久三| 午夜视频在线观看一区二区| 石原莉奈一区二区三区在线观看 | 日韩精品视频网| 日韩国产精品久久久| 欧美日韩精品高清| 日韩av网站免费在线| 国产亚洲成年网址在线观看| 国产乱一区二区| 一区二区三区鲁丝不卡| 制服视频三区第一页精品| 成人免费va视频| 亚洲精品视频在线| 国产视频在线观看一区二区三区| 成人精品小蝌蚪| 日韩国产一区二| 欧美一区二区三区男人的天堂 | 国产欧美一区二区精品性色 | 在线精品视频一区二区三四| 日韩电影一二三区| 日本v片在线高清不卡在线观看| 久久久久久麻豆| 日韩和欧美一区二区三区| 精品第一国产综合精品aⅴ| 欧美性猛交xxxxxx富婆| 亚洲三级在线免费观看| 精品视频一区二区三区免费| 美日韩一区二区| 国产午夜精品久久久久久久| 欧美日韩国产系列| 色天天综合色天天久久| 日av在线不卡| 色94色欧美sute亚洲13| 日韩激情在线观看| 亚洲成人av在线电影| 亚洲资源中文字幕| 一区二区三区日本| 午夜精品福利一区二区蜜股av | 一二三区精品视频| 国产精品传媒入口麻豆| 久久精品一区八戒影视| 久久久久久免费毛片精品| 欧美日韩另类国产亚洲欧美一级| 成人免费观看男女羞羞视频| 91日韩精品一区| 精品第一国产综合精品aⅴ| 欧美高清在线一区| 性做久久久久久久免费看| 久久福利视频一区二区| 国产不卡视频在线播放| 欧美日韩国产经典色站一区二区三区| 欧美一区二区三区在线观看| 欧美国产一区二区| 日韩国产在线观看| 日本道色综合久久| 久久亚洲欧美国产精品乐播 | 久久久五月婷婷| 一区二区久久久久| 91小视频在线免费看| 亚洲少妇最新在线视频|