PostgreSQL基本使用

参考文档:PostgreSQL基本使用与数据备份_postgresql 数据备份-CSDN博客

一、数据库的操作

1. 本机登录

2.创建新用户来访问 PostgreSQL

3 重启数据库服务

4.创建数据库并查看数据库

5.连接数据并删除数据库

6.建表插入数据,查看数据库下所有的表,查看表结构

二、PostgreSQL 管理

  1. 配置文件介绍

PostgreSQL 使用环境变量 PGDATA 指向的目录做为数据存放的目录。这个目录是在安装时指定的,所以在安装时需要指定一个合适的目录作为数据目录的根目录,而且,每一个 PG 数据库实例都需要有这样的一个目录。此数据目录的初始化是使用命令 initdb 来完成的。初始化完成后, PGDATA 数据目录下就会生成三个配置文件

postgresql.conf:数据库实例的主配置文件,基本上所有的配置参数都在此文件中

pg_hba.conf:认证配置文件,配置了允许哪些IP的主机访问数据库,认证的方法是什么等信息

pg_ident.conf:认证方式ident的用户映射文件

  1. 数据库相关概念

2.1 数据库的结构组织

在一个 PostgreSQL 数据库系统中,数据的组织结构可以分为以下五层:

实例: 一个 PostgreSQL 对应一个安装的数据目录$PGDATA,即一个instance实例

数据库:一个 PostgreSQL 数据库服务下可以管理多个数据库,当应用连接到一个数据库时,一般只能访问这个数据库中的数据,而不能访问其他数据库中的内容默认情况下初始实例只有三个数据库: postgres、template0、template1

模式:一个数据库可以创建多个不同的名称空间即 Schema,用于分隔不同的业务数据

表和索引:一个数据库可以有多个表和索引。在 PostgreSQL 中表的术语称为 Relation,而在其他数据库中通常叫Table

行和列:每张表中有很多列和行数据。在 PostgreSQL 中行的术语一般为"Tuple",而在其他数据库中则叫"Row"

2.2 PostgreSQL 中的术语

PostgreSQL 有一些术语与其他数据库中不一样,了解了这些术语的意思,就能更好地看懂PostgreSQL 中的文档。与其他数据库不同的术语如下:

Relation:表示表table或索引index,具体表示的是Table还是 Index需要看具体情况

Tuple:表示表中的行,在其他数据库中使用Row来表示

Segment:每个表和索引都单独对应一个文件,,即为segment,如果文件大小超过1GB,会创建多个相同名称但后缀不同的文件

Page:表示在磁盘中的数据块。在文件中以块为单位存放数据, 默认值为8KB,最大可以为32KB

Buffer:表示在内存中的数据块

2.3 模版数据库template0 和template1

template1 和 template0 是 PostgreSQL 的模板数据库。所谓模板数据库就是创建新 database 时,PostgreSQL 会基于模板数据库制作一份副本,其中会包含所有的数据库设置和数据文件。

PostgreSQL安装好以后会默认附带两个模板数据库: 默认模板库为 template0 和template1。默认模板库为 template1,也可以指定template0

template1 和t emplate0 的区别主要有两点:

template1 可以连接,template0 不可以连接

使用 template1 模板库建库时不可指定新的encoding 和locale,而 template0可以

注意:template0和template1都不能被删除。

相关推荐
Mr.1310 分钟前
数据库的三范式是什么?
数据库
Cachel wood17 分钟前
python round四舍五入和decimal库精确四舍五入
java·linux·前端·数据库·vue.js·python·前端框架
Python之栈24 分钟前
【无标题】
数据库·python·mysql
风_流沙36 分钟前
java 对ElasticSearch数据库操作封装工具类(对你是否适用嘞)
java·数据库·elasticsearch
亽仒凣凣44 分钟前
Windows安装Redis图文教程
数据库·windows·redis
亦世凡华、1 小时前
MySQL--》如何在MySQL中打造高效优化索引
数据库·经验分享·mysql·索引·性能分析
YashanDB1 小时前
【YashanDB知识库】Mybatis-Plus调用YashanDB怎么设置分页
数据库·yashandb·崖山数据库
ProtonBase1 小时前
如何从 0 到 1 ,打造全新一代分布式数据架构
java·网络·数据库·数据仓库·分布式·云原生·架构
云和数据.ChenGuang6 小时前
Django 应用安装脚本 – 如何将应用添加到 INSTALLED_APPS 设置中 原创
数据库·django·sqlite
woshilys7 小时前
sql server 查询对象的修改时间
运维·数据库·sqlserver