linux安装postgresql13
- 1. 安装postgresql13
- 1.1 安装
- 1.2. 数据库初始化
- 1.3.配置远程访问
- 1.3.1 修改配置文件
- 1.3.2 重启服务
- 1.3.3 测试连接
- 1.4 卸载
- 2. 安装Postgis
- 2.1 安装
- 2.2 为数据库添加postgis
- 2.2.1 查看文件
- 2.2.2 为数据库添加postgis
- 2.2.3 创建操作系统用户
- 3. 安装pgAdmin 4
- 参考文章:Ubuntu 18.04 安装 Postgresql 13 + Postgis 及其相关组件 + pgAdmin 4
1. 安装postgresql13
1.1 安装
- linux下载链接:https://www.postgresql.org/download/linux/ubuntu/
- 安装命令
sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo apt-get update sudo apt-get -y install postgresql-13 # -后面是自己的版本
1.2. 数据库初始化
-
进入默认安装路径且创建新的文件夹
cd /usr/share/postgresql mkdir pgsql_data
-
赋予文件夹权限
sudo chmod 777 /usr/share/postgresql/pgsql_data
-
数据库初始化
/usr/lib/postgresql/13/bin/initdb -D /usr/share/postgresql/pgsql_data
-
服务启动与停止
# 启动/usr/lib/postgresql/13/bin/pg_ctl -D /usr/share/postgresql/pgsql_data start # 停止 /usr/lib/postgresql/13/bin/pg_ctl -D /usr/share/postgresql/pgsql_data stop
1.3.配置远程访问
1.3.1 修改配置文件
- 修改
pg_hba.conf
文件cd /usr/share/postgresql/pgsql_data
- 编辑文件pg_hba.conf
vim pg_hba.conf
- 添加内容 【添加/修改:允许任意用户从任意机器上以密码方式访问数据库,把下行添加为第一条规则:】
host all all 0.0.0.0/0 md5
- 编辑文件pg_hba.conf
- 修改
postgresql.conf
文件cd /usr/share/postgresql/pgsql_data
- 编辑文件postgresql.conf
vim postgresql.conf
- 修改内容
listen_addresses = '*' # 原值为 listen_addresses = 'localhost'
- 编辑文件postgresql.conf
1.3.2 重启服务
- 重启服务
systemctl start postgresql
1.3.3 测试连接
- 测试连接
psql postgres://username:password@ip:5432/databasename # 主机ip 端口号默认5432 psql postgres://postgres:123456@127.0.0.1:5432/testdb # 本地测试
1.4 卸载
sudo apt-get purge 'postgresql-15' # 卸载15版本
sudo apt-get autoremove 'postgresql-15'
2. 安装Postgis
2.1 安装
- 修改
sources.list
文件sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt bionic-pgdg main" >> /etc/apt/sources.list'
- 解决,用
vim
修改/etc/apt/sources.list
vim /etc/apt/sources.list # 打开文件 deb http://apt.postgresql.org/pub/repos/apt bionic-pgdg main # 添加的内容
- 解决,用
- 安装命令
wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add - # sudo apt update 报错执行。不报错不执行 sudo apt install postgis sudo apt install postgresql-13-pgrouting sudo apt install postgis-gui
2.2 为数据库添加postgis
2.2.1 查看文件
- 进入相关目录
/usr/share/postgresql/13/contrib/ # 13为自己的版本
- 查看是否有
postgis.sql
和spatial_ref_sys.sql
文件- 如果没有卸载重新安装
postgis
- 如果没有卸载重新安装
2.2.2 为数据库添加postgis
- 方法一
- 数据库添加
postgis
命令psql -d mapdb1 -f /usr/share/postgresql/13/contrib/postgis-3.4/postgis.sql psql -d mapdb1 -f /usr/share/postgresql/13/contrib/postgis-3.4/spatial_ref_sys.sql
- 报错
- 因为 PostgreSQL 默认使用 Peer authentication 认证, 就是说 数据库用户和 操作系统用户的 name 必须一样.即数据库中创建一个操作系统用户
- 因为 PostgreSQL 默认使用 Peer authentication 认证, 就是说 数据库用户和 操作系统用户的 name 必须一样.即数据库中创建一个操作系统用户
- 数据库添加
- 方法二
- 创建空间扩展类型的数据库
create database testdb; # 创建数据库 CREATE EXTENSION postgis; # 进入执行以下postgis扩展
- 创建表 【不报错,说明成功】
CREATE TABLE IF NOT EXISTS geotable (id integer NOT NULL,geom geometry(MultiPolygon) );
- 创建空间扩展类型的数据库
2.2.3 创建操作系统用户
- 登录 postgres 用户
sudo su postgres
- 创建用户
CREATE ROLE user LOGIN; # user为自己的操作系统用户名
- 赋予超级用户 权限
ALTER USER user SUPERUSER;
- 数据库添加
postgis
命令psql -d testdb -f /usr/share/postgresql/13/contrib/postgis-3.4/postgis.sql psql -d testdb -f /usr/share/postgresql/13/contrib/postgis-3.4/spatial_ref_sys.sql
3. 安装pgAdmin 4
- 链接:https://www.pgadmin.org/download/pgadmin-4-apt/
- 相关命令
curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /usr/share/keyrings/packages-pgadmin-org.gpg sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/packages-pgadmin-org.gpg] http://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list && apt update' sudo apt install pgadmin4