`
toplchx
  • 浏览: 341355 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Linux下源码安装PostgreSql和PostGIS

阅读更多

一、源码安装PostgreSql

1、检查gcc版本

gmake --version

GNU make版本3.80以上。

 

2、下载源码

下载地址:http://www.postgresql.org/ftp/source/

选择版本,下载。

 

3、解压

gunzip postgresql-9.3.4.tar.gz
tar xf postgresql-9.3.4.tar

 

4、编译安装

./configure

配置的一些参数,请参考http://www.postgresql.org/docs/9.3/static/install-procedure.html

gmake world

要安装PostGIS需要安装PostgreSql的一些额外包,所以需要编译所有内容。

gmake install-world

安装所有内容。

 

二、配置

1、添加用户

PostgreSql默认不能用root启动,所以需要添加用户 

root# adduser postgres

 

2、设置环境变量

root# vi /etc/profile

 添加:

LD_LIBRARY_PATH=/usr/local/pgsql/lib
export LD_LIBRARY_PATH
PATH=/usr/local/pgsql/bin:$PATH
export PATH

 保存profile文件。

source /etc/profile

 使环境变量生效。

 

 三、初始化数据库

1、创建数据库目录,给postgres用户权限。

su root
mkdir /usr/local/pgsql/data
chown postgres /usr/local/pgsql/data
 2、初始化数据库 
root# su postgres
postgres$ initdb -E UTF8 -D /usr/local/pgsql/data
 如果只有一个存储目录,可以设到环境变量中

export PGDATA=/usr/local/pgsql/data

 

如果initdb提示编码冲突,可以通过下面的命令修改服务器字符集

export LC_ALL="UTF8"
export LANG="UTF8"

现在如果启动数据库,本机就可以访问数据库了。

 

四、设置网络连接

1、配置监听IP 

vi /usr/local/pgsql/data/postgresql.conf
 其中listen_addresses行修改为:listen_addresses = '*'

这样允许所有ip。

 

2、设置允许连接地址

vi /usr/local/pgsql/data/pg_hba.cnf
 添加一个局域网连接许可

 

host   all   all   192.168.0.0/16   md5

#允许所有ip的连接

#host   all   all   0.0.0.0/0   md5

 

具体设置可参见:http://www.postgresql.org/docs/9.3/static/auth-pg-hba-conf.html

 

3、修改iptables

如果iptables有限制的话,需要放开postgres的连接端口

service iptables start
iptables -I INPUT 7 -p tcp --dport 5432:5438 -j ACCEPT
service iptables save
service iptables restart

 

五、启动关闭

1、启动数据库

pg_ctl start -l logfile
 开机启动:在/etc/rc.local中加

 

su postgres -c '/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data -l /usr/local/pgsql/data/serverlog'

 

2、关闭数据库

pg_ctl stop -m f

3、查看运行状态 

pg_ctl status

 

六、数据库中创建用户

su postgres

psql -d postgres  #-d是连接数据库的名称,默认是postgres,所以这里只需要psql就可以。

CREATE ROLE root WITH LOGIN PASSWORD 'a123456' [CREATEDB|SUPERUSER];

 

查看用户

select * from pg_roles;

 

查看数据库

select datname from pg_database;

 

七、安装PostGis的前提库

需要前提安装Proj4、GEOS、LibXML2、JSON-C、GDAL

如果系统中没有安装则安装。

 

1、Proj4

tar xzvf proj-4.7.0.tar.gz
cd proj-4.7.0
./configure
make
make install

 

2、GEOS

tar jxvf geos-3.4.2.tar.bz2
cd geos-3.4.2
./configure
make
make install

 

3、libxml2

tar xzvf libxml2-2.9.0.tar.gz
cd libxml2-2.9.0
./configure
make
make install

 如果在libxml2的configure中出现的错误:cannot remove 'libtoolT':No such file or directory

解决方法:

修改configure文件

$vim configure

删除这一行:$RM "$cfgfile"

保存再运行 ./configure

 

安装默认路径/usr/local

安装后可能需要重新定义:

export LD_LIBRARY_PATH=/usr/local/lib

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

 

4、json-c

tar xzvf json-c-json-c-0.11-20130402.tar.gz
cd ./json-c-json-c-0.11-20130402
./configure
make
make install

 

5、GDAL

tar xzvf gdal-1.9.2.tar.gz
cd gdal-1.9.2
./configure
make
make install

 

八、安装PostGis

tar zxvf postgis-2.1.2.tar.gz
cd postgis-2.1.2
./configure --with-pgconfig=/usr/local/pgsql/bin/pg_config
make
make install

 

九、检查postgis安装是否正确

连接数据库执行:

select * from pg_available_extensions where name like 'postgis%';



 

有以上3条就说明PostGis安装成功了。

 

 十、为数据库增加PostGis插件

psql -d [yourdatabase] -c "CREATE EXTENSION postgis;"

psql -d [yourdatabase] -c "CREATE EXTENSION postgis_topology;"

 

 安装客户端插件(不必须):

psql -p 5432 -c "CREATE EXTENSION adminpack;"

 

十一、简单备份

备份

pg_dump dbname | gzip > filename.gz

还原

gunzip -c filename.gz | psql dbname

或者

cat filename.gz | gunzip | psql dbname

 

 分文件备份

pg_dump dbname | split -b 1m - filename

还原

cat filename* | psql dbname

 

 

 

 

  • 大小: 10.4 KB
分享到:
评论

相关推荐

    linux离线安装postgresql与sde与postgis.zip

    在Linux环境中离线安装PostgreSQL、SDE(ArcGIS的Spatial Database Engine)和PostGIS是一项常见但有时复杂的任务,尤其当服务器处于内网环境时,无法直接访问互联网资源。本指南将详细介绍如何在Linux系统中进行...

    postgresql14加postgis3.2在centos离线编译安装

    本教程将详细介绍如何在CentOS系统上离线编译安装PostgreSQL 14和PostGIS 3.2,这两个是用于地理空间数据库管理的重要组件。 PostgreSQL是一个强大的开源关系型数据库管理系统,它支持复杂查询、事务处理和多种数据...

    linux搭建postgresql、postgis、pg_pathman环境步骤以及需要的软件包

    在Linux系统上搭建PostgreSQL、PostGIS和pg_pathman环境是一项关键的任务,这些组件共同构成了一个强大的地理空间数据库解决方案。PostgreSQL是一种开源的关系型数据库管理系统,具有高度的可扩展性和可靠性;...

    详解Linux中PostgreSQL和PostGIS的安装和使用

    尽管从源代码编译安装可能提供更多的自定义选项,但通常推荐使用二进制包安装,以避免编译过程中的复杂性。如果确实选择源码安装,确保正确配置环境变量,如`PGDATA`,并按照官方文档的步骤进行,包括创建数据库集群...

    Linux下安装Postgis数据库

    在Linux环境下安装PostGIS数据库是一项常见的任务,尤其对于那些需要处理地理空间数据的开发者和管理员而言。PostGIS是PostgreSQL数据库管理系统的一个扩展,它提供了强大的地理空间数据存储和查询功能。下面将详细...

    POSTGRESQL+POSTGIS+GDAL编译

    POSTGRESQL+POSTGIS+GDAL编译指南 ...编译POSTGRESQL+POSTGIS+GDAL需要准备相应的源码包,并安装对应的依赖项,最后按照正确的顺序进行编译和安装,以便在Linux平台上成功安装POSTGRESQL+POSTGIS+GDAL。

    Postgresql 12.2 + PostGIS 3.0.1 安装部署

    由于"linux-postgis"文件可能包含编译所需的源代码,你需要解压并按照官方文档的指示进行编译和安装。通常,这包括配置、编译和安装步骤: ```bash tar -xzf linux-postgis.tar.gz cd postgis-3.0.1/ ./configure -...

    PostGIS源代码安装文档.docx

    本文档详细介绍了如何在 Linux 环境下从源代码编译安装 PostGIS 2.5,以解决特定问题,即在使用 PostGIS 的 `st_asmvt` 函数时遇到的缺少 `libprotobuf-c` 错误。为解决这个问题,我们需要逐个编译安装 PostGIS 及其...

    postgis 安装文件 linux

    解压缩文件,然后进入解压后的目录进行编译和安装: ```bash tar xzf postgis-2.3.0.tar.gz cd postgis-2.3.0 ./configure make sudo make install ``` 4. **安装PostGIS扩展** 为了在PostgreSQL中启用...

    在Linux和Unix系统中安装PostgreSQL

    总的来说,安装PostgreSQL在Linux和Unix系统中虽然涉及多个步骤,但通过RPM包或源代码安装,都能实现快速且稳定的部署。理解安装过程和相关组件的功能对于有效管理和利用这个强大的数据库系统至关重要。

    postgis-3.0.3.tar.gz

    这个`.tar.gz`文件是源代码压缩包,通常在Linux环境下使用,用于编译安装PostGIS 3.0.3到本地系统。 **PostGIS的核心功能:** 1. **空间数据类型**:PostGIS引入了如`GEOMETRY`、`GEOGRAPHY`等空间数据类型,允许...

    postgis-3.1.2.tar.gz

    这通常包括配置、编译源代码以及向PostgreSQL系统中注册PostGIS扩展。安装完成后,可以在PostgreSQL数据库中创建一个GIS启用的空间数据库,并通过SQL命令加载地理数据。 使用PostGIS时,可以利用SQL语句来处理地理...

    postgis-3.2.2dev.tar.gz

    在 Linux 环境下,你可以通过这个包来构建和安装最新的 PostGIS 开发分支,以便利用其先进的地理空间功能。 1. **PostgreSQL 数据库系统**: - PostgreSQL 是一款功能强大的开源对象关系数据库系统,具有ACID事务...

    arm架构下的postgresql库文件

    解压后,通常会包含源代码、文档、配置脚本和必要的构建工具。 "poco"是一个跨平台的C++库,用于开发网络、数据库和其他应用程序。描述中说"poco可编译"意味着这个PostgreSQL库文件与Poco库兼容,可以用于构建包含...

    postgis-bundle-pg94x64-setup-2.5.1-1 postgresql-9.4.5

    "postgresql-9.4.5.tar.gz" 文件是一个源代码包,可以用于在Linux或Unix系统上编译安装 PostgreSQL,或者在需要自定义配置的情况下使用。 PostGIS 扩展允许用户存储、查询、分析和操作地理空间数据。它支持多种空间...

    postgis1.3.2.tar

    3. **编译和安装 PostGIS**:进入解压后的目录,配置、编译并安装 PostGIS: ``` cd postgis-1.3.2 ./configure --with-pgconfig=/usr/pgsql-9.x/bin/pg_config make sudo make install ``` 注意这里的 `--...

    postgressql和postgis安装

    - **下载软件**:从官网获取源代码包,例如`postgresql-10.7.tar.gz`。 - **编译与安装**:解压并配置编译参数,执行编译和安装过程。 - **添加用户**:创建专门用于运行PostgreSQL服务的用户和组。 - **权限...

    postgis-2.5.5.tar.gz

    这个"postgis-2.5.5.tar.gz"压缩包包含的是PostGIS 2.5.5版本的源代码,适用于那些希望在Linux环境下安装和自定义PostGIS功能的用户。 PostGIS的核心特性包括: 1. **空间数据类型**:它添加了对几何、地理和拓扑...

    postgis+postgresql

    它的跨平台兼容性使其在多种操作系统环境下都能运行,包括Linux、FreeBSD和Windows。 PostGIS作为PostgreSQL的一个扩展,为数据库增加了对地理空间数据的支持。这种支持包括多种空间数据类型,如点、线、多边形以及...

    postgis-2.5.4.tar.gz资源包

    `postgis-2.5.4.tar.gz`文件包含了PostGIS 2.5.4的所有源代码,用户需要自行编译和安装。以下是安装和使用PostGIS 2.5.4的基本步骤: 1. **解压源代码**: 使用Linux的`tar`命令来解压缩文件,如`tar -zxvf ...

Global site tag (gtag.js) - Google Analytics