對於預先寫好的SQL文件,比如/home/user1/updateMyData.sql
, 可以有兩種方式來運行這個SQL文件。
方式一:連接db后執行SQL文件
首先通過psql連接到對應的db:
psql -d db1 -U userA
接着輸入密碼,進入數據庫后,輸入:
\i /pathA/xxx.sql
這里有個問題,如果你把SQL文件的路徑里的路徑分隔符寫成了\
,會報錯說Permission denied
。
這里的文件路徑必須使用Linux平台下的路徑分隔符/
,否則會報錯。
方式二:直接通過psql命令執行SQL文件
這種方式無需先登錄數據庫,直接用一個命令就可以了:
psql -d db1 -U userA -f /pathA/xxx.sql
接着輸入密碼即可執行SQL文件到對應的db里。