目录
一、postgresql概念
二、PostgreSQL 特征
三、postgres安装与登录
3.1、postgres安装
3.2、postgres使用
3.3.1、postgres登录
3.3.2、修改postgres用户密码
四、PostgreSQL 命令
4.1、PostgreSQL 创建数据库
4.2、删除数据库
4.3、创建表格
4.4、删除表格
一、postgresql概念
PostgreSQL 是一个免费的对象-关系数据库服务器(ORDBMS),在灵活的BSD许可证下发行。
PostgreSQL 开发者把它念作 post-gress-Q-L。
PostgreSQL 的 Slogan 是 "世界上最先进的开源关系型数据库"。
二、PostgreSQL 特征
-
函数:通过函数,可以在数据库服务器端执行指令程序。
-
索引:用户可以自定义索引方法,或使用内置的 B 树,哈希表与 GiST 索引。
-
触发器:触发器是由SQL语句查询所触发的事件。如:一个INSERT语句可能触发一个检查数据完整性的触发器。触发器通常由INSERT或UPDATE语句触发。 多版本并发控制:PostgreSQL使用多版本并发控制(MVCC,Multiversion concurrency control)系统进行并发控制,该系统向每个用户提供了一个数据库的"快照",用户在事务内所作的每个修改,对于其他的用户都不可见,直到该事务成功提交。
-
规则:规则(RULE)允许一个查询能被重写,通常用来实现对视图(VIEW)的操作,如插入(INSERT)、更新(UPDATE)、删除(DELETE)。
-
数据类型:包括文本、任意精度的数值数组、JSON 数据、枚举类型、XML 数据
等。 -
全文检索:通过 Tsearch2 或 OpenFTS,8.3版本中内嵌 Tsearch2。
-
NoSQL:JSON,JSONB,XML,HStore 原生支持,至 NoSQL 数据库的外部数据包装器。
-
数据仓库:能平滑迁移至同属 PostgreSQL 生态的 GreenPlum,DeepGreen,HAWK 等,使用 FDW 进行 ETL。
三、postgres安装与登录
3.1、postgres安装
1、安装postgres源
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
2、安装客户端
yum install postgresql11
3、安装服务器
yum install postgresql11-server
4、开机自启动
systemctl enable postgresql-11
systemctl start postgresql-11
3.2、postgres使用
3.3.1、postgres登录
默认情况下 PostgreSQL 安装完成后,自带了一个命令行工具 SQL Shell(psql)。
Linux 系统可以直接切换到 postgres 用户来开启命令行工具:
# su postgres
3.3.2、修改postgres用户密码
#修改密码
alter user postgres with password 'xxx';
四、PostgreSQL 命令
4.1、PostgreSQL 创建数据库
CREATE DATABASE 创建数据库
CREATE DATABASE 命令需要在 PostgreSQL 命令窗口来执行,语法格式如下:
CREATE DATABASE dbname;
4.2、删除数据库
PostgreSQL 删除数据库可以用以下三种方式:
- 1、使用 DROP DATABASE SQL 语句来删除。
- 2、使用 dropdb 命令来删除。
- 3、使用 pgAdmin 工具。
DROP DATABASE [ IF EXISTS ] name
4.3、创建表格
CREATE TABLE 语法格式如下:
CREATE TABLE table_name( column1 datatype, column2 datatype, column3 datatype, ..... columnN datatype, PRIMARY KEY( 一个或多个列 ) );
CREATE TABLE 是一个关键词,用于告诉数据库系统将创建一个数据表。
表名字必需在同一模式中的其它表、 序列、索引、视图或外部表名字中唯一。
CREATE TABLE 在当前数据库创建一个新的空白表,该表将由发出此命令的用户所拥有。
表格中的每个字段都会定义数据类型,如下:
实例
以下创建了一个表,表名为 stu 表格,主键为 ID,NOT NULL 表示字段不允许包含 NULL 值:
我们可以使用 \d 命令来查看表格是否创建成功:
\d tablename 查看表格信息:
4.4、删除表格
DROP TABLE table_name;