PostgreSQL(一) 安装教程

1,708 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第18天,点击查看活动详情

引言

用了一段时间的 PostgreSQL 对其越发爱不释手,PgSQL 对数据类型的支持和对插件的集成,这两个功能使用起来真是无比的香,后面会逐步的介绍 PgSQL 的一些特性和功能。本文作为 PgSQL 的第一篇,先从如何安装 PgSQL 入手。

Mac 上安装

Mac 上安装 PostgreSQL 相对比较容易,通过Download PostgreSQL下载所需版本的安装包即可。

Application Stack Builder

在通过安装包安装 PostgreSQL 的最后会提示 Launch Stack Builder at exit? 那 Stack Builder 能为我们做些什么呢?查阅了官网 Using Stack Builder 发现 Stack Builder 提供了图形化界面为了简化 PostgreSQL 相关的模块或者插件(如 PostGIS)的下载或安装,它的优势是可以自动的对插件等模块所需的依赖进行安装。

如果只是使用 PostgreSQL 数据库则不需要勾选了,如果其的一些工具、插件、附件有所依赖的,可以选择通过 Stack Builder 进行安装。

pgAdmin4

安装完成之后打开 pgAdmin4 ——官方客户端工具,进行数据库的连接和基本操作。

image-20221211160609151.png

点击 PSQL Tool 执行如下脚本,进行 postgis 插件安装,检查 Extensions 发现安装成功。

CREATE EXTENSION postgis;

image-20221211161612044.png

Linux Centos 下安装 PostgreSQL

这里选择了 postgreSQL12 版本进行安装命令的整理

导入 yum 源 安装 PostgreSQL 服务

$ sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
$ sudo yum install -y postgresql12 postgresql12-server

新建数据目录并进行授权

$ sudo su
$ mkdir -p /data/postgresql/data
# 授权 postgreSQL 默认用户 postgres
$ chown -R postgres:postgres /data/postgresql/data
# 切换到postgres用户,初始化,指定数据目录
$ su - postgres
$ /usr/pgsql-12/bin/initdb -D /data/postgresql/data
# 修改postgresql的system.service文件
$ vim /usr/lib/systemd/system/postgresql-12.service
# 修改配置文件 PGDATA 目录
Environment=PGDATA=/data/postgresql/data/
# 重新加载系统服务
$ systemctl daemon-reload

启动 PostgreSQL 服务

$ sudo systemctl start postgresql-12
#设为开机启动
$ sudo systemctl enable postgresql-12

修改密码

$ sudo su postgres
$ psql
ALTER USER postgres WITH PASSWORD 'qweasd123';

访问控制

#开放端口
$ sudo firewall-cmd --add-port=5432/tcp --permanent
$ sudo firewall-cmd --reload
#修改配置文件 监听地址
$ sudo vi /data/postgresql/data/postgresql.conf
#默认listen_addresses配置是注释掉的,所以可以直接在配置文件开头加入该行
listen_addresses='*'
#修改配置文件 /data/postgresql/data/pg_hba.conf
#在文件尾部加入
host    all             all             0.0.0.0/0               trust
#重启PostgreSQL服务
$ sudo systemctl restart postgresql-12

安装 Extensions

主要是安装 postgis 和 pgRouting

# 安装 extensions yum 源
$ sudo yum install pgrouting_12
$ sudo yum -y install epel-release
$ sudo yum -y install postgis30_12 postgis30_12-utils postgis30_12-client
# 切换用户
$ su - postgres
$ psql
-- 执行 sql 语句
CREATE EXTENSION postgis;
-- enable raster support (for 3+)
CREATE EXTENSION postgis_raster;
-- Enable Topology
CREATE EXTENSION postgis_topology;
-- Enable PostGIS Advanced 3D
-- and other geoprocessing algorithms
-- sfcgal not available with all distributions
CREATE EXTENSION postgis_sfcgal;
-- fuzzy matching needed for Tiger
CREATE EXTENSION fuzzystrmatch;
-- rule based standardizer
CREATE EXTENSION address_standardizer;
-- example rule data set
CREATE EXTENSION address_standardizer_data_us;
-- Enable US Tiger Geocoder
CREATE EXTENSION postgis_tiger_geocoder;

安装验证

安装验证如 Mac 上的安装验证步骤,打开 pgAdmin4 进行数据的连接和数据操作