Postgre數據庫的幾條常用命令


可執行的程序都在Postgre安裝文件下的bin中。

1、導出特定數據庫的insert腳本

  1.1命令: 

    pg_dump --column-insert -t operatebatchdetaillog -h 192.168.1.102 -U enterprisedb -a -f D:\db_scripts\bak.sql edb

  1.2說明

    1.2.1:pg_dump.exe是一個用來導入導出的可執行文件,關於它的用法可以使用pg_dump --help來查看。

    1.2.2:--column-insert的意思是生成insert腳本且腳本中包含表的列名,如果只寫-insert不寫--column,生成的insert腳本中不包含表的列名。

    1.2.3:-t后跟的是表名,如果你想把目標數據庫中的所有表的insert文都導出來,那么不需要指定-t。 

    1.2.4:-h 后面跟目標數據庫的ip,-U 后跟數據庫的用戶名,-f 后跟輸出目標的文件路徑,最后的那個"edb" 是目標數據庫的名稱 。

2、導出特定數據庫的數據

  2.1命令:

    pg_dump -h 192.168.1.102 -U enterprisedb basedb >  D:\db_scripts\basedb.data

  2.2說明

    2.2.1:basedb是目標數據庫的名字,">"號的方向說明了數據導出的方向,上面的例子就是將數據庫basedb中的數據導成一個可被用來還原的備份文件,這個文件的后綴名可以隨便寫,它並不是一個二進制文件,使用UE打開以后你會發現它就是堆文本。

3、導入特定數據庫的數據

  3.1命令:

    psql  -h 127.0.0.1 -U enterprisedb basedb < basedb.data

  3.2說明:

    3.2.1:psql.exe類似於OracleDB中的sqlplus,是Postgre的命令行執行終端。它除了可以執行你手動敲進去的命令,當然也能夠執行命令文本。但本例中比較高級的是basedb.data看起來貌似是一個二進制文件之類的大對象,上例中說了,這個文件其實就是個文本,所以它能夠被psql執行也就合情合理了。

    3.2.2:"<"依舊形象地指明了導入的方向,無須贅述。

    3.2.3:很重要的一點是,在執行導入數據時你必須保證導入到的目標數據庫的用戶、數據庫和權限等設置已經准備好。但貌似Postgre在導出數據庫時並沒有順便幫你導出這些,需要自己手動敲命令或者在PostgrePlus里建。本例中筆者就厚道的提供幾個簡單的例子吧:

    create user michael with password 'jordan' CREATEDB; //創建用戶

    drop database if exist basedb; 

    create database basedb with owner michael encoding 'utf-8'; // 創建數據庫,指定編碼方式

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM