PostGIS笔记:PostgreSQL 数据库与用户 基础操作

数据库基础操作包括数据模型的实现、添加数据、查询数据、视图应用、创建日志规则等。我这里是在Ubuntu系统学习的数据库管理。Windows平台与Linux平台在命令上几乎无差异,只是说在 Windows 上虽然也能运行良好,但在性能、稳定性、功能扩展等方面,Linux 系统通常更具优势,特别是在大型、高并发的应用场景中。

例如:在 Windows 上运行 PostgreSQL 时,某些配置参数的最大值比在 Linux 上要小;Windows 上支持的扩展种类相对较少;Linux 是 PostgreSQL 的主要发展平台,可以更灵活地配置和优化 PostgreSQL 的性能参数。Windows、Linux、macOS 等多种操作系统都支持前面安装的pgAdmin ,只是说在 Linux 上,pgAdmin通过指令:sudo apt install pgadmin3安装后,可以以桌面应用模式、服务器模式(支持多用户通过网络进行访问)和容器部署模式运行;而在 Windows 上,通常以桌面应用模式为主。

数据库官网等提供了详细的学习教程,笔记内容主要来源与参考网站如下:

bash 复制代码
https://www.postgresql.org/docs/current/index.html
https://www.pgadmin.org/docs/pgadmin4/development/index.html
https://postgis.net.cn/documentation/
https://docs.qgis.org/3.34/en/docs/training_manual/index.html

PG数据库首先需要实现模型,实现模型包括数据库和用户的创建、表的创建、索引创建等内容。最开始需要创建数据库和用户

第一步,首先启动Postgresql,并查看PG 服务的总体状态。

sql 复制代码
启动服务
sudo systemctl start postgresql@14-main
查看状态
sudo systemctl status postgresql postgresql@14-main
停止特定版本的PG
sudo systemctl stop postgresql@14-main
开机自启
sudo systemctl enable postgresql@14-main
取消开机自启
sudo systemctl disable postgresql@14-main

第二步,创建新的数据库。先登录到psql,再创建新数据库:PGLearn

sql 复制代码
sudo -u postgres psql
CREATE DATABASE PGLearn;

第三步,创建新的用户/角色(role): GIS,设置用户的密码为:mima,并给这个新用户操作PGLearn数据库所有的权限。

sql 复制代码
CREATE USER GIS WITH PASSWORD 'mima';
GRANT ALL PRIVILEGES ON DATABASE PGLearn to GIS;

角色部分权限,全部内容要参考PG官网文档:

sql 复制代码
-d, --createdb     可以创建数据库
-E, --encrypted    可以加密存储的密码
-i, --inherit      角色继承其所属角色的权限(默认)
-l, --login        角色可以登录(默认)
-P, --pwprompt     为新角色分配密码
-r, --createrole   角色可以创建新角色
-s, --superuser    角色将是超级用户

第四步,查看数据库和用户,可以看到在PG中不区分大小写,是小写的pglearn 。数据库的所有者是postgres

sql 复制代码
查看数据库列表
\l
查看用户
\du

如果要修改数据库所有者,可以使用语句:ALTER DATABASE database_name OWNER TO new_owner;。因为我们这个数据库是空的,也可以删除数据库,重建pglearn数据库时定义所有者。数据库所有者对于数据库具有:数据库对象创建、删除、修改,权限管理(权限授予、撤销、转移)等权限。

sql 复制代码
直接修改所有者
ALTER DATABASE pglearn OWNER TO GIS;
先删除数据库,再重建数据库
DROP DATABASE pglearn;
CREATE DATABASE pglearn OWNER GIS;

此外,还可以取消掉用户权限:

sql 复制代码
REMOVE ALL PRIVILEGES ON DATABASE PGLearn to GIS;
相关推荐
广州灵眸科技有限公司2 小时前
xfce桌面触摸校准:基于灵眸科技EASY-EAl-Orin-Nano
数据库·windows·科技
憧憬成为web高手5 小时前
皮卡丘靶场速通--sql 2
数据库·sql·mybatis
段一凡-华北理工大学5 小时前
向量数据库实战:选型、调优与落地~系列文章12:文本分块策略实战:chunk_size 怎么选?重叠多少?
开发语言·数据库·后端·oracle·rust·工业智能体·高炉智能化
遇乐的果园6 小时前
前端学习笔记-vue加载渲染优化
前端·笔记·学习
遇乐的果园7 小时前
前端学习笔记-vue状态管理优化
前端·笔记·学习
oradh7 小时前
Oracle XTTS实现跨版本迁移和升级(Oracle 11g单库升级至19C RAC集群)
数据库·oracle·11g升级19c·xtts跨版本迁移和升级
摇滚侠8 小时前
Java 全栈开发实战教程 课程笔记 29-33
笔记
z123456789868 小时前
2026最新两款AI编程工具深度对比实测
java·数据库·ai编程
程序猿DD8 小时前
一个 API Key,统一调用大模型、生图和联网搜索
数据库·网关
java_logo8 小时前
Docker Compose 部署 ClickHouse:快速搭建高性能列式数据库
数据库·clickhouse·docker·列式数据库·轩辕镜像·高性能数据库·clickhouse部署教程