一、源码安装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
相关推荐
在Linux环境中离线安装PostgreSQL、SDE(ArcGIS的Spatial Database Engine)和PostGIS是一项常见但有时复杂的任务,尤其当服务器处于内网环境时,无法直接访问互联网资源。本指南将详细介绍如何在Linux系统中进行...
本教程将详细介绍如何在CentOS系统上离线编译安装PostgreSQL 14和PostGIS 3.2,这两个是用于地理空间数据库管理的重要组件。 PostgreSQL是一个强大的开源关系型数据库管理系统,它支持复杂查询、事务处理和多种数据...
在Linux系统上搭建PostgreSQL、PostGIS和pg_pathman环境是一项关键的任务,这些组件共同构成了一个强大的地理空间数据库解决方案。PostgreSQL是一种开源的关系型数据库管理系统,具有高度的可扩展性和可靠性;...
尽管从源代码编译安装可能提供更多的自定义选项,但通常推荐使用二进制包安装,以避免编译过程中的复杂性。如果确实选择源码安装,确保正确配置环境变量,如`PGDATA`,并按照官方文档的步骤进行,包括创建数据库集群...
在Linux环境下安装PostGIS数据库是一项常见的任务,尤其对于那些需要处理地理空间数据的开发者和管理员而言。PostGIS是PostgreSQL数据库管理系统的一个扩展,它提供了强大的地理空间数据存储和查询功能。下面将详细...
POSTGRESQL+POSTGIS+GDAL编译指南 ...编译POSTGRESQL+POSTGIS+GDAL需要准备相应的源码包,并安装对应的依赖项,最后按照正确的顺序进行编译和安装,以便在Linux平台上成功安装POSTGRESQL+POSTGIS+GDAL。
由于"linux-postgis"文件可能包含编译所需的源代码,你需要解压并按照官方文档的指示进行编译和安装。通常,这包括配置、编译和安装步骤: ```bash tar -xzf linux-postgis.tar.gz cd postgis-3.0.1/ ./configure -...
本文档详细介绍了如何在 Linux 环境下从源代码编译安装 PostGIS 2.5,以解决特定问题,即在使用 PostGIS 的 `st_asmvt` 函数时遇到的缺少 `libprotobuf-c` 错误。为解决这个问题,我们需要逐个编译安装 PostGIS 及其...
解压缩文件,然后进入解压后的目录进行编译和安装: ```bash tar xzf postgis-2.3.0.tar.gz cd postgis-2.3.0 ./configure make sudo make install ``` 4. **安装PostGIS扩展** 为了在PostgreSQL中启用...
总的来说,安装PostgreSQL在Linux和Unix系统中虽然涉及多个步骤,但通过RPM包或源代码安装,都能实现快速且稳定的部署。理解安装过程和相关组件的功能对于有效管理和利用这个强大的数据库系统至关重要。
这个`.tar.gz`文件是源代码压缩包,通常在Linux环境下使用,用于编译安装PostGIS 3.0.3到本地系统。 **PostGIS的核心功能:** 1. **空间数据类型**:PostGIS引入了如`GEOMETRY`、`GEOGRAPHY`等空间数据类型,允许...
这通常包括配置、编译源代码以及向PostgreSQL系统中注册PostGIS扩展。安装完成后,可以在PostgreSQL数据库中创建一个GIS启用的空间数据库,并通过SQL命令加载地理数据。 使用PostGIS时,可以利用SQL语句来处理地理...
在 Linux 环境下,你可以通过这个包来构建和安装最新的 PostGIS 开发分支,以便利用其先进的地理空间功能。 1. **PostgreSQL 数据库系统**: - PostgreSQL 是一款功能强大的开源对象关系数据库系统,具有ACID事务...
解压后,通常会包含源代码、文档、配置脚本和必要的构建工具。 "poco"是一个跨平台的C++库,用于开发网络、数据库和其他应用程序。描述中说"poco可编译"意味着这个PostgreSQL库文件与Poco库兼容,可以用于构建包含...
"postgresql-9.4.5.tar.gz" 文件是一个源代码包,可以用于在Linux或Unix系统上编译安装 PostgreSQL,或者在需要自定义配置的情况下使用。 PostGIS 扩展允许用户存储、查询、分析和操作地理空间数据。它支持多种空间...
3. **编译和安装 PostGIS**:进入解压后的目录,配置、编译并安装 PostGIS: ``` cd postgis-1.3.2 ./configure --with-pgconfig=/usr/pgsql-9.x/bin/pg_config make sudo make install ``` 注意这里的 `--...
- **下载软件**:从官网获取源代码包,例如`postgresql-10.7.tar.gz`。 - **编译与安装**:解压并配置编译参数,执行编译和安装过程。 - **添加用户**:创建专门用于运行PostgreSQL服务的用户和组。 - **权限...
这个"postgis-2.5.5.tar.gz"压缩包包含的是PostGIS 2.5.5版本的源代码,适用于那些希望在Linux环境下安装和自定义PostGIS功能的用户。 PostGIS的核心特性包括: 1. **空间数据类型**:它添加了对几何、地理和拓扑...
它的跨平台兼容性使其在多种操作系统环境下都能运行,包括Linux、FreeBSD和Windows。 PostGIS作为PostgreSQL的一个扩展,为数据库增加了对地理空间数据的支持。这种支持包括多种空间数据类型,如点、线、多边形以及...
`postgis-2.5.4.tar.gz`文件包含了PostGIS 2.5.4的所有源代码,用户需要自行编译和安装。以下是安装和使用PostGIS 2.5.4的基本步骤: 1. **解压源代码**: 使用Linux的`tar`命令来解压缩文件,如`tar -zxvf ...