在postgresql中運(yùn)行sql文件并導(dǎo)出結(jié)果的操作
方法一 在psql中運(yùn)行
在終端進(jìn)入用戶test下的數(shù)據(jù)庫testdb:
$ psql -p 5432 -U test -d testdb
假設(shè)要執(zhí)行的.sql文件叫做d1.sql,存放路徑為:/mnt/hgfs/share/database/2.18.0_rc2/dbgen/queries/d1.sql,導(dǎo)出的文件叫做d1.out,存放的路徑為:/mnt/hgfs/share/database/2.18.0_rc2/dbgen/queries/out/d1.out
testdb=# \o /mnt/hgfs/share/database/2.18.0_rc2/dbgen/queries/out/d1.out testdb=# \i /mnt/hgfs/share/database/2.18.0_rc2/dbgen/queries/d1.sql testdb=# \o
\o file1
表示接下來的內(nèi)容輸出到文件file1
\i file2
表示導(dǎo)入文件file2
\o
表示結(jié)束輸出到文件file1
方法二 在終端運(yùn)行
$ psql -p 5432 -U test -d testdb -f /mnt/hgfs/share/database/2.18.0_rc2/dbgen/queries/d1.sql > /mnt/hgfs/share/database/2.18.0_rc2/dbgen/queries/out/d1.out
補(bǔ)充:postgresql windows自動(dòng)導(dǎo)出sql
@ECHO OFF @setlocal enableextensions @cd /d "%~dp0" set PGPASSWORD="D:/sql_bak/pws.vbs" SET PGPATH="D:/Program Files/PostgreSQL/10/bin/pg_dump" SET SVPATH=D:/sql_bak/ SET PRJDB=fame SET DBUSR=postgres FOR /F "TOKENS=1,2,3 DELIMS=/ " %%i IN ('DATE /T') DO SET d=%%i-%%j-%%k FOR /F "TOKENS=1,2,3 DELIMS=: " %%i IN ('TIME /T') DO SET t=%%i%%j%%k SET DBDUMP=%PRJDB%_%d%_%t%.sql %PGPATH% -h 127.0.0.1 -p 5432 -U %DBUSR% %PRJDB% > %SVPATH%%DBDUMP% echo Backup Taken Complete %SVPATH%%DBDUMP%
將以上文件保存為 bat格式。
PGPATH
:postgresqsl 安裝目錄
SVPATH
:備份路徑
PRJDB
:數(shù)據(jù)庫名字
DBUSR
:用戶名
數(shù)據(jù)庫修改配置文件:pg_hba.conf
設(shè)了對本地要密碼md5認(rèn)證。
# TYPE DATABASE USER CIDR-ADDRESS METHOD # IPv4 local connections: host all all 127.0.0.1/32 md5
改成這樣,本地備份就不用輸入密碼了(改后要重啟服務(wù))
# TYPE DATABASE USER CIDR-ADDRESS METHOD # IPv4 local connections: host all all 127.0.0.1/32 trust
cmd 然后進(jìn)入postgresql的bin目錄
執(zhí)行
psql -h localhost -U username -d database < d:/data.bak
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
- postgresql insert into select無法使用并行查詢的解決
- 在postgreSQL中運(yùn)行sql腳本和pg_restore命令方式
- 在postgresql中通過命令行執(zhí)行sql文件
- Postgresql的pl/pgql使用操作--將多條執(zhí)行語句作為一個(gè)事務(wù)
- Postgresql psql文件執(zhí)行與批處理多個(gè)sql文件操作
- Postgresql通過查詢進(jìn)行更新的操作
- 在postgresql中結(jié)束掉正在執(zhí)行的SQL語句操作
- 基于postgresql行級鎖for update測試
- PostgreSQL 實(shí)現(xiàn)列轉(zhuǎn)行問題
相關(guān)文章
Postgresql數(shù)據(jù)庫SQL字段拼接方法
Postgresql里面內(nèi)置了很多的實(shí)用函數(shù),下面這篇文章主要給大家介紹了關(guān)于Postgresql數(shù)據(jù)庫SQL字段拼接方法的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11PostgreSQL實(shí)現(xiàn)批量插入、更新與合并操作的方法
這篇文章主要給大家介紹了關(guān)于PostgreSQL實(shí)現(xiàn)批量插入、更新與合并操作的相關(guān)資料,文中通過圖文以及示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02PostgreSQL分區(qū)表(partitioning)應(yīng)用實(shí)例詳解
這篇文章主要為大家詳細(xì)介紹了PostgreSQL分區(qū)表(partitioning)應(yīng)用實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11PostgreSQL 恢復(fù)誤刪數(shù)據(jù)的操作
這篇文章主要介紹了PostgreSQL 恢復(fù)誤刪數(shù)據(jù)的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01PostgreSQL pg_ctl start啟動(dòng)超時(shí)實(shí)例分析
這篇文章主要給大家介紹了關(guān)于PostgreSQL pg_ctl start啟動(dòng)超時(shí)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01解析PostgreSQL中Oid和Relfilenode的映射問題
這篇文章主要介紹了PostgreSQL中Oid和Relfilenode的映射問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01postgresql 中position函數(shù)的性能詳解
這篇文章主要介紹了postgresql 中position函數(shù)的性能詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02PostgreSQL實(shí)現(xiàn)一個(gè)通用標(biāo)簽系統(tǒng)
這篇文章主要給大家介紹了關(guān)于利用PostgreSQL實(shí)現(xiàn)一個(gè)通用標(biāo)簽系統(tǒng)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01PostgreSQL如何按照某一字段去重,并顯示其他字段信息
這篇文章主要介紹了PostgreSQL如何按照某一字段去重,并顯示其他字段信息問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05