Linux环境下 PostgreSQL 导表的一些坑

Linux环境下 PostgreSQL 导表的一些坑

大家好,又见面了,我是你们的朋友全栈君。

  加班是为了不加班。

  Java中使用了Process类,process类提供了执行从进程输入,执行输出到进程,等待进程完成,检查进程的推出状态,以及shut down掉进程。

  

Process process =null;
String command1 = “你的命令”;
process = Runtime.getRuntime().exec(command1);
process.waitFor();

  一般这样写就可以调用了。

  在Linux环境下,想通过PostgerSQL自身的命令来进行导表,要准备以下几个事。

  1. 准备好要导入的表,最好也是使用PostgreSQL导出的,存放于Linux某目录,用于导入;

     2.设置好PostgreSQL命令的环境变量,和设置JDK一样(很重要),将~/.bash_profile下的加一个PATH路径,指向到bin目录;

       3.设置密码配置;

  

方法一:设置环境变量 PGPASSWORD   

PGPASSWORD  是 PostgreSQL 系统环境变量,在客户端设置这后,那么在客户端连接远端数据库时,将优先使用这个密码。


--测试
postgres@linux-> export PGPASSWORD=mypassword                

postgres@linux-> psql -h 192.168.1.25 -p 5432 Mydb postgres
psql (8.4.4)
Type "help" for help.                          
                                                       
Mydb=> \q             

     备注:设置环境变量  PGPASSWORD ,连接数据库不再弹出密码输入提示。 但是从安全性方面考虑,这种方法并不推荐。


方法二:设置 .pgpass 密码文件
       
通过在客户端 /home/postgres 目录下创建隐藏文件 .pgpass ,从而避免连接数据库时弹出密码输入提示。

--创建密码文件 .pgpass ( on 客户端 )                               
vi /home/postgres/.pgpass       
                                     
--格式                                                               
hostname:port:database:username:password                             
                                                                     
--范例                                                               
192.168.1.25:5432:Mydb:postgres:mypassword                                   
                                                                     
--权限                                                               
Chmod 600 .pgpass                  

--连接测试
postgres@linux-> psql -h 192.168.1.25 -p 5432 Mydb postgres

psql (8.4.4)
Type "help" for help.                          
                                                       
Mydb=>

      备注:在/home/postgres 目录创建了密码文件 .pgpass 文件后,并正确配置连接信息,那么客户端连接数据时会优先使用 .pgass文件, 并使用匹配记录的密码,从而不跳出密码输入提示,这种方法比方法一更安全,所以推荐使用创建 .pgpass 文件方式。                                

                               
方法三:修改服务器端 pg_hba.conf

修改认证文件 $PGDATA/pg_hba.conf, 添加以下行, 并 reload使配置立即生效。
     
host    Mydb         postgres            192.168.0.0/24           trust

[postgres@linux]$ pg_ctl reload -D $PGDATA / service postgresql reload
server signaled

--服务器端 pg_hba.conf 的配置
# IPv4 local connections:
host    all             all                 127.0.0.1/32               trust
host    Mydb        postgres       192.168.0.0/24           trust
host    all             all                  0.0.0.0/0                    md5

--客户端再次连接测试
postgres@linux-> psql -h 192.168.1.25 -p 5432 Mydb postgres

psql (8.4.4)
Type "help" for help.    

Mydb=> \q

     备注:修改服务端 pg_hba.conf 并 reload 后,不再弹出密码输入提示。

  

      我目前使用的第一种。该方法我还会继续改进一下。

  然后使用psql命令就可以正确导入了。

转载于:https://www.cnblogs.com/yulonglyw/p/9369070.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107402.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Android 短信验证码登录注册

    Android 短信验证码登录注册我这里主要讲解的是使用xutils进行开发的,所以在开发之前一定要先导入xutils项目包。下载链接:https://download.csdn.net/download/weixin_42497748/10754925  1.在AndroidManifest.xml里面开通权限<!–网络权限–><uses-permissionand…

    2022年7月25日
  • sqlyog激活成功教程版_sqlyog10.0安装教程

    sqlyog激活成功教程版_sqlyog10.0安装教程链接:https://pan.baidu.com/s/1N3ufWDe-CKj4QvNIz8vXpA提取码:95hm直接安装接着用压缩白内的文档注册码注册即可使用。

    2022年9月23日
  • 使用和制作patch文件

    使用和制作patch文件

    2021年12月14日
  • 数仓分层简介(实时数仓架构)

    数仓1.数仓分层好处:复杂问题简单化;减少重复开发;隔离原始数据。2.数仓分层具体实现ODS(OperationDataStore)层:原始数据层,存原始数据,直接加载原始日志、数据DWD(DataWarehouseDetail)层:明细数据层也有叫DWI层,结构和粒度与原始表保持一致,对ODS层数据进行清洗(去除空值、脏数据、超过极限范围的数据、行式存储转列式存储、改压缩格式)DWS(DataWarehouseService)层:服务数据层,以DWD为基础进行轻度汇总。比如:用户当日

    2022年4月17日
  • 简单的贪吃蛇游戏代码_python 贪吃蛇

    简单的贪吃蛇游戏代码_python 贪吃蛇Python贪吃蛇游戏编写代码来源:中文源码网浏览:次日期:2018年9月2日【下载文档:Python贪吃蛇游戏编写代码.txt】(友情提示:右键点上行txt文档名->目标另存为)Python贪吃蛇游戏编写代码最近在学Python,想做点什么来练练手,命令行的贪吃蛇一般是C的练手项目,但是一时之间找不到别的,就先做个贪吃蛇来练练简单的语法。由于…

    2022年8月11日
  • mysql优化器不能使用hash索引_博优软件数据怎么恢复

    mysql优化器不能使用hash索引_博优软件数据怎么恢复1.hash表只能匹配是否相等,不能实现范围查找select * from xx where id > 23; 这时就没办法索引了2.当需要按照索引进行order by时,hash值没办法支持排序select * from xx order by score desc;如果score为建立索引的字段,hash值没办法辅助排序。3.组合索引可以支持部分索引查询,如(a,b,c)的组合索引,查询中只用到了阿和b也可以查询的,如果使用hash表,组合索引会将几个字段合并hash,没办法支持部分索引

    2022年8月9日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号