目录

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

本文是转载文章,点击查看原文
如有侵权,请联系 xyy@jishuzhan.net 删除
相关推荐
程序猿阿伟7 分钟前
《SQL赋能人工智能:解锁特征工程的隐秘力量》
数据库·人工智能·sql
冰箱里的金鱼40 分钟前
MYSQL 存储引擎 和 日志
数据库
Yan-英杰1 小时前
【百日精通JAVA | SQL篇 | 第三篇】 MYSQL增删改查
java·数据库·sql
信徒_1 小时前
Mysql 中的 binlog、redolog、undolog
数据库·mysql
极限实验室2 小时前
代理 Elasticsearch 服务:INFINI Gateway VS Nginx
数据库·搜索引擎
三月七(爱看动漫的程序员)2 小时前
LLM面试题六
数据库·人工智能·gpt·语言模型·自然语言处理·llama·milvus
追光天使3 小时前
Mac 上使用 mysql -u root -p 命令,出现“zsh: command not found: mysql“?
数据库·mysql·macos
高铭杰3 小时前
Citus源码(2)分布式读流程分析与基础概念梳理(shardid、placementid、groupid)
数据库·分布式·postgresql·citus
_GR4 小时前
rdiff-backup备份
数据库
Hi_Lyn6 小时前
MySQL表的增删改查基础版
数据库·mysql