2014-01-23 16 views
-1

我有SQL文件(single_table_data.sql)只包含一個表中的數據(我已經採取了從服務器只有一個表的轉儲)負載的SQL文件中的單個表數據的Postgres

現在我要插入此SQL文件到我的數據庫中只有單個表,

那麼如何將sql文件導入到postgres中的單個表中?

編輯

例如,我曾數據庫名稱SpeedData和表名CurrentTable,所以現在我想 插入整個SQL文件數據在此表CurrentTable

注意:SQL文件只包含insert statements(甚至沒有創建語句)

+0

[進口SQL轉儲到PostgreSQL數據庫(http://stackoverflow.com/questions/6842393/import-sql-dump-into-postgresql-database)的可能的複製 –

回答

5

the documentation

psql dbname < infile 

這應該創建一個新的表,其中包含以前轉儲的名稱並將所有數據插入到該表中。新的數據庫和infile含轉儲文件的名稱/路徑的名稱替換dbname,你的情況(single_table_data.sql

如果轉儲只包含插入語句,手工創建表,然後執行 psql -U your_username -d dbname -f single_table_data.sql

+0

我只有在sql文件中插入語句,甚至不需要create table語句,那麼上面的命令如何知道數據將被插入到哪個表中呢?我編輯了我的問題,請看看 –

+0

@ shivakrishna看我的編輯 – hage

+0

呵呵,有沒有必要提及表名呢?只是數據庫,用戶名就夠了? –

0

如果我理解正確,您希望從文件創建表並填寫數據。 正確的命令是

PGPASSWORD=<password> psql -f /home/.../filename.sql -h localhost -d database_name -U user_name