最近想把服務器上的測試數據庫數據導到我本地的電腦上,本地電腦數據庫是安裝在windows系統下
之前沒使用過pgsql,網上找了點資料,記入如下:
一,首先把服務器上的數據進行備份

pg_dump -U 用戶名 數據庫名 (-t 表名)> 數據存放路徑
二,把.sql 文件下載到本地之后,首先切換到pgsql路徑下的bin目錄

然后執行這條命令:

-d:數據庫名
-h:地址
-p:端口
-u:用戶名
-f:sql文件路徑
之后輸入口令:

這樣就可以了!
補充:Sqoop從PostgreSQL導入Hive遇到的兩個問題
昨天嘗試使用Sqoop從PostgreSQL向Hive中遷移數據,過程中遇到兩個問題,在此記錄一下,以備以后遇到類似問題可以快速找到解決方案。
問題1:當PostgreSQL表中有json類型時Sqoop命令報以下錯誤
No Java type for SQL type 1111 for
column voting_info
解決方案:sqoop命令中添加以下類型映射
--map-column-hive voting_info=String --map-column-java voting_info=String
問題2:如何指定PostgreSQL中指定schema名稱
PostgreSQL中的對象屬于三層模型,即database->schema->table。PostgreSQL中一般包含多個database,每個database包含多個schema,schema下包含多個表。因此使用sqoop抽取數據時有時需要指定表是屬于哪個schema。
解決方案:sqoop命令中添加以下類型映射
-- --schema szyd
下面給出一個常用的從PostgreSQL往Hive導數據的sqoop-import腳本,僅供參考:
sqoop-import --connect jdbc:postgresql://$PG_HOST:$PG_PORT/$PG_SID \
--username $PG_UNAME --password $PG_PWD --table $TABLE_NAME \
--hive-import --hive-table $TABLE_NAME --hive-overwrite \
--null-string '\\N' --null-non-string '\\N' --hive-drop-import-delims \
-m 1 --map-column-hive voting_info=String --map-column-java voting_info=String -- --schema $SCHEMA_NAME
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- 如何將excel表格數據導入postgresql數據庫
- PostgreSql 導入導出sql文件格式的表數據實例
- 如何將postgresql數據庫表內數據導出為excel格式(推薦)