• 售前

  • 售后

热门帖子
入门百科

在postgresql中运行sql文件并导出效果的操作

[复制链接]
粘瓜莱 显示全部楼层 发表于 2021-10-26 13:48:40 |阅读模式 打印 上一主题 下一主题
方法一 在psql中运行

在终端进入用户test下的数据库testdb:
  1. $ psql -p 5432 -U test -d testdb
复制代码
假设要执行的.sql文件叫做d1.sql,存放路径为:/mnt/hgfs/share/database/2.18.0_rc2/dbgen/queries/d1.sql,导出的文件叫做d1.out,存放的路径为:/mnt/hgfs/share/database/2.18.0_rc2/dbgen/queries/out/d1.out
  1. testdb=# \o /mnt/hgfs/share/database/2.18.0_rc2/dbgen/queries/out/d1.out
  2. testdb=# \i /mnt/hgfs/share/database/2.18.0_rc2/dbgen/queries/d1.sql
  3. testdb=# \o
复制代码
  1. \o file1
复制代码
表现接下来的内容输出到文件file1
  1. \i file2
复制代码
表现导入文件file2
  1. \o
复制代码
表现竣事输出到文件file1
方法二 在终端运行
  1. $ 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
复制代码
增补:postgresql windows自动导出sql
  1. @ECHO OFF
  2. @setlocal enableextensions
  3. @cd /d "%~dp0"
  4. set PGPASSWORD="D:/sql_bak/pws.vbs"
  5. SET PGPATH="D:/Program Files/PostgreSQL/10/bin/pg_dump"
  6. SET SVPATH=D:/sql_bak/
  7. SET PRJDB=fame
  8. SET DBUSR=postgres
  9. FOR /F "TOKENS=1,2,3 DELIMS=/ " %%i IN ('DATE /T') DO SET d=%%i-%%j-%%k
  10. FOR /F "TOKENS=1,2,3 DELIMS=: " %%i IN ('TIME /T') DO SET t=%%i%%j%%k
  11. SET DBDUMP=%PRJDB%_%d%_%t%.sql
  12. %PGPATH% -h 127.0.0.1 -p 5432 -U %DBUSR% %PRJDB% > %SVPATH%%DBDUMP%
  13. echo Backup Taken Complete %SVPATH%%DBDUMP%
复制代码
将以上文件保存为 bat格式。
  1. PGPATH
复制代码
:postgresqsl 安装目次
  1. SVPATH
复制代码
:备份路径
  1. PRJDB
复制代码
:数据库名字
  1. DBUSR
复制代码
:用户名
数据库修改配置文件:pg_hba.conf
设了对本地要暗码md5认证。
  1. # TYPE DATABASE  USER    CIDR-ADDRESS     METHOD
  2. # IPv4 local connections:
  3. host  all     all     127.0.0.1/32     md5
复制代码
改成这样,本地备份就不用输入暗码了(改后要重启服务)
  1. # TYPE DATABASE  USER    CIDR-ADDRESS     METHOD
  2. # IPv4 local connections:
  3. host  all     all     127.0.0.1/32     trust
复制代码
cmd 然后进入postgresql的bin目次
执行
  1. psql -h localhost -U username -d database < d:/data.bak
复制代码
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝见教。

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作