-- 備份表結構
pg_dump -h $ -p $ -d $ -u $ -s > /data/$.sql
-- 只備份資料 -a ,只備份結構 -s,表結構和資料 什麼都不加
-- 還原庫
psql -h $ -p $ -u $ -d $ < /data/$.sql
-- 備份指定表(包含資料)
pg_dump -h $ -p $ -d $ -t $ -t $ -u $ > /data/$.sql
-- 匯出匯入資料到txt
copy $ to '/data/pgdata/csvbak/***.txt'
copy $ from '/data/pgdata/csvbak/***.txt'
csv:
\copy (select * from $) to '/data/pgdata/csvbak/***.csv' with (format csv,delimiter ';' ,header true,quote '''',encoding 'gbk')
\copy $($, $, $) from '/data/pgdata/csvbak/***.csv' with (format csv,delimiter ';',header true,quote '''',encoding 'gbk');
-- 現在很多資料庫等都是放在docker,docker中備份到宿主機
docker ps 檢視容器
--匯出
docker exec -it $ pg_dump -h $ -p $ -d $ -u $ -s > /data/$.sql
此處埠為容器中資料庫埠,不是宿主機埠
-- 匯入
docker exec -it $ psql -h $ -p $ -u $
create database $;
exit 退不出來用 \q
docker exec -i $ psql -h $ -p $ -u $ -d $ < /data/$.sql
另一種寫法
docker exec -i $ psql "host=$ port=$ user=$ dbname=$ password=$" < /data/init/$.sql
#替換備份檔案schema
sed -i "s/dtc_multi/$/g" /data/init/platform.sql
檢視docker對映檔案
docker inspect container_name | grep mounts -a 20
進入docker命令模式執行sql
docker exec -it $ /bin/bash
psql -h $ -p $ -u $ -d $ < /對映檔案/init_busi_data.sql (檔案要先放在source裡)
PgSQL定時備份
1,綜述 下面主要是通過sql轉儲的方式備份postgresql,sql 轉儲的方法是建立乙個文字檔案,這個文字裡面都是 sql 命令,當把這個檔案回饋給伺服器時,將重建與轉儲時狀態一樣的資料庫。2,備份命令 1 postgresql 自帶的內建備份工具叫做pg dump 例項 su postgre...
pgsql資料表定義
postgresql 8.1 中文文件 prev fast backward fast forward next table of contents5.1.表的基本概念 5.2.預設值5.3.約束5.3.1.檢查約束 5.3.2.非空約束 5.3.3.唯一約束 5.3.4.主鍵5.3.5.外來鍵5....
pgsql的備份與恢復
在window上備份 1 在pgsql的bin目錄在開啟命令視窗。注 可以使用.pg dump 查詢相關引數含義 3 恢復資料 pg restore.exe host ip位址 port 埠號 username 使用者名稱 dbname 資料庫名稱 verbose 備份檔案 例 pg restore...