加班是为了不加班。
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命令就可以正确导入了。