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都不能被删除。

相关推荐
The_Ticker26 分钟前
CFD平台如何接入实时行情源
java·大数据·数据库·人工智能·算法·区块链·软件工程
Elastic 中国社区官方博客32 分钟前
Elasticsearch 开放推理 API 增加了对 IBM watsonx.ai Slate 嵌入模型的支持
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
企鹅侠客37 分钟前
ETCD调优
数据库·etcd
Json_1817901448043 分钟前
电商拍立淘按图搜索API接口系列,文档说明参考
前端·数据库
煎饼小狗1 小时前
Redis五大基本类型——Zset有序集合命令详解(命令用法详解+思维导图详解)
数据库·redis·缓存
永乐春秋1 小时前
WEB-通用漏洞&SQL注入&CTF&二次&堆叠&DNS带外
数据库·sql
打鱼又晒网2 小时前
【MySQL】数据库精细化讲解:内置函数知识穿透与深度学习解析
数据库·mysql
大白要努力!2 小时前
android 使用SQLiteOpenHelper 如何优化数据库的性能
android·数据库·oracle
tatasix3 小时前
MySQL UPDATE语句执行链路解析
数据库·mysql
南城花随雪。3 小时前
硬盘(HDD)与固态硬盘(SSD)详细解读
数据库