如何实现在ARM开发板对Postgresql服务器的远程访问,有C程序,(mini6410,mini2440,tq2440)

本文中,将总结自己如何实现在ARM开发板对Postgresql服务器的远程访问,有C程序,具体步骤如下:

1ubuntu10.10 postgresql安装及配置

1.1.安装 postgresql,命令如下:

#apt-get install postgresql

( 命令开头的 # 代表当前为 root 用户,下同 )

系统会提示安装所需磁盘空间,输入 "y" ,安装程序会自动完成。 安装完毕后,系统会创建一个数据库超级用户“ postgres”, 密码为空。这个用户既是不可登录的操作系统用户,也是数据库用户。

1.2.修改 Linux用户 postgresql的密码

1.3.修改数据库超级用户 postgres的密码:

1) 切换到 Linux postgres 用户

#su postgres

2) 登录 postgres 数据库

$psql postgres

这样你会看到 postgres 提示信息如下:

psql (8.4.6)

输入 "help" 来获取帮助信息 .


postgres=#

注意:如果此处不能进入,则需要修改 /etc/postgresql/8.4/main/pg_hba.conf 中的

# Database administrative login by UNIX sockets

local all postgres ident

其中的 ident替换为: trust(信任,不需要密码验证),即:

local all postgres trust

然后重启 postgresql数据库 ,命令为: #/etc/init.d/postgresql restart ,然后执行 修改数据库超级用户 postgres的密码的步骤

3) 输入如下命令,器中的 password替换为你的密码,

ALTER USER postgres with PASSWORD 'password'

键入“ /q” 返回到 Linux 命令行。

1.4. 添加自己定义的用户和数据库

1) 添加新用户

# createuser -drSP yuyanchao

为新角色输入的口令 :

再输入一遍 :

口令 :

按照提示输入该用户的密码 yycpassword

2) 创建一个属于自定义用户 yuyanchao 的数据库

切换到用户 yuyanchao

#su yuyanchao

创建数据库

$createdb -O yuyanchao yycdb

5. 配置本地服务器的远程访问

1) /etc/postgresql/8.4/main/pg_hba.conf 中添加 :

host all all 192.168.1.1/24 md5

其中的 24 代表子网掩码为 24 位, 代表 192.168. 1 .1-192.168. 1 .254 的都能够访问本地数据库。这里假设本地的该服务器 ip 和需要远程连接该服务器的 ARM 板中 linux 系统的 ip 均在 192.168. 1 .1-192.168. 1 .254 之间。

2)修改 /etc/postgresql/8.4/main/postgresql.conf 中的 listen_address '*' ,如下:

listen_address = '*'

3)重启数据库

#/etc/init.d/postgresql-8.4 restart

2.ARM板上 psql的安装以及如何远程访问 postgresql数据库

2.1.下载源码, http://www.postgresql.org/ ,本人下载的是 postgresql-8.4.6,进入目录,交叉编译,命令如下:

其中的 <your own dir>,是你的安装目录 ,本人选的是: /mini6410_ln/root_nfs/

2.2.将安装目录 <your own dir> bin目录和 lib目录下的文件拷贝到 ARM板的 linux系统下的 bin lib目录中

2.3.远程连接服务器上的 postgresql数据库

#psql -h 192.168.1.102 -U yuyanchao -d yycdb

命令中 192.168.1.102是我的服务器的 IP地址,要根据情况替换为正确的 IP

如果出现:

Password for user yuyanchao:

psql (8.4.6)

Type "help" for help.


yycdb=>

则说明访问成功!


3.使用 C语言程序实现 ARM板对服务器的访问

3.1.testlibpq .c 程序如下:

 

3.2.Makefile文件内容如下:



Makefile 文件说明: ARMLIBS = /mini6410_ln/root_nfs/lib 中的 /mini6410_ln/root_nfs/ 目录是本人交叉编译是的目录。

3.3. testlibpq.c Makefile 文件放在同一个目录中,运行命令:

#make testlibpg-arm

即可生成可执行文件 testlibpg-arm

注意:也可以不用 Makefile 文件,而采用命令直接生成,只需执行如下两个命令:

#arm-linux-gcc -I/usr/include/postgresql -c testlibpq.c -o testlibpq.o

#arm-linux-gcc -o testlibpq-arm testlibpq.o -L/mini6410_ln/root_nfs/lib -lpq

同样: /mini6410_ln/root_nfs/lib 中的 /mini6410_ln/root_nfs/ 目录是本人交叉编译是的目录。

3.4. testlibpg-arm 拷贝到 ARM 板的 Linux 系统中,在 ARM 板中执行:

#chmod 777 testlibpq-arm

#./testlibpq-arm "host=192.168.1.102 user=yuyanchao dbna me=yycdb password=123456"

出现

datname datdba encoding datcollate datctype dati

template1 10 6 en_US.utf8 en_US.utf8 t }

template0 10 6 en_US.utf8 en_US.utf8 t }

postgres 10 6 en_US.utf8 en_US.utf8 f

yycdb 16426 6 en_US.utf8 en_US.utf8 f

或者类似信息,说明链接成功!


 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值