主页 > 知识库 > 在postgresql中运行sql文件并导出结果的操作

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

热门标签:呼叫中心市场需求 网站排名优化 服务外包 地方门户网站 AI电销 铁路电话系统 Linux服务器 百度竞价排名

方法一 在psql中运行

在终端进入用户test下的数据库testdb:

$ 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

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 表示接下来的内容输出到文件file1

\i file2 表示导入文件file2

\o 表示结束输出到文件file1

方法二 在终端运行

$ 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

@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:数据库名字

DBUSR:用户名

数据库修改配置文件:pg_hba.conf

设了对本地要密码md5认证。

# TYPE DATABASE  USER    CIDR-ADDRESS     METHOD
# IPv4 local connections:
host  all     all     127.0.0.1/32     md5

改成这样,本地备份就不用输入密码了(改后要重启服务)

# TYPE DATABASE  USER    CIDR-ADDRESS     METHOD
# IPv4 local connections:
host  all     all     127.0.0.1/32     trust

cmd 然后进入postgresql的bin目录

执行

psql -h localhost -U username -d database  d:/data.bak

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

您可能感兴趣的文章:
  • postgresql insert into select无法使用并行查询的解决
  • 在postgreSQL中运行sql脚本和pg_restore命令方式
  • 在postgresql中通过命令行执行sql文件
  • Postgresql的pl/pgql使用操作--将多条执行语句作为一个事务
  • Postgresql psql文件执行与批处理多个sql文件操作
  • Postgresql通过查询进行更新的操作
  • 在postgresql中结束掉正在执行的SQL语句操作
  • 基于postgresql行级锁for update测试
  • PostgreSQL 实现列转行问题

标签:衡水 铜川 仙桃 崇左 湖南 湘潭 黄山 兰州

巨人网络通讯声明:本文标题《在postgresql中运行sql文件并导出结果的操作》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266