亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

在postgreSQL中運行sql腳本和pg_restore命令方式

 更新時間:2021年01月06日 09:51:08   作者:ambitionlp  
這篇文章主要介紹了在postgreSQL中運行sql腳本和pg_restore命令方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

今天踩坑了,把powerdesign生成的sql腳本文件,用pg_restore命令一直運行。。。

過程慘不忍睹,一直以為是編碼問題,修改了serve和client的encoding,結果。。。

記錄一下這個錯誤:

postgreSQL運行sql腳本文件:

psql -d dbname -U username -f (腳本所在位置).sql

postgerSQL的pg_restore命令

用法:

pg_restore [選項]… [文件名]

一般選項:

-d, --dbname=名字 連接數(shù)據庫名字
-f, --file=文件名 輸出文件名
-F, --format=c|d|t 備份文件格式(應該自動進行)
-l, --list 打印歸檔文件的 TOC 概述
-v, --verbose 詳細模式
-V, --version 輸出版本信息, 然后退出
-?, --help 顯示此幫助, 然后退出

恢復控制選項:

-a, --data-only 只恢復數(shù)據, 不包括模式
-c, --clean 在重新創(chuàng)建之前,先清除(刪除)數(shù)據庫對象
-C, --create 創(chuàng)建目標數(shù)據庫
-e, --exit-on-error 發(fā)生錯誤退出, 默認為繼續(xù)
-I, --index=NAME 恢復指定名稱的索引
-j, --jobs=NUM 執(zhí)行多個并行任務進行恢復工作
-L, --use-list=FILENAME 從這個文件中使用指定的內容表排序

輸出

-n, --schema=NAME 在這個模式中只恢復對象
-N, --exclude-schema=NAME 不恢復此模式中的對象
-O, --no-owner 不恢復對象所屬者
-P, --function=NAME(args) 恢復指定名字的函數(shù)
-s, --schema-only 只恢復模式, 不包括數(shù)據
-S, --superuser=NAME 使用指定的超級用戶來禁用觸發(fā)器
-t, --table=NAME 恢復命名關系(表、視圖等)
-T, --trigger=NAME 恢復指定名字的觸發(fā)器
-x, --no-privileges 跳過處理權限的恢復 (grant/revoke)
-1, --single-transaction 作為單個事務恢復
–disable-triggers 在只恢復數(shù)據的過程中禁用觸發(fā)器
–enable-row-security 啟用行安全性
–if-exists 當刪除對象時使用IF EXISTS
–no-comments 不恢復注釋
–no-data-for-failed-tables 對那些無法創(chuàng)建的表不進行

數(shù)據恢復

–no-publications 不恢復發(fā)行
–no-security-labels 不恢復安全標簽信息
–no-subscriptions 不恢復訂閱
–no-tablespaces 不恢復表空間的分配信息
–section=SECTION 恢復命名節(jié) (數(shù)據前、數(shù)據及數(shù)據后)
–strict-names 要求每個表和(或)schema包括模式以匹配至少一個實體
–use-set-session-authorization
使用 SESSION AUTHORIZATION 命令代替
ALTER OWNER 命令來設置所有權

聯(lián)接選項:

-h, --host=主機名 數(shù)據庫服務器的主機名或套接字目錄
-p, --port=端口號 數(shù)據庫服務器的端口號
-U, --username=名字 以指定的數(shù)據庫用戶聯(lián)接
-w, --no-password 永遠不提示輸入口令
-W, --password 強制口令提示 (自動)
–role=ROLENAME 在恢復前執(zhí)行SET ROLE操作

選項 -I, -n, -N, -P, -t, -T, 以及 --section 可以組合使用和指定

多次用于選擇多個對象.

希望不要和我一樣犯這個低級錯誤

順便記錄一下查看server和client的encoding以及修改

找到postgresql.conf文件,修改參數(shù)lc_messages的值為UTF8

重啟PostgreSQL的服務。

----查看服務端字符集:

test=> show server_encoding;

—查看客戶端字符集:

test=> show client_encoding;

補充:pg_restore及psql恢復數(shù)據的用法

一、使用psql恢復SQL文本格式的數(shù)據備份(即一個包含SQL腳本的文本文件)

恢復一個SQL備份文件并忽略過程中可能發(fā)生的所有錯誤:

psql -U postgres -f myglobals.sql

恢復一個SQL備份文件,如遇任何錯誤則立即停止恢復:

psql -U postgres --set ON_ERROR_STOP=ON -f myglobals.sql

將SQL文本中的數(shù)據恢復到某個指定的database:

psql -U postgres -d mydb -f select_objects.sql

二、使用pg_restore進行恢復

功能:

(1)支持并行恢復,使用-j選項可以控制并行恢復的線程數(shù)。多個恢復線程可以并行處理,每個線程處理一張表。該模式可以顯著提高恢復速度。

(2)可以使用pg_restore掃描備份文件來生成一張備份內容列表,通過該列表可以確認備份紅包含了哪些內容。還可以通過編輯該內容列表來控制恢復哪些內容。

(3)pg_dump支持選擇性地僅備份部分對象以節(jié)省備份時間,類似的,pg_restore也支持選擇性的僅恢復部分對象,不管備份文件本身是全庫備份還是部分對象的備份都沒有問題。

(4)pg_restore的大部分功能是向后兼容的,即支持將老版本PostgreSQL生產的備份數(shù)據恢復到新版本的PostgreSQL中。

在使用pg_restore執(zhí)行恢復動作之前,請先創(chuàng)建目標數(shù)據庫:

create database mydb;

然后執(zhí)行恢復:

pg_restore --dbname=mydb --jobs=4 --verbose mydb.backup

如果備份和恢復時使用的database同名,則可以通過加--create選項省去單獨建庫的過程,如下:

pg_restore --dbname=postgres --create --jobs=4 --verbose mydb.backup

注:如果指定了--create選項,那么恢復出來的數(shù)據庫名就會默認采用備份時的數(shù)據庫名,不允許改名。如果還同時指定了--dbname選項,那么此時連接的數(shù)據庫名一定不能是待恢復的數(shù)據庫名,因為要恢復數(shù)據庫之前必然要建數(shù)據庫,而

要建數(shù)據庫之前必然要先連到某個已存在的數(shù)據庫,--dbname選項指定的就是建立被恢復的數(shù)據庫之前先連到哪個數(shù)據庫,所以必然不能與待恢復的數(shù)據庫同名,我們一般指定先連到postgres數(shù)據庫。

9.2版或更新版本的pg_restore支持--section選項,加上該選項后可以實現(xiàn)僅恢復表結構而不恢復表數(shù)據。具體做法是先創(chuàng)建目標恢復數(shù)據庫:

create database mydb2;

然后使用pg_restore:

pg_restore --dbname=mydb2 --section=pre-data --jobs=4 mydb.backup

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關文章

  • PostgreSQL歸檔配置及自動清理歸檔日志的操作

    PostgreSQL歸檔配置及自動清理歸檔日志的操作

    這篇文章主要介紹了PostgreSQL歸檔配置及自動清理歸檔日志的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • PostgreSQL 修改視圖的操作

    PostgreSQL 修改視圖的操作

    這篇文章主要介紹了PostgreSQL 修改視圖的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • PostgreSQL進行數(shù)據導入和導出的操作代碼

    PostgreSQL進行數(shù)據導入和導出的操作代碼

    在數(shù)據庫管理中,數(shù)據的導入和導出是非常常見的操作,特別是在 PostgreSQL 中,提供了多種工具和方法來實現(xiàn)數(shù)據的有效管理,本文將詳細介紹在 PostgreSQL 中如何進行數(shù)據導入和導出,并給出具體的命令及示例,需要的朋友可以參考下
    2024-10-10
  • PostgreSQL標準建表語句分享

    PostgreSQL標準建表語句分享

    這篇文章主要介紹了PostgreSQL標準建表語句分享,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • postgresql 索引之 hash的使用詳解

    postgresql 索引之 hash的使用詳解

    這篇文章主要介紹了postgresql 索引之 hash的使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • postgresql~*符號的含義及用法說明

    postgresql~*符號的含義及用法說明

    這篇文章主要介紹了postgresql~*符號的含義及用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • postgresql varchar字段regexp_replace正則替換操作

    postgresql varchar字段regexp_replace正則替換操作

    這篇文章主要介紹了postgresql varchar字段regexp_replace正則替換操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • 如何將postgresql數(shù)據庫表內數(shù)據導出為excel格式(推薦)

    如何將postgresql數(shù)據庫表內數(shù)據導出為excel格式(推薦)

    這篇文章主要介紹了如何將postgresql數(shù)據庫表內數(shù)據導出為excel格式(推薦),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • pgsql 實現(xiàn)用戶自定義表結構信息獲取

    pgsql 實現(xiàn)用戶自定義表結構信息獲取

    這篇文章主要介紹了pgsql 實現(xiàn)用戶自定義表結構信息獲取,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • PostgreSQL查看正在執(zhí)行的任務并強制結束的操作方法

    PostgreSQL查看正在執(zhí)行的任務并強制結束的操作方法

    這篇文章主要介紹了PostgreSQL查看正在執(zhí)行的任務并強制結束的操作方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01

最新評論