使用命令行參數運行PostgreSQL .sql文件

我有一些包含數千個INSERT語句的.sql文件,須要在個人PostgreSQL數據庫上運行這些插件才能將它們添加到表中。 文件很大,沒法打開它們並將INSERT語句複製到編輯器窗口並在那裏運行它們。 我在Internet上發現您能夠經過導航到PostgreSQL安裝的bin文件夾來使用如下內容: mysql

psql -d myDataBase -a -f myInsertFile

就我而言: sql

psql -d HIGHWAYS -a -f CLUSTER_1000M.sql

而後我被要求爲個人用戶輸入密碼,但我沒法輸入任何內容,當我點擊輸入時,我收到此錯誤: 數據庫

psql:致命錯誤:用戶「myUsername」的密碼驗證失敗 編輯器

爲何不讓我輸入密碼。 有沒有辦法圍繞這個,由於我能夠運行這些腳本相當重要? post

我經過在pg_hba.conf文件中添加一個具備如下結構的新條目來解決這個問題: spa

# IPv6 local connections:
host    myDbName    myUserName ::1/128    trust

pg_hba.conf文件一般能夠在PostgreSQL安裝的'data'文件夾中找到。 插件


#1樓

固然,驗證時會出現致命錯誤,由於您沒有包含用戶名... 命令行

試試這個,對我來講不要緊:) code

psql -U username -d myDataBase -a -f myInsertFile

若是數據庫是遠程的,請對host使用相同的命令 io

psql -h host -U username -d myDataBase -a -f myInsertFile

#2樓

介紹如何在Linux的PostgreSQL命令行上運行SQL:

打開終端並確保能夠運行psql命令:

psql --version
which psql

個人版本是9.1.6,位於/bin/psql

建立一個名爲mysqlfile.sql的純文本文件

編輯該文件,在其中放一行:

select * from mytable;

在命令行上運行此命令(用您的用戶名和數據庫名稱替換pgadmin和kurz_prod):

psql -U pgadmin -d kurz_prod -a -f mysqlfile.sql

如下是我在終端上得到的結果(我沒有提示輸入密碼):

select * from mytable;

test1
--------
hi
me too

(2 rows)

#3樓

經過終端登陸到您的數據庫並嘗試:

database-# >@pathof_mysqlfile.sql

要麼

database-#>-i pathof_mysqlfile.sql

要麼

database-#>-c pathof_mysqlfile.sql

#4樓

您能夠打開命令提示符並以管理員身份運行。 而後輸入

../bin>psql -f c:/...-h localhost -p 5432 -d databasename -U "postgres"

Password for user postgres:將顯示。

輸入您的密碼並輸入。 我沒法看到我輸入的密碼,但此次當我按下輸入它有效。 實際上我正在將數據加載到數據庫中。


#5樓

你應該這樣作:

\i path_to_sql_file

看到:

在此輸入圖像描述

相關文章
相關標籤/搜索