PostgreSQL总结(1) - 数据库简介及安装
来源:互联网 发布:亚马逊云 centos root 编辑:程序博客网 时间:2024/05/22 14:38
PostgreSQL简介
PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,现在已经更名为PostgreSQL。PostgreSQL支持大部分 SQL标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、MVCC。同样,PostgreSQL 可以用许多方法扩展,比如, 通过增加新的数据类型、函数、操作符、聚集函数、索引。PostgreSQL 是一个自由的对象-关系数据库服务器(数据库管理系统)。
- 优点
PostgreSQL 的特性覆盖了 SQL-2/SQL-92 和 SQL-3/SQL-99,首先,它包括了可以说是目前世界上最丰富的数据类型的支持,其中有些数据类型可以说连商业数据库都不具备, 比如 IP 类型和几何类型等;其次,PostgreSQL 是全功能的自由软件数据库,很长时间以来,PostgreSQL 是唯一支持事务、子查询、多版本并行控制系统(MVCC)、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统。
- 缺点
PostgreSQL 的确还欠缺一些比较高端的数据库管理系统需要的特性,比如数据库集群,更优良的管理工具和更加自动化的系统优化功能 等提高数据库性能的机制等。
==(注意:以下对于PostgreSQL的介绍基于9.4.9版本)==
PostgreSQL安装(ubuntu14.04)
- 添加源
创建文件/etc/apt/sources.list.d/pgdg.list,在文件中添加以下信息:
deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main
- 更新软件包列表
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | \ sudo apt-key add -sudo apt-get update
- 安装PostgreSQL服务
sudo apt-get install postgresql-9.4
- 安装图形化管理工具
padmin: 这个工具目前只支持9.3,感觉不怎么好用
sudo apt-get install pgadmin3
dbeaver:
下载地址:http://dbeaver.jkiss.org/download/
- 添加新用户和新数据库
新建一个Linux新用户,用于连接数据库,这里为 pguser。
sudo adduser pguser
然后切换到 postgres 用户。
sudo su - postgres
然后使用psql命令登录PostgreSQL控制台。
psql
这时相当于系统用户postgres以同名数据库用户的身份,登录数据库,这是不用输入密码的。如果一切正常,系统提示符会变为”postgres=#”,表示这时已经进入了数据库控制台。以下的命令都在控制台内完成。
使用\password命令,为postgres用户设置一个密码。
\password postgres
创建数据库用户 pguser(刚才创建的是Linux系统用户),并设置密码。
CREATE USER pguser WITH PASSWORD 'password';
创建用户数据库,这里为exampledb,并指定所有者为 pguser。
CREATE DATABASE exampledb OWNER pguser;
将exampledb数据库的所有权限都赋予 pguser,否则 pguser 只能登录控制台,没有任何数据库操作权限。
GRANT ALL PRIVILEGES ON DATABASE exampledb to pguser;
还有一种方式是使用shell命令添加心用户和新的数据库,如下:
创建数据库用户pguser,并指定其为超级用户。
sudo -u postgres createuser --superuser pguser
然后,登录数据库控制台,设置dbuser用户的密码,完成后退出控制台。
sudo -u postgres psql\password pguser\q
创建数据库exampledb,并指定所有者为 pguser。
sudo -u postgres createdb -O pguser exampledb
- 登录数据库
psql -U pguser -d exampledb -h localhost -p 5432
PostgreSQL数据类型
PostgreSQL具有最丰富的数据类型,如下:
数据库基本操作
对于基本的数据库操作就不在这里赘述,由于自己也刚开始接触这个数据哭,这里只是简单介绍一下对于PostgreSQL特有的数据类型array和json的操作以及需要注意的问题。
- 新建表person
CREATE TABLE person( id bigserial, --主键,这里的bigserial类型,会自动生成一个名为"[table_name]_id_seq"的sequence name text, --姓名 hobby _text, --爱好 detail json, --详细介绍 CONSTRAINT person_pk PRIMARY KEY (id));
以上建表语句执行结果如下:
List of relations Schema | Name | Type | Owner --------+---------------+----------+---------- public | person | table | duanjian public | person_id_seq | sequence | duanjian(2 rows)
- 插入数据
执行以下插入语句插入一条数据:
INSERT INTO person (name, hobby, detail)VALUES('zhangsan', array['football', 'basketball', 'pingpong'], '{"age":18, "sex":"男"}'::json);
查看person表中的数据:
=>SELECT * FROM person; id | name | hobby | detail ----+----------+--------------------------------+------------------------ 1 | zhangsan | {football,basketball,pingpong} | {"age":18, "sex":"男"}(1 row)
目前笔者也是刚开始使用这个数据库,感觉数据库确实很强大,只是相关的图形化工具不敢恭维。这一部分就先介绍到这里,后续还会进一步介绍。
- PostgreSQL总结(1) - 数据库简介及安装
- PostGreSQL入门教程(一)- 安装及简介
- postgresql+postgis空间数据库安装总结
- postgreSQL数据库简介
- 自由软件数据库 PostgreSQL 简介
- PostgreSQL数据库简介
- PostgreSQL简介、安装、用户管理、启动关闭、创建删除数据库
- PostgreSQL简介、安装、用户管理、启动关闭、创建删除数据库
- PostgreSQL简介、安装、创建用户、启动关闭、创建删除数据库
- MongoDB数据库简介及安装
- Oracle数据库安装及简介
- MongoDB数据库简介及安装
- 在虚拟机(centos)配置postgresql数据库(1) - 安装篇
- 【数据库】MySQL数据库简介及安装
- postgresql数据库 部分总结
- Win10安装PostgreSQL数据库遇到的问题总结
- linux下Postgresql-9.2安装及数据库的创建过程
- PostgreSQL新手入门,从安装到创建用户及创建数据库
- LVS搭建负载均衡集群服务
- UVA 1371 Period
- python3标准库
- c++11知识点3_chrono时间模板库
- java异常处理和设计
- PostgreSQL总结(1) - 数据库简介及安装
- 【C++简单写Word】(三) 基本操作的实现
- c++11知识点4_std的function的用法
- Java入门到精通---工具篇之Maven概述
- PHP CURL 使用代理访问服务器
- 大家都是程序员,当人家给你尊重,请回馈以尊重
- Maven3路程(三)用Maven创建第一个web项目(1)
- Java String类源码分析
- Android ListView和RecyclerView常见问题