fedora 16 安装postgresql9与postgis2.0

来源:互联网 发布:php 数组相同元素合并 编辑:程序博客网 时间:2024/06/11 00:52

主要根据以下配置完成,但是最后几步没有设置postgresql自动启动


1、下载postgresql最新版:

PostgreSQL v9.1.1 For Linux下载

界面预览

  • 软件大小:44.70MB
  • 软件类别:国外软件 | 数据服务器
  • 软件语言:英文
  • 运行环境:Linux,
  • 软件授权:免费版
  • 更新时间:2011-9-27 9:25:49
  • 相关链接:Home Page

2、解压文件:

tar zxvf postgresql-8.3.7.tar.gzcd postgresql-8.3.7

3、配置:

./configure --prefix=/usr/local/pgsql

4、编译:

make

5、安装:

make install

6、创建用户组和用户:

groupadd postgresuseradd -g postgres postgres

7、创建数据库库文件存储目录、给postgres赋予权限:

mkdir /usr/local/pgsql/datacd /usr/local/pgsqlchown postgres.postgres data

8、初始化数据库目录:

切换用户

su - postgresql

初始化数据

/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

启动数据库

/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data

9、配置监听地址和端口:

vi /usr/local/pgsql/data/postgresql.conf

取消以下两行的注释

listen_addresses = '*' port = 5432

10、允许远程连接:

vi /usr/local/pgsql/data/pg_hba.conf

添加

host all all 192.168.1.0/24 trust 

每项的具体意思在配置文件中有详细说明
配置iptables让远程主机能访问:

vi /etc/sysconfig

添加

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPTservice iptables restart

11、让postgresql数据库随系统启动而启动:

将启动脚本拷贝到/etc/init.d/目录下,具体执行如下命令:

cd /etc/rc.d/init.dcp (第一步解压的安装文件目录)/postgresql-8.3.7/contrib/start-scripts/linux postgresqlchmod +x postgresqlvi postgresqlprefix=/usr/local/pgsqlPGDATA="/usr/local/pgsql/data"PGUSER=postgresPGLOG="/var/log/pgsql.log" chkconfig --add postgresql

启动数据库:

service postgresql start

配置完毕 。


第二部分:安装postgis

1.首先预安装proj4,geos,libxml2(fedora16自带)

2./*********前提条件具备了,下面开始安装PostGIS,软件是在postgres用户下安装的,所以下面命令提示符为$**********/
    $ ./configure --with-pgconfig=/usr/local/pgsql/bin/pg_config --with-projdir=/usr/local/proj --with-geosconfig=/usr/local/geos/bin/geos_config
            <==配置信息比较多,
            <== --with-pgconfig是指定PostgreSQL的配置文件
            <== --with-projdir指定proj的安装目录
            <== --with-geosconfig则是指定geos库的配置文件,
            <==另外还有--with-xml2config选项,如果libxml2是默认安装的则省略这个选项,否则还需要指定这个选项到libxml2的配置文件
            <==熟悉windows环境下的postgis就会指定,将shape文件导入到数据库中还有个图形界面shp2pgsql-gui,这个可以用--with-gui指定
    $ make <==编译
    $ make install <==安装postgis
    其实安装都是这几个步骤,熟悉linux的朋友只要./configure阶段注意一些配置信息既可顺利安装。

3.

测试安装是否正确-----创建空间数据库。

           熟悉windows环境下postgis的朋友,都会注意到,安装了postgis后,pgsql中多了一个数据库template_postgis,这是个空间数据库的模
     板,其实就是个空间数据库。而在linux环境下通过源码安装的postgis,默认没有创建这个空间数据库,下面我就用创建者个模板空间数据库来验证

     上面的安装是否正确。一旦创建了一个空间数据库模板,以后每次创建空间数据库只要在这个模板空间数据库上创建就可以了,省时省力!
     /*****************如果不熟悉pgsql相关命令的可以参考本博客的《创建PostGIS空间数据库》******************************/
    # su - postgres <==切换到postgres用户下
    $ createdb template_postgis <==创建数据库,此时,该数据库还没有具备空间特性
    $ psql -f /usr/local/pgsql/share/contrib/postgis-1.5/postgis.sql -d template_postgis
            <==执行postgis.sql脚本,创建相关空间数据库相关的函数,类型,操作符等
            <==执行完这个脚本,该数据库就具有了空间特性了
    $createdb [-U username] -T template_postgis my_spatial_db
            <==下次再创建数据库,只要以这个模板就可以了,不必每次都执行这个脚本,-U指定用户名,默认就是postgres
    $psql my_spatial_db <==连接到创建的空间数据库
    my_spatial_db=# select postgis_full_version();     <== 查询postgis的版本信息,包含用到的三个库信息
                                          postgis_full_version                           

引用:http://www.cnblogs.com/jiandan0315/archive/2011/01/30/1948025.html


原创粉丝点击