PostgreSQL 简介与基础(一)

1. 什么是 PostgreSQL

1.1 概述

PostgreSQL(常简称为Postgres)是一种功能强大的开源关系型数据库管理系统(RDBMS)。它以其可靠性、强大的功能和符合标准的特性著称。PostgreSQL 支持大部分 SQL 标准,并且具有许多现代特性:

  • ACID 事务
  • 外键、联接、视图、触发器
  • 存储过程(可用多种编程语言编写)
  • 完全支持各种数据类型(如整数、浮点数、文本、日期/时间、布尔值、数组、JSON 等)

1.2 特性

  • 开源许可证: PostgreSQL 使用的是自由开源许可证,允许用户免费使用、修改和分发。
  • 跨平台支持: 支持多种操作系统,包括 Linux、Windows 和 macOS。
  • 扩展性: 允许用户定义数据类型、操作符、索引类型、函数等。
  • 并发控制: 采用多版本并发控制(MVCC)机制,支持高并发环境。

2. 安装与配置

2.1 安装 PostgreSQL

2.1.1 在 Linux 上安装

对于基于 Debian 的系统(如 Ubuntu),可以使用以下命令安装 PostgreSQL:

复制代码
sudo apt update
sudo apt install postgresql postgresql-contrib

对于基于 Red Hat 的系统(如 CentOS),可以使用以下命令:

复制代码
sudo yum install postgresql-server postgresql-contrib
sudo postgresql-setup initdb
sudo systemctl start postgresql
sudo systemctl enable postgresql
2.1.2 在 Windows 上安装
  1. 下载 PostgreSQL 安装程序
  2. 运行安装程序并按照提示进行安装。
  3. 安装完成后,可以通过 pgAdmin 或命令行工具连接到数据库。

2.2 初始配置

2.2.1 创建超级用户

安装完成后,默认的超级用户是 postgres。可以通过以下命令切换到 postgres 用户并访问 PostgreSQL:

复制代码
sudo -i -u postgres
psql

在 psql 命令提示符下,可以创建新的超级用户:

sql 复制代码
CREATE USER myuser WITH SUPERUSER CREATEDB CREATEROLE PASSWORD 'mypassword';
2.2.2 创建数据库

使用以下命令创建新的数据库:

sql 复制代码
CREATE DATABASE mydatabase;

3. 基本概念

3.1 数据库、表、行、列

  • 数据库(Database): 存储数据的容器,每个数据库包含多个表。
  • 表(Table): 数据的结构化表示,由行和列组成。
  • 行(Row): 表中的一条记录,每行包含多个列。
  • 列(Column): 表的一个字段,每列存储一种类型的数据。

3.2 数据类型

PostgreSQL 支持多种数据类型,常用的数据类型包括:

  • 整数类型: INTEGERSERIAL
  • 浮点数类型: REALDOUBLE PRECISION
  • 字符类型: VARCHAR(n)CHAR(n)TEXT
  • 日期/时间类型: DATETIMETIMESTAMP
  • 布尔类型: BOOLEAN
  • JSON 类型: JSONJSONB

4. 基本操作

4.1 连接数据库

可以通过 psql 工具连接到 PostgreSQL 数据库:

sql 复制代码
psql -U myuser -d mydatabase

4.2 创建表

以下是一个创建表的示例:

sql 复制代码
CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(100) NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

4.3 插入数据

向表中插入数据:

sql 复制代码
INSERT INTO users (username, email) VALUES ('alice', '[email protected]');

4.4 查询数据

从表中查询数据:

sql 复制代码
SELECT * FROM users;

4.5 更新数据

更新表中的数据:

sql 复制代码
UPDATE users SET email = '[email protected]' WHERE username = 'alice';

4.6 删除数据

删除表中的数据:

sql 复制代码
DELETE FROM users WHERE username = 'alice';

系统文章目录:

PostgreSQL 简介与基础(一)

PostgreSQL 基本SQL语法(二)

PostgreSQL 高级SQL查询(三)

PostgreSQL 数据库设计与管理(四)

PostgreSQL 高级功能(五)

PostgreSQL 性能优化与调优(六)

PostgreSQL 高可用性与灾难恢复策略(七)

PostgreSQL 安全性与权限管理(八)

PostgreSQL 高级功能与扩展(九)

PostgreSQL 分区表与并行查询(十)

PostgreSQL 索引优化与性能调优(十一)

PostgreSQL 日志管理与故障排查(十二)

PostgreSQL 高可用性与容错性(十三)

相关推荐
浠寒AI1 小时前
PostgreSQL 与 SQL 基础:为 Fast API 打下数据基础
数据库·sql·postgresql
leo__5203 小时前
在Ubuntu中设置开机自动运行(sudo)指令的指南
服务器·ubuntu·postgresql
在未来等你16 小时前
SQL进阶之旅 Day 21:临时表与内存表应用
sql·mysql·postgresql·database·temporary-table·memory-table·sql-optimization
一加一等于二2 天前
docker部署postgresql17,并且安装插件
docker·postgresql
Bug.Remove()2 天前
PostgreSQL数据类型使用
数据库·postgresql
文牧之2 天前
PostgreSQL 的扩展pageinspect
运维·数据库·postgresql
文牧之3 天前
PostgreSQL 的扩展pg_freespacemap
运维·数据库·postgresql
爱宇阳3 天前
使用 Docker Compose 从零部署 TeamCity + PostgreSQL(详细新手教程)
docker·postgresql·容器
南棱笑笑生3 天前
20250605使用boot-repair来恢复WIN10和ubuntu22.04.6双系统的启动
数据库·postgresql
leo__5204 天前
PostgreSQL配置文件修改及启用方法
数据库·postgresql