pgsql 備份表結構資料

2021-10-07 04:10:36 字數 1382 閱讀 1720

-- 備份表結構

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...