PostgreSQL安装和使用
青岛OJ系统用的关系型数据库是PostgreSQL,为此对PostgreSQL大致了解下。
今天的主要话题围绕下面两个方面:
- PostgreSQL安装
- PostgreSQL使用
一、PostgreSQL安装(以Ubuntu16.04为例)
1.安装命令
apt install postgresql
2.修改 /etc/postgresql/9.5/main/postgresql.conf
将下面 listen_addresses = 'localhost'注释去掉并改为 listen_addresses = '*'
# - Connection Settings -
#listen_addresses = 'localhost'
# what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
... 将下面password_encryption = on 注释打开
#password_encryption = on
3.切换用户su - postgres
4.通过psql 命令进入postgresql客户端
5.修改用户密码
ALTER USER postgres PASSWORD 'youcongtech';
6.vim /etc/postgresql/9.5/main/pg_hba.conf 修改 host all all 192.168.1.0/24 md5 中的ip,为:0.0.0.0/0
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/ trust
host all all 192.168.126.0/ md5
# IPv6 local connections:
host all all ::/ trust
windows安装PostgreSQL:https://www.cnblogs.com/sharpest/p/6225028.html
二、PostgreSQL使用
PostgreSQL官方网站:https://www.postgresql.org/
PostgreSQL中文教程:https://www.yiibai.com/postgresql/
1.介绍PostgreSQL
PostgreSQL是一个功能强大的开源对象关系数据库系统,它使用和扩展了SQL语言,并结合了许多安全存储和扩展最复杂数据工作负载的功能。PostgreSQL的起源可以追溯到1986年,作为加州大学伯克利分校POSTGRES项目的一部分,并在核心平台上进行30多年的积极开发。
PostgreSQL凭借其经过验证的架构,可靠性、数据完整性,强大的功能集,可扩展性以及软件背后的开源社区的奉献精神赢得了良好的声誉,以始终如一地提供高性能和创新的解决方案。PostgreSQL在所有主要操作系统上运行,自2001年以来一直是符合ACID标准的,并且具有强大的附加功能,例如流行的PostGIS地址空间数据库扩展器。毫无疑问,PostgerSQL已成为许多人和组织首选的开源关系数据库。
为什么要使用PostgreSQL
PostgreSQL提供了许多功能,旨在帮助开发人员构建应用程序,管理员保护数据完整性并构建容错环境,并帮助您管理数据,无论数据集有多大或多小。除了免费和开源之外,PostgeSQL还具有高度可扩展性。例如,您可以定义自己的数据类型,构建自定义函数,甚至可以编写来自不同编程语言的代码,而无需重新编译数据库。
PostgreSQL试图符合SQL标准,在这种标准中,这种一致性不会与传统特性相矛盾,或者可能导致糟糕的架构决策。支持SQL标准所需的许多功能,但有时语法或功能略有不同。随着时间的推移,可以预期进一步向一致性迈进。从2018年10月发布的版本11开始,PostgreSQL符合SQL:2011核心一致性的179个强制性功能中的至少160个,在撰写本文时,没有任何关系数据库符合此标准的完全符合性。
下面是PostgreSQL中各种功能的无穷无尽的功能,每个主要版本都添加更多功能:
数据类型
基元:整数,数字,字符串,布尔值
结构化:日期/时间,数组,范围,UUID
文档:JSON / JSONB,XML,键值(Hstore)
几何:点,线,圆,多边形
自定义:复合,自定义类型
数据的完整性
独一无二,不是空的
主键
外键
排除约束
显式锁定,咨询锁定
并发性,性能
索引:B树,多列,表达式,部分
高级索引:GiST,SP-Gist,KNN Gist,GIN,BRIN,覆盖索引,布隆过滤器
复杂的查询计划器/优化器,仅索引扫描,多列统计
交易,嵌套交易(通过保存点)
多版本并发控制(MVCC)
读取查询的并行化和构建B树索引
表分区
SQL标准中定义的所有事务隔离级别,包括Serializable
即时(JIT)表达式汇编
可靠性,灾难恢复
预写日志(WAL)
复制:异步,同步,逻辑
时间点恢复(PITR),主动备用
表空间
安全
身份验证:GSSAPI,SSPI,LDAP,SCRAM-SHA-256,证书等
强大的访问控制系统
列和行级安全性
可扩展性
存储的功能和程序
程序语言:PL / PGSQL,Perl,Python(以及更多)
外部数据包装器:使用标准SQL接口连接到其他数据库或流
许多提供附加功能的扩展,包括PostGIS
国际化,文本搜索
支持国际字符集,例如通过ICU校对
全文检索
您可以在PostgreSQL 文档中发现更多功能。此外,PostgreSQL具有高度可扩展性:许多功能(如索引)都定义了API,因此您可以使用PostgreSQL构建以解决您的挑战。
事实证明,PostgreSQL在可管理的大量数据和可容纳的并发用户数量方面具有高度可扩展性。生产环境中有活跃的PostgreSQL集群可管理数TB的数据,以及管理PB级的专用系统。
本文参考资料:
Ubuntu 16.04 安装使用PostgreSQL最佳指南
PostgreSQL官网
PostgreSQL安装和使用的更多相关文章
- Linux下apache+phppgadmin+postgresql安装配置
Linux下apache+phppgadmin+postgresql安装配置 操作系统:CentOS 安装包:httpd(首选yum), php(包括php以及php-pgsql,php-mbstri ...
- CentOS7 PostgreSQL安装
CentOS7 PostgreSQL安装 CentOS7 PostgreSQL安装 Install 安装 使用yum安装 yum install http://yum.postgresql.org/9 ...
- Ubuntu PostgreSQL安装和配置
一.安装 1.安装 使用如下命令,会自动安装最新版,这里为9.5 sudo apt-get install postgresql 安装完成后,默认会: (1)创建名为"postgres&qu ...
- PostgreSQL安装详细步骤(windows)
原文地址:http://blog.chinaunix.net/uid-354915-id-3498734.html PostgreSQL安装:一.windows下安装过程安装介质:postgresql ...
- CentOS7 PostgreSQL 安装
PostgreSQL安装 安装使用yum安装 (找源 http://yum.postgresql.org/) yum install https://download.postgresql.org/p ...
- windows下postgresql安装失败解决方法:无法运行getlocales.exe
今天要安装postgresql但是安装的时候出现错误 Unknown error while running C:\Users\jinjin\AppData\Local\Temp\postgresql ...
- PostgreSQL安装详细步骤windows
PostgreSQL安装:一.windows下安装过程安装介质:postgresql-9.1.3-1-windows.exe(46M),安装过程非常简单,过程如下:1.开始安装: 2.选择程序安装目录 ...
- windows下postgreSQL安装与启动
转:https://www.yiibai.com/postgresql/install-postgresql.html https://blog.csdn.net/irainreally/articl ...
- 【CentOS】PostgreSQL安装与设定
本教程适合Centos6.7或者RedHat. PostgreSQL安装 1.Postgresql安装包确认 yum list postgresql* postgresql-server.x86_64 ...
随机推荐
- JavaScript 基础(三) - Date对象,RegExp对象,Math对象,Window 对象,History 对象,Location 对象,DOM 节点
Date对象 创建Date对象 //方法1:不指定参数 var date_obj = new Date(); alert(date_obj.toLocaleString()) //方法2:参数为日期字 ...
- 【代码笔记】Web-Javascript-Javascript函数
一,效果图. 二,代码. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...
- 吴恩达机器学习笔记 —— 19 应用举例:照片OCR(光学字符识别)
http://www.cnblogs.com/xing901022/p/9374258.html 本章讲述的是一个复杂的机器学习系统,通过它可以看到机器学习的系统是如何组装起来的:另外也说明了一个复杂 ...
- 33.Odoo产品分析 (四) – 工具板块(4) – 问题追踪及群发邮件营销(1)
查看Odoo产品分析系列--目录 问题追踪 该应用程序允许您管理项目中可能遇到的问题,如系统中的bug.客户投诉或物料故障. 该模块安装后没有菜单显示,而是作为后台管理,接收一些问题报告. 群发邮件 ...
- Flutter 布局(二)- Padding、Align、Center详解
本文主要介绍Flutter布局中的Padding.Align以及Center控件,详细介绍了其布局行为以及使用场景,并对源码进行了分析. 1. Padding A widget that insets ...
- [20190214]11g Query Result Cache RC Latches.txt
[20190214]11g Query Result Cache RC Latches.txt --//昨天我重复链接http://www.pythian.com/blog/oracle-11g-qu ...
- XSS攻击介绍
一.概念 XSS攻击全称跨站脚本攻击,是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS,XSS是一种在web应用中的计算机安全漏洞, ...
- Navicat 连接MySQL数据库 报错2059 - authentication plugin 'caching_sha2_password'的解决办法
#在数据库的命令行中输入以下代码即可解决,密码必须要修改 可以再次执行将密码改回来. use mysql; ALTER USER 'root'@'localhost' IDENTIFIED WITH ...
- c/c++ 标准库 vector
c/c++ 标准库 vector 标准库 vector的小例子 test1~test7 #include <iostream> #include <vector> using ...
- vim 基础命令大全
VIM命令大全 光标控制命令 命令 光标移动h 向左移一个字符j 向下移一行k ...