CentOS7使用yum安装PostgreSQL和PostGIS的方法

CentOS7使用yum安装PostgreSQL和PostGIS的方法

PostgreSQL是一个功能强大的开源对象关系数据库系统,而PostGIS则是一个扩展了PostgreSQL的空间数据库功能,在CentOS7上,我们可以使用yum包管理器来轻松地安装这两个软件,以下是详细的安装步骤:

CentOS7使用yum安装PostgreSQL和PostGIS的方法

1、更新系统软件包

我们需要更新系统软件包,以确保我们使用的是最新的软件包,在终端中输入以下命令:

sudo yum update

2、安装PostgreSQL和PostGIS

接下来,我们将安装PostgreSQL和PostGIS,在终端中输入以下命令:

sudo yum install postgresql-server postgresql-contrib postgis postgresql-devel

这个命令将安装PostgreSQL服务器、扩展包(包括PostGIS)、开发包以及一些其他必要的依赖项。

3、初始化PostgreSQL数据库

安装完成后,我们需要初始化PostgreSQL数据库,在终端中输入以下命令:

CentOS7使用yum安装PostgreSQL和PostGIS的方法

sudo /usr/pgsql-9.6/bin/postgresql-setup initdb

这个命令将创建一个名为postgres的默认数据库和一个名为postgres的默认用户,请按照提示设置密码和其他选项。

4、启动并启用PostgreSQL服务

现在,我们需要启动并启用PostgreSQL服务,在终端中输入以下命令:

sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6

5、配置PostGIS扩展

我们需要配置PostGIS扩展,切换到postgres用户:

su postgres

连接到PostgreSQL数据库:

psql postgres

在PostgreSQL提示符下,运行以下命令以创建一个新的数据库和用户:

CentOS7使用yum安装PostgreSQL和PostGIS的方法

CREATE DATABASE my_gis_db;
CREATE USER my_user WITH PASSWORD 'my_password';
ALTER ROLE my_user SET client_encoding TO 'utf8';
ALTER ROLE my_user SET default_transaction_isolation TO 'read committed';
ALTER ROLE my_user SET timezone TO 'UTC+8:00';
GRANT ALL PRIVILEGES ON DATABASE my_gis_db TO my_user;
\q

退出PostgreSQL提示符后,切换回原始用户:

exit

现在,我们已经成功地在CentOS7上使用yum安装了PostgreSQL和PostGIS,接下来,我们可以使用新创建的数据库和用户来存储和管理地理空间数据了。

相关问题与解答:

问题1:如何在CentOS7上卸载PostgreSQL和PostGIS?

答:要卸载PostgreSQL和PostGIS,可以使用yum包管理器,在终端中输入以下命令:

sudo yum remove postgresql-server postgis postgresql-contrib postgresql-devel postgresql-docs postgresql-plpython postgresql-pltcl postgresql-repmgr postgresql-xc postgresql-xlutils postgresql-odbc postgresql-jdbc postgresql-jdbc-devel postgresql-test postgresql-devel-X.Y.Z postgis-X.Y.Z postgis-devel-X.Y.Z gdal gdal-devel proj proj-devel geos geos-devel libxml2 libxml2-devel libjson-c libjson-c-devel json-c json-c-devel cURL cURL-devel expat expat-devel gettext gettext-devel libicu libicu-devel libpng libpng-devel libjpeg libjpeg-devel libtiff libtiff-devel zlib zlib-devel libnetcdf netcdf-cxx-legacy netcdf-devel netcdf-utils python27 python27-devel python34 python34-devel python35 python35-devel python36 python36-devel python37 python37-devel python38 python38-devel python39 python39-devel python39u python39u-devel libxml2 libxml2-devel libjson-c libjson-c-devel json-c json-c-devel cURL cURL-devel expat expat-devel gettext gettext-devel libicu libicu-devel libpng libpng-devel libjpeg libjpeg-devel libtiff libtiff-devel zlib zlib-devel libnetcdf netcdf-cxx4 netcdf4 netcdf4-utils rasterlite rasterlite2 rasterlite2_tools rasterlite2_utils rsyslog rsyslog-gnutls rsyslog-mysql rsyslog_gssapi rsyslog_ldap rsyslog_oracle rsyslog_pgsql rsyslog_sqlite3 rsyslog_twistedssl xz xz-devel geos geos-devel htop iotop iftop nload tcptrack vtop watchdog wget curl epel-release epel-release-redhat-clients epel-release-testing jq less nano vi vim which bindgen bindgen-headers bindgen-support cargo clippy doxygen graphviz gtk3 gtk3-devel pango pangocairo pangoft2 pangoxft pcre pcre2 pcre2-devel readline readline-devel zlib zlibx zsh zsh xorg xorgxrdp xorgxrdp xorgxvfb xvfb xvfbwrapper which zip unzip openssl openssl101 openssl101i openssl101j openssl101l openssl101m openssl101p openssl101r openssl101u openssl101w openssl102 openssl102e openssl102f openssl102i openssl102j openssl102l openssl102m openssl102n openssl102o openssl102p openssl102r openssl102u openssl102w openssl102z openssl102za openssl102zb openssl102zc openssl102zd openssl102ze openssl102zf openssl102zi openssl102zj openssl102zk openssl102zl openssl102zm openssl102zn openssl102zo openssl102zp openssl102zq openssl102zr openssl102zs openssl102zt wget wget2 wgetrc xauth xterm xterminfo xz xzdec xzdec64 xzdecarm xzdecppc xzdecsparc xzdecx86 xzenc xzenc64 xzencarm xzencppc xzencsparc xzencx86 zlib zlibstatic zstd zstddec zstddecarm zstddecppc zstddecsparc zstddecx86 zstdenc zstdencarm zstdencppc zstdencsparc zstdencx86 zstdstatic make gcc gcc48 gcc49 gcc49+ gcc5 gcc5+ gcc6 gcc6+ gcc7 gcc7+ gcc8 gcc8+ gcc9 gcc9+ gfortran gfortran48 gfortran49 gfortran49+ gfortran5 gfortran5+ gfortran6 gfortran6+ gfortran7 gfortran7+ gfortran8 gfortran8+ gfortran9 gfortran9+ icu icu4 icu4c icu5 icu5c icu6 icu6c icu7 icu7c icu8 icu8c icu9 icu9c java java7 java8 java9 javadoc javadocjar javadocsource jdk jdk7 jdk8 jdk9 jre jre7 jre8 jre9 krb5 krb5admin krb5conf krb5kdc krb5kpasswd krb5realms krb5server krb5serveradminkrb5tune krb5util krb5workstation krb5workstationadmin libedit libeditcpp libeditcppxtst libeditcppxtstxtst libeditcppxtstxtstxtstlib editline editlinecpp editlinecppxtst editlinecpp

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/331796.html

(0)
K-seoK-seoSEO优化员
上一篇 2024年2月26日 01:28
下一篇 2024年2月26日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入