PostgreSQL入门简介

 更新时间:2020年12月29日 15:44:46   作者:王者的路注定孤独  
PostgreSQL是一个免费的对象-关系型数据库服务器(ORDBMS),遵循灵活的开源协议BSD。这篇文章主要介绍了PostgreSQL入门简介,需要的朋友可以参考下

PostgreSQL简介

PostgreSQL是一个免费的对象-关系型数据库服务器(ORDBMS),遵循灵活的开源协议BSD。

PostgreSQL开发者将其念作post-gres-Q-L。

PostgreSQL目前是世界上最先进的开源关系型数据库,支持丰富的数据类型(如JSON、JSONB、数组类型及二进制大对象)和自定义类型。提供了丰富的接口。很容易拓展它的功能,如可以在GIST框架下实现自己的索引类型等。

PostgreSQL是完全的事务安全性数据库,完整地支持外键、视图、触发器和存储过程(函数),并支持多种语言开发存储过程,如PL/PGSQL、Perl、Python等。

PostgreSQL对很多高级开发语言有原生的编程接口,如C/C++、Java、.Net、Perl、Python、Ruby、Tcl 和ODBC以及其他语言等。

在中国,瀚高数据库是唯一的PostgreSQL商业发行版公司。

什么是数据库?

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。

每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。

我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。

所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

RDBMS 是关系数据库管理系统,是建立实体之间的联系,最后得到的是关系表。

ORDBMS(对象关系数据库系统)是面向对象技术与传统的关系数据库相结合的产物,查询处理是 ORDBMS 的重要组成部分,它的性能优劣将直接影响到DBMS 的性能。ORDBMS在原来关系数据库的基础上,增加了一些新的特性。

OODBMS 面向对象数据库管理系统,将所有实体都看着对象,并将这些对象类进行封装,对象之间的通信通过消息 OODBMS 对象关系数据库在实质上还是关系数据库 。

一、PostgreSQL数据库安装

 1)YUM安装

* 安装存储库
sudo yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-redhat-repo-42.0-11.noarch.rpm
* 安装客户端
sudo yum install postgresql	  
* 安装服务端
sudo yum install postgresql-server   
* 安装拓展包
sudo yum install postgresql-devel.x86_64 
* 安装附加模块
sudo yum install postgresql-contrib.x86_64 

2)验证postgresql安装

# rpm -qa | grep postgresql
postgresql-libs-9.2.23-3.el7_4.x86_64
postgresql-9.2.23-3.el7_4.x86_64
postgresql-server-9.2.23-3.el7_4.x86_64

3)配置数据库

* 初始化数据库
sudo /usr/bin/postgresql-setup initdb
 
* 启动postgresql服务
sudo systemctl start postgresql
  
* 设置开机自启动
sudo systemctl enable postgresql

* 登录postgresql
su - postgres
psql -U postgres

* 修改postgres用户密码
ALTER USER postgres with encrypted password 'postgres';

4)远程配置 开启远程访问
sudo vi /var/lib/pgsql/data/postgresql.conf

listen_addresses = '*'     # what IP address(es) to listen on;

信任远程连接
sudo vi /var/lib/pgsql/data/pg_hba.conf

# IPv4 local connections:
host  all       all       127.0.0.1/32      trust
host  all       all       192.168.9.139/32    trust

重启postgresql服务
systemctl restart postgresql 5)psql连接 连接命令

psql -d postgres -h 192.168.9.139 -p 5432 -U postgres

6)用户管理

-- 创建用户
CREATE USER admin WITH PASSWORD '123456';	
-- 修改密码
ALTER USER admin with encrypted password 'admin';

连接验证
psql -d postgres -h 192.168.9.139 -p 5432 -U admin

二、数据库操作

1)创建数据库

* 普通创建
  CREATE DATABASE pgdb;

* 创建指定用户数据库
  CREATE DATABASE pgadmindb OWNER admin;	
  GRANT ALL PRIVILEGES ON DATABASE pgadmindb TO admin;

2)删除数据库

* 普通删除
  DROP DATABASE pgdb;

* 判断数据库存在后再删除
  DROP DATABASE IF EXISTS pgdb;

3)其它操作

* 切换数据库
  \c pgdb;

* 退出数据库
  \q

三、数据表操作

1)创建表

CREATE TABLE numerical (
 "a" int4,
 "b" int4
);

2)删除表

DROP TABLE IF EXISTS numerical;

3)加载数据

INSERT INTO numerical (SELECT i, i + 1 FROM generate_series(1, 10000) AS i);

4)清空数据表

truncate table numerical;

5)查询

* 统计查询
SELECT COUNT(1) FROM numerical;

* 累计查询
SELECT SUM(a) FROM numerical;

* 平均查询
SELECT SUM(a)/COUNT(1) FROM numerical;

到此这篇关于PostgreSQL入门简介的文章就介绍到这了,更多相关PostgreSQL入门内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • PostgreSQL运维案例之递归查询死循环解决方案

    PostgreSQL运维案例之递归查询死循环解决方案

    PostgreSQL提供的递归语法是很棒的,例如可用来解决树形查询的问题,解决Oracle用户connect by的语法兼容性,下面这篇文章主要给大家介绍了关于PostgreSQL运维案例之递归查询死循环解决方案的相关资料,需要的朋友可以参考下
    2024-02-02
  • 对Postgresql中的json和array使用介绍

    对Postgresql中的json和array使用介绍

    这篇文章主要介绍了对Postgresql中的json和array使用介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • PostgreSQL数据库迁移部署实战教程

    PostgreSQL数据库迁移部署实战教程

    这篇文章主要介绍了PostgreSQL数据库迁移部署实战教程,由于项目本身就是基于PostgreSQL数据库构建的,因此数据库迁移将变得十分便捷,接下来,我将简要介绍我们的迁移步骤,需要的朋友可以参考下
    2023-07-07
  • postgresql通过索引优化查询速度操作

    postgresql通过索引优化查询速度操作

    这篇文章主要介绍了postgresql通过索引优化查询速度操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • 在Ubuntu中安装Postgresql数据库的步骤详解

    在Ubuntu中安装Postgresql数据库的步骤详解

    PostgreSQL 是一款强大的,开源的,对象关系型数据库系统。它支持所有的主流操作系统,包括 Linux、Unix(AIX、BSD、HP-UX,SGI IRIX、Mac OS、Solaris、Tru64) 以及 Windows 操作系统。本文给大家介绍了在Ubuntu中安装Postgresql数据库的步骤,需要的朋友可以参考下。
    2017-09-09
  • PostgresSql 多表关联删除语句的操作

    PostgresSql 多表关联删除语句的操作

    这篇文章主要介绍了PostgresSql 多表关联删除语句的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • postgres之jsonb属性的使用操作

    postgres之jsonb属性的使用操作

    这篇文章主要介绍了postgres之jsonb属性的使用操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • Postgresql 查询表引用或被引用的外键操作

    Postgresql 查询表引用或被引用的外键操作

    这篇文章主要介绍了Postgresql 查询表引用或被引用的外键操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • PostgreSQL实现批量插入、更新与合并操作的方法

    PostgreSQL实现批量插入、更新与合并操作的方法

    这篇文章主要给大家介绍了关于PostgreSQL实现批量插入、更新与合并操作的相关资料,文中通过图文以及示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-02-02
  • postgres 实现查询某条数据的排名

    postgres 实现查询某条数据的排名

    这篇文章主要介绍了postgres 实现查询某条数据的排名,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12

最新评论