目录
1、PostgreSQL介绍
2、在ubuntu上通过命令安装
3、进入postgres用户
4、查看所有数据库
5、创建数据库
6、删除数据库
7、查看版本号(注意:在sudo su - postgres下)
8、远程连接
9、数据类型
1、PostgreSQL介绍
官网:PostgreSQL: The world's most advanced open source database
PostgreSQL 是一个功能强大的开源对象关系数据库系统,它使用和扩展了 SQL 语言,并结合了许多安全存储和扩展最复杂数据工作负载的功能。
PostgreSQL 因其经过验证的架构、可靠性、数据完整性、强大的功能集、可扩展性以及软件背后的开源社区致力于始终如一地提供高性能和创新的解决方案而赢得了良好的声誉。
数据类型
基元:整数、数字、字符串、布尔值结构化:日期/时间、数组、范围/多范围、UUID文档:JSON/JSONB、XML、KEY-VALUE (HSTORE)几何:点、线、圆、多边形自定义:复合、自定义类型数据完整性
唯一,不为空主键外键排除约束显式锁、咨询锁并发性、性能
索引:B 树、多列、表达式、部分索引高级索引:GiST,SP-Gist,KNN Gist,GIN,BRIN,覆盖索引,布隆过滤器复杂的查询规划器/优化器,仅索引扫描,多列统计信息事务,嵌套事务(通过保存点)多版本并发控制 (MVCC)并行化读取查询和构建 B 树索引表分区SQL 标准中定义的所有事务隔离级别,包括可序列化表达式的实时 (JIT) 编译可靠性、灾难恢复
预写日志记录 (WAL)复制:异步、同步、逻辑时间点恢复 (PITR),活动备用表空间安全
身份验证:GSSAPI、SSPI、LDAP、SCRAM-SHA-256、证书等强大的门禁系统列级和行级安全性使用证书和其他方法进行多重身份验证扩展
存储函数和过程过程语言:PL/pgSQL、Perl、Python 和 Tcl。还有其他语言可以通过扩展使用,例如Java,JavaScript(V8),R,Lua和Rust。SQL/JSON 路径表达式外部数据包装器:使用标准 SQL 接口连接到其他数据库或流可定制的表存储界面许多提供附加功能的扩展模块,包括 PostGIS国际化、文本搜索
支持国际字符集,例如通过 ICU 排序规则不区分大小写和不区分重音的排序规则全文搜索
2、在ubuntu上通过命令安装
sudo apt-get install postgresql
初次安装后,默认生成一个名为postgres的数据库和一个名为postgres的数据库用户。
这里需要注意的是,同时还生成了一个名为postgres的Linux系统用户。
设置 postgres 用户密码
sudo passwd postgres
3、进入postgres用户
sudo su - postgres
psql
#修改密码
\password postgres
上述修改是pgsql服务器的密码,远程连接时需要这个密码。
4、查看所有数据库
\l
默认postgres,template0和1这3个库是不允许操作的,可创建新的数据库。
5、创建数据库
CREATE DATABASE test WITH OWNER=postgres ENCODING='UTF-8';
6、删除数据库
DROP DATABASE tt;
7、查看版本号(注意:在sudo su - postgres下)
psql --version
8、远程连接
例如格式:
psql -U postgres -d test -h 192.168.88.195 -p 5432
-h参数指定服务器地址,默认为127.0.0.1
-d指定连接之后选中的数据库,默认也是postgres,
-U指定用户,默认是当前用户,
-p 指定端口号,默认是"5432"。
psql -U postgres -d postgres -h 127.0.0.1 -p 5432
9、数据类型
PostgreSQL 中支持的数据类型包括以下类型:
1. 数值型:
* smallint:2 字节的整数类型
* integer:4 字节的整数类型
* bigint:8 字节的整数类型
* decimal:高精度小数类型
* numeric:具有用户指定精度和范围的高精度小数类型(等同于 decimal)
* real:单精度浮点数类型
* double precision:双精度浮点数类型
* serial:自动递增的 4 字节整数类型
* bigserial:自动递增的 8 字节整数类型
2. 字符串型:
* character(n):长度为 n 的字符类型
* varchar(n):可变长度的字符类型,最大长度为 n
* text:变长字符串类型,支持任意长度的字符串
3. 日期/时间型:
* timestamp:日期和时间类型
* date:日期类型
* time:时间类型
* interval:时间间隔类型
4. 布尔型:
* boolean:布尔类型,只能取 true 或 false
5. 枚举型:
* enum:枚举类型,用户定义的类型,只能从预定义的一组常量中选择一个值
6. 几何类型:
* point:二维平面上的点
* line:二维平面上的直线
* lseg:二维平面上的线段
* box:二维平面上的矩形
* path:二维平面上的路径
* polygon:二维平面上的多边形
* circle:二维平面上的圆
7. 网络地址类型:
* inet:IP 地址类型
* cidr:IP 地址和掩码类型
8. 二进制类型:
* bytea:二进制数据类型,用于存储字节序列
9. 数组类型:
* int[]:整数数组类型
* varchar(100)[]:字符串数组类型
* timestamp[]:时间戳数组类型
好文阅读
发表评论