搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
小小林熬夜学编程
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
rsync+sersync2文件同步(基于centos6.5)
2
PowerBI本地部署服务器(一)修订版_微软官网power bi商用过程中需要开通哪些端口
3
mac 安装配置oh-my-zsh_mac 安装oh-my-zsh
4
Unity Shader Graph - Colored Ghost_shadergraphic hdr color、
5
JAVA医药进销存管理系统(附源码+调试)_医药管理收银系统源码
6
一些联邦学习论文阅读_depthfl
7
Docker in Docker(DinD)原理与实践
8
react 复杂低代码项目 - 问卷星
9
深入学习 Redis - 如何使用 Redis 作缓存?缓存更新策略?使用需要注意哪些问题(工作/重点)_redis缓存
10
上传应用程序到苹果应用商店的工具和要
当前位置:
article
> 正文
Linux环境下PostgreSQL与PostGIS的安装与配置_postgresql+postgis创建空间数据库 linux
作者:小小林熬夜学编程 | 2024-05-18 20:39:17
赞
踩
postgresql+postgis创建空间数据库 linux
Linux环境下PostgreSQL与PostGIS的安装、配置与简单应用
一、软件环境
1. Red Hat Linux 9
2. PostgreSQL-8.2.5
3. PostGIS-1.3.2
4. Proj-4.5.0 (to provide coordinate reprojection support within PostGIS)
5. GEOS-3.0.0Orc4 (to provide geometry tests and operations within PostGIS)
二、安装与配置
(一)PostgreSQL的安装
1. 下载源码并解压
# tar zxf postgresql-8.2.5.tar.gz
2. 进入PostgreSQL-8.2.5目录
2.1. 将安装目录设置为/opt/pgsql
# ./configure --prefix=/opt/pgsql
2.2. 编译、安装
# make
# make install
3. 增加PostgreSQL的最高访问用户并设定密码
# adduser pgadmin
# passwd pgadmin
4. 创建PostgreSQL的数据库目录,并修改目录的用户属性
# mkdir /opt/pgsql/data
# chown -R pgadmin /opt/pgsql
5. 修改PostgreSQL最高访问用户pgadmin的bash_profile
# vi /home/pgadmin/.bash_profile
添加:
PGLIB=/opt/pgsql/lib
PGDATA=/opt/pgsql/data
PATH=$PATH:/opt/pgsql/bin
MANPATH=$MANPATH:/opt/pgsql/man
export PGLIB PGDATA PATH MANPATH
6. 以用户pgadmin登录
# su - pgadmin
7. 初始化数据库存储区(initialize a database storage area)
$ /opt/pgsql/bin/initdb -D /opt/pgsql/data
一个数据库存储区也叫一个数据库群集(a database cluster,是一个正在运行的数据库服务器实例所管理的数据库的集合)
8. 启动数据库服务器(Starting the Database Server)
$ postmaster >pgsql.log 2>&1 &
(注: ">pgsql.log" 的意思是将postmaster的输出重定向到pgsql.log文件中去, "2>&1"的意思是如果有错误,错误信息也重定向输出到pgsql.log中去,最后一个 "&" 的意思是在后台运行postmaster服务程序)
或者
$ postmaster -D /opt/pgsql/data >pgsql.log 2>&1 &
或者
$ postgres -D /opt/pgsql/data >pgsql.log 2>&1 &
或者
$ pg_ctl start -D /opt/pgsql/data –l pgsql.log
9. 创建数据库
$ /opt/pgsql/bin/createdb testdb
若PostgreSQL 会返回 "CREATED DATABASE" 的信息,表明数据库建立完成
$ /opt/pgsql/bin/psql testdb //用交互工具 psql 连接进入数据库
testdb=# \i /home/postgresql/test_table.sql //执行外部SQL脚本文件
testdb=# \l //列出所有数据库
testdb=# \dt //列出被连接数据库中的表
10. 设置远程可访问数据库
$ vi /opt/pgsql/data/postgresql.conf
将listen_address = 'localhost' 改为 listen_address = '*'
$ vi /opt/pgsql/data/pg_hba.conf
在文件最后加入:
host all all 192.168.1.0/24 password
重新启动数据库
$ /opt/pg/bin/pg_ctl stop -D /opt/pgsql/data
$ /opt/pg/bin/postmaster -i -D /opt/pgsql/data>logfile 2>&1 &
这样就可以远程访问数据库了,如下边的命令:
$ psql -h 192.168.1.216 -p 5432 -d testdb -U user1
将以用户user1的身份去访问主机为192.168.1.216上名为testdb的数据库。
11. 简单应用(用于测试PostgreSQL数据库是否正常工作)
11.1. 进入数据库操作界面
$ /opt/pg/bin/psql testdb
11.2. 创建用户
testdb=# create user user1 password '123456';
11.3. 创建数据库
testdb=# create database db1 owner user1;
11.4 创建表
testdb=# create table tab1(name varchar(10));
11.5 改变表的属主
testdb=# alter table tab1 owner to user1;
(二)PostGIS的安装
1. 先安装Proj4和GEOS
1.1. 安装Proj-4.5.0
# tar zxf proj-4.5.0.tar.gz
# cd proj-4.5.0
# ./configure --prefix=/opt/proj4 //设置安装位置为/opt/proj4
# make
# make install
1.2. 安装Geos-3.0.0Orc4
# tar jxf geos-3.0.0rc4.tar.bz2
# cd geos-3.0.0rc4
# ./configure --prefix=/opt/geos3 //设置安装位置为/opt/geos3
# make
# make install
2. 安装PostGIS-1.3.2
# tar zxf postgis-1.3.2.tar.gz
# cd postgis-1.3.2
# ./configure --prefix=/opt/postgis--with-pgsql=/opt/pgsql/bin/pg_config --with-proj=/opt/proj4--with-geos=/opt/geos3/bin/geos-config
(设置安装位置为/opt/postgis,并且使用Proj4与GEOS3)
# make
# make install
3. PostGIS的配置
3.1. 更改用户到pgadmin,创建测试数据库
$ createdb testgisdb //创建测试数据库
$ createlang plpgsql testgisdb //使数据库识别PL/pgSQL语言
3.2. 增加动态链接库的搜索路径
# vi /etc/ld.so.conf
在文件末尾增加下面四行:
/usr/local/lib
/opt/proj4/lib
/opt/geos3/lib
/opt/pgsql/lib
然后运行ldconfig使刚加入的库路径生效:
# /sbin/ldconfig
3.3. 进入目录/opt/postgis/share,为数据库增加空间支持:
$ psql -d trydb -f lwpostgis.sql //装入预定义的PostGIS空间类型与函数
$ psql -d testgisdb -f spatial_ref_sys.sql //装入预定义的空间坐标参照系
4. 简单使用PostGIS
$ psql testgisdb
testgisdb=# create user user2 password '123456';
testgisdb=# alter database testgisdb owner to user2;
testgisdb=# alter table spatial_ref_sys owner to user2;
testgisdb=# alter table geometry_columns owner to user2;
5. 导入shp文件:
5.1. 将 test1.shp test1.shx test1.dbf 复制到/opt/postgis/bin目录下
# chmod +x test1.shp
# chmod +x test1.shx
# chmod +x test1.dbf
# chown -R pgadmin /opt/postgis/bin
5.2. 更改用户到 pgadmin
$ /opt/postgis/bin/shp2pgsql test1 test1>test1.sql
$ psql -d testgisdb -f test1.sql
$ psql testgisdb
testgisdb=# alter table test1 owner to user2;
6. 客户端登陆使用
这里用的是QuantumGIS,即QGIS
运行软件,依次打开“图层”->“添加postgis图层”->“新建”
输入名称、主机的IP地址或服务器名、数据库名、端口号(5432)、用户名及密码
点“测试连接”,看能能否正常通讯。
最后连接,选择表,然后点“添加”,添加图层
7. 设置开机自动启动PostgreSQL
7.1. 进入.../postgresql-8.2.5/contrib/start-scripts 目录,将linux文件改名复制到init.d目录下:
# cp linux /etc/rc.d/init.d/postgres
7.2. 进入/etc/rc.d/init.d目录,编辑postgres:
=============================
prefix = /opt/pgsql
PGDATA = "/opt/pgsql/data"
PGUSER = pgadmin
PGLOG = "$PGDATA/pgsql.log"
=============================
# chmod +x postgres
7.3. 分别在/etc/rc.d/rc3.d目录和/etc/rc.d/rc3.d目录,输入命令:
# ln -sf /etc/rc.d/init.d/postgres S11postgres
重启Linux,即可。
===完毕====
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/589772
推荐阅读
article
linux
下安装
jdk
1.8.0_231步骤_
jdk
-
8u231
-
linux
-
i586
.
tar
.gz...
第一步:①去官网下载
jdk
②点击链接下载:点我第二步:将下载好的
tar
包放在
linux
中的/usr/tools/路径下...
赞
踩
article
大数据 JDK的安装与配置_
jdk
-
8u231
-
linux
-
i586
.
tar
.gz...
下载链接:https://www.oracle.com/webapps/redirect/signon?nexturl=...
赞
踩
article
Linux 安装
git
_
linux
安装
git
...
下载
git
: wget https://Github.com/Git/Git/archive/v2.9.5.tar.gz...
赞
踩
article
[
Linux
]
linux
系统
安装
git
_
linux
安装
git
_
linux
安装
git
客户端...
Git是一种分布式版本控制系统,广泛用于软件开发和版本管理。它可以跟踪文件和目录的变化,记录每个版本的修改历史,并允许多...
赞
踩
article
#超详细#
linux
下
安装
Git
_
下
载
git
-
1.8
.3...
文章目录1.
安装
Git
1.1
下
载
Git
源码包1.2 解压1.3
安装
Git
所需依赖1.4 卸载旧版本的
Git
1.5 编...
赞
踩
article
Linux
(
Centos7
版本)
安装
Git_
centos7
安装
git
...
Linux
(
Centos7
版本)
安装
Git_
centos7
安装
git
centos7
安装
git
...
赞
踩
article
【
Linux
】:
文本
编辑
与输出命令 轻松上手
nano
、
echo
和
cat
_
nano
文本
...
在
Linux
操作系统中,
文本
编辑
和输出命令是每位用户都需要掌握的基本技能。本文将重点介绍两个简单而强大的工具——
nano
...
赞
踩
article
CentOS7
(
Linux
)详细
安装
教程
(手把手图文详解版)_
centos7
安装
教程
...
本次文章的主要内容就是基于CentOS镜像文件的
Linux
操作系统的
安装
,本篇文章是基于
CentOS7
版本来讲解,7版本...
赞
踩
article
【
linux
】
Linux
wps
字体
缺失
、
加粗乱码解决
_
wps
linux
字体
...
1
、
下载
字体
包2
、
创建单独放置
字体
的目录3
、
复制
字体
到系统目录下4
、
修改
字体
权限5
、
更新
字体
缓存。
_
wps
linux
...
赞
踩
article
【
PostgreSQL
】
表
操作
-
表
的
创建
及
表
基础语法_
postgresql
创建
表
...
这些
表
类型提供了不同
的
功能和用途,可以根据具体需求选择合适
的
表
类型来存储和管理数据。_
postgresql
创建
表
pos...
赞
踩
article
PostgreSQL
常用命令_
postgres
begin
work...
这部分包含那些
PostgreSQL
支持的 SQL 命令的信息.这里的 "SQL" 就是该语言通常的含义; 每条命令的...
赞
踩
article
Linux 使用
yum
安装
mysql
_
linux
yum
安装
mysql
...
本文介绍了使用
yum
安装
MySQL的步骤,包括
安装
前的准备、
yum
安装
、启动以及另一种方法的
安装
和设置密码等内容。lin...
赞
踩
article
Linux(
Centos7
)
yum
安装
Mysql8
...
Linux (
Centos7
)
yum
安装
Mysql8
_
yum
安装
mysql8
yum
安装
mysql8 ...
赞
踩
article
linux
yum
安装
mysql
及配置...
一、
yum
安装
mysql
1.执行
yum
list |grep
mysql
,查看是否存在
mysql
的
yum
源,在
linux
...
赞
踩
article
记录一次
vite
在
linux
环境
打找不到
esbuild
-
linux
-
64
导致报错的
解决方案
。...
如果
linux
系统可以直接访问外网则直接运行以下命令即可npm i
esbuild
-
linux
-
64
因为开发
环境
在内网,...
赞
踩
article
Linux
:
常用软件
、
工具
和周边知识
介绍
...
Yum是
Linux
系统中用于管理软件包的
工具
,类似于手机上的应用商店。是基于 RPM(Red Hat Package M...
赞
踩
article
linux
安装
地球物理学常用软件:
FFTW
、Madagascar、GTK未完待续~~~_madag...
1
linux
安装
FFTW
1.1下载并解压
安装
包1.2设置
安装
路径./configure --prefix==/home/...
赞
踩
article
03 基于
orangePi
工厂
模式
智能家居
项目 ARM
Linux
(持续更新)_orangep...
语音相关的读取代码,这个文件里面的函数就要添加读取指令函数和初始化函数,所谓的初始化函数就是将串口打开然后设置相应的波特...
赞
踩
article
linux
ora
cle12c
安装后基本
配置
_
ora
cle12c
listener
.
ora
...
1 、监听
配置
1.1
listener
.
ora
配置
1.2 tnsnames.
ora
配置
1.3 重启监听1.4 远程连接...
赞
踩
article
基于I.
MX6ULL
的
Linux
C
多线程
物
联网
网关+
STM32
+Qt上位机+
Linux
C++
多线...
本项目是我写过最麻烦
的
项目,调试花了一周,总时长25天,各种BUG,每个设备之间
的
数据传递问题巨多,先局部后则整体,代码...
赞
踩
相关标签
linux下jdk安装步骤
jdk安装版本与显示版本不一致
java -version报错
java命令无法使用
大数据
java
linux
git
服务器
elasticsearch
centos
excel
运维
wps
postgresql
数据库