最近,公司要求某网站改版,需要把网站程序和数据库下载下来给程序员。程序文件很简单,打个压缩包直接下载即可。当我查看配置文件查看数据库时,傻眼了,数据库类型为postgresql,以前听都没听过的数据类型,更别说操作了。没办法,只能硬着头皮往下走了。百度一番,查看如何将postgreSQL导出来吧。

导出数据库结构及

#su – postgres

# pg_dump -U postgres etbtz -f /var/lib/pgsql/etbtz.sql

以为导出数据就万事大吉了,过了几天,程序员又来了,说是要部署到开发本地。让我帮忙转换成数据库类型为mysql

使用连接数据库的工具Navicat Premium远程连接服务器,各项配置添加完之后发现服务器拒绝连接。肯定需要在postgresQL服务器上设置允许远程连接。

如何配置来完成PostgreSQL数据库远程连接

安装PostgreSQL数据库之后,默认是只接受本地访问连接。如果想在其他主机上访问PostgreSQL数据库服务器,就需要进行相应的配置。配置远程连接PostgreSQL数据库的步骤很简单,只需要修改data目录下的pg_hba.confpostgresql.conf, 其中pg_hba.conf是用来配置对数据库的访问权限,postgresql.conf文件用来配置PostgreSQL数据库服务器的相应的参数。下面介绍配置的步骤:

1.修改pg_hba.conf文件,配置用户的访问权限:

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

# "local" is for Unix domain socket connections only
local   all         all                               trust
# IPv4 local connections:
host    all         all         127.0.0.1/32          trust
host    all         all         192.168.1.0/24        md5
# IPv6 local connections:
host    all         all         ::1/128               trust

其中红色标识的内容为新添加的内容,表示允许网段192.168.1.0上的所有主机使用所有合法的数据库用户名访问数据库,并提供加密的密码验证。在我们的环境中,我们需要在主机192.168.1.5上使用postgres用户访问192.168.1.9上的PostgreSQL数据库。

2.修改postgresql.conf文件,将数据库服务器的监听模式修改为监听所有主机发出的连接请求。

定位到#listen_addresses='localhost'PostgreSQL安装完成后,默认是只接受来在本机localhost的连接请求,通过将改行内容修改为listen_addresses='*'来允许数据库服务器监听来自任何主机的连接请求:

listen_addresses = '*'             # what IP address(es) to listen on;
                                   # comma-separated list of addresses;
                                   # defaults to 'localhost', '*' = all
                                   # (change requires restart)

修改之后,保存并退出,然后重起数据库,就可以在在远程机器上访问PostgreSQL数据库了。

重启数据库:service postgresql restart

再次尝试本地连接,这时候发现已经可以连接了。

postgresql转mysql工具

在网上搜集了一些关于postgresql 转mysql的文章,大多都是说先从postgresql 中导出sql 脚本,然后把sql 脚本中的一些写法手动改成mysql 格式的,心想着如果是一个大数据公司,要将数据转储为mysql ,也同样手动改?
  www.2cto.com  

于是找到了一个各数据库之间的转换工具 DBConvert for MySQL & PostgreSQL,可实现数据库之间的转换,非常方便,当然大家都知道方便的软件肯定不费免费给你,安装这个软件后,点试用,可以让你有一段时间的使用时间,进去即可对数据库时间进行转换了。

步骤一:点试用

173852949.jpg

步骤二:选择数据源并连接相应数据源的数据库,我这里是postgresql,选择相应要转换的database,测试连接成功后点下一步

 

174647571.png

174647571.png

步骤三:下一步则是填写目标数据库的连接和目标database,我的目标数据库是mysql

174028591.jpg

步骤四:点下一步即可看到相应的表和表结构,点下一步执行即可。
174107506.jpg

只要该填的地方没填错, 整个转换过程非常流畅,在这里不得不佩服国外友人的技术之强大啊。

下载地址:http://dbconvert.com/convert-mysql-to-postgresql-pro.php?DB=3