目录
一、环境
二、安装
1、安装docker
2、安装postgis(里面包含postgres)
三、测试
四、使用
五、问题
一、环境
linux的系统在终端输入: uname -a
Linux host-10-208-254-221 4.19.90-2112.8.0.0131.oe1.aarch64 #1 SMP Fri Dec 31 19:53:20 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux
搞不懂是什么系统???
在网上搜索arm下安装postgres12 。流程贼长安装各种问题,白瞎两天postgres安装好了,postgis插件死活安装不了,废了,果断放弃
参考文档:Postgresql 12.2 + PostGIS 3.0.1 安装部署手册_postgis安装教程_运维&晓柏的博客-CSDN博客
以上文档安装postgres还行,不建议安装postgis, 问题太多
果断放弃使用docker安装!
二、安装
1、安装docker
参考文档: ARM架构服务器安装docker_arm安装docker_相约黄昏后007的博客-CSDN博客
参考文档里面的离线安装过程
1)下载安装包:wget https://download.docker.com/linux/static/stable/aarch64/docker-19.03.9.tgz
2)解压安装包:tar -zxvf docker-19.03.9.tgz
3)移动解压文件: sudo cp -p docker/* /usr/bin/
4)将docker注册为系统服务在/usr/lib/systemd/system/目录下,创建docker.service文件:
sudo touch /usr/lib/systemd/system/docker.service
5)编辑docker.service文件:sudo vim /usr/lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=network.target docker.socket
[Service]
Type=notify
EnvironmentFile=-/run/flannel/docker
WorkingDirectory=/usr/local/bin
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock --selinux-enabled=false --log-opt max-size=1g
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target
6)重载unit配置文件:sudo systemctl daemon-reload
7)启动docker:sudo systemctl start docker
8)设置开机自启动:sudo systemctl enable docker
9)查看状态:
查看docker状态:sudo systemctl status docker
查看docker系统信息:docker info
查看docker版本:docker -v
------------------------------------------------------------------------------------------------------------------------------
2、安装postgis(里面包含postgres)
如果想使用12的版本使用镜像 : nickblah/postgis:12-bullseye-postgis-3
如果想使用13的版本使用镜像: gangstead/postgis:13-arm
1) 拉取镜像: docker pull gangstead/postgis:13-arm
2) 启动镜像:
docker run -it \
--name postgres \
--restart always \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=123456 \
-e POSTGRES_DBNAME=postgres \
-e ALLOW_IP_RANGE=0.0.0.0/0 \
-p 5432:5432 \
-v /home/postgres/data:/var/lib/postgresql \
-d gangstead/postgis:13-arm
3) 查看启动: docker ps # 查看容器 是否启动
4)本地链接 : psql -h localhost -U postgres -d postgres 密码:123456
jdbc链接:
jdbc.url=jdbc:postgresql://localhost:5432/postgres
jdbc.username=postgres
jdbc.password=123456
5) 导入备份的数据
/home/postgres/pg/bin/pg_restore \
--host localhost \
--port 5432 \
--username "postgres" \
--password \
--role "postgres" \
--dbname "postgres" \
--verbose /root/data/file.backup"
三、测试
四、使用
1、创建extension
create extension postgis;
create extension plpgsql;e
create extension fuzzystrmatch;
create extension tablefunc;
create extension "uuid-ossp" schema "my";
CREATE EXTENSION pgcrypto schema "aa";
CREATE EXTENSION pg_stat_statements;
CREATE EXTENSION postgres_fdw;
2、在终端使用pg数据库命令
# 数据库
create database aa;
drop database aa;
# 用户
create user "user_aa" with password "123456";
GRANT ALL ON database aa TO "user_aa";
# 模式 (schema)
create schema "user_aa";
ALTER SCHEMA "user_aa" OWNER TO "user_aa";
# 扩展(extension)
create extension postgis;
ALTER extension "uuid-ossp" OWNER TO "user_aa";
# 查看扩展
select * from pg_extension;
select * from pg_available_extensions;
# 设置用户为超级用户
alter role "user_aa" superuser;
alter database aa owner to "user_aa";
# 查看链接数
show max_connections;
select count(*) from pg_stat_activity;
# -----------------------------------------------------
\l # 查看数据库
\c # 查看用户
\c db # 切换数据库
\c - user # 切换用户
\dt # 查看表
\dh # 查看方法
五、问题
1、其他模式不能使用扩展方法
例如: select gen_random_uuid() 可以执行。
但是有一个模式aa,我执行select aa.gen_random_uuid() 不能执行。文章来源:https://www.toymoban.com/news/detail-783739.html
解决: 创建扩展的时候指定模式:CREATE EXTENSION pgcrypto schema "aa";文章来源地址https://www.toymoban.com/news/detail-783739.html
到了这里,关于ARM系统下的postgis12 和postgis13安装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!