資料庫的匯入匯出是最常用的功能之一,而
postgresql
提供的對應工具為
pg_dump
和pg_restore
。pg_dump
是用於備份
postgresql
資料庫的工具。它可以在資料庫正在使用的時候進行完整一致的備份,並不阻塞其它使用者對資料庫的訪問。
pg_dump匯出預設是copy
命令,這樣的匯出快,匯入時候快。
--inserts
以insert
命令,而不是
copy
命令的形式轉儲資料
pg_dump -u postgres -d t_station -t nettoll.s24_exit_subshifts_new -f /usr/local/pgsql/data/s24.sql
t_station=# drop table nettoll.s24_exit_subshifts_new;
drop table
[postgres@pg11 ~]$ psql -d t_station -f /usr/local/pgsql/data/s24.sql
setset
setset
setset_config
------------
(1 row)
setset
setset
setset
create table
alter table
comment
comment
copy 3469
alter table
create index
create index
create index
create index
grant
--inserts 將資料輸出為的insert命令 (而不是 copy). 這樣會導致恢復非常緩慢.但卻令歸檔更容易移植到其它 sql 資料庫.
-a 只匯出資料
匯出3至6號的資料,並刪除3號和5號資料,匯入看看是否成功。
select * into nettoll.s24_3_6 from nettoll.s24_exit_subshifts_new where shift_when between '2020-06-03' and '2020-06-06';
pg_dump -u postgres -d t_station -t nettoll.s24_3_6 --inserts -a -f /usr/local/pgsql/data/s240603.sql
select * from nettoll.s24_exit_subshifts_new where shift_when in ('2020-06-03','2020-06-05');
35條delete from nettoll.s24_exit_subshifts_new where shift_when in ('2020-06-03','2020-06-05');
修改匯出檔案-改變表名
vi /usr/local/pgsql/data/s240603.sql
:%s/s24_3_6/s24_exit_subshifts_new/g
143 次替換,共 143 行
成功[postgres@pg11 ~]$ psql -d t_station -f /usr/local/pgsql/data/s240603.sql
insert 0 1
insert 0 1
insert 0 1
insert 0 1
insert 0 1
psql:/usr/local/pgsql/data/s240603.sql:39: error: duplicate key value violates unique constraint "s24_exit_subshifts_new_pkey"
detail: key (plaza_id, lane_no, op_id, time_begin, data_source)=(100996, 2, 7660066, 2020-06-03 23:38:29, 1) already exists.
psql:/usr/local/pgsql/data/s240603.sql:40: error: duplicate key value
PostgreSQL學習手冊 資料庫管理
posted on 2012 05 21 10 12 stephen liu 閱讀 0 編輯收藏 一 概述 資料庫可以被看成是sql物件 資料庫物件 的命名集合,通常而言,每個資料庫物件 表 函式等 只屬於乙個資料庫。不過對於部分系統表而言,如pg database,是屬於整個集群的。更準確地說,資...
postgresql模板資料庫
template0和template1為postgresql資料庫的模板資料庫,新建的資料庫預設使用template1作為模板。template0和template1的區別在於template0無法修改,因此你可以修改template1資料庫以定製新建立的資料庫。template資料庫無法被刪除 d...
postgresql資料庫安裝
安裝並初始化 1 解壓資料庫並放到指定目錄 在opt目錄下 tar xvzf postgresql 10.1 1 linux x64 binaries.tar.gz 解壓出來之後目錄為pgsql 2 mv pgsql usr local pgsql 3 建立pgsql使用者並設定密碼 useradd...