postgresql 订阅
PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。POSTGRES的许多领先概念只是在比较迟的时候才出现在商业网站数据库中。PostgreSQL支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等。同样,PostgreSQL也可以用许多方法扩展,例如通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言等。另外,因为许可证的灵活,任何人都可以以任何目的免费使用、修改和分发PostgreSQL。 [1] 展开全文
PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。POSTGRES的许多领先概念只是在比较迟的时候才出现在商业网站数据库中。PostgreSQL支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等。同样,PostgreSQL也可以用许多方法扩展,例如通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言等。另外,因为许可证的灵活,任何人都可以以任何目的免费使用、修改和分发PostgreSQL。 [1]
信息
外文名
PostgreSQL
领    域
计算机技术
开发机构
加州大学伯克利分校
中文名
PostgreSQL
功    能
数据管理
特    性
复杂查询、外键、触发器
PostgreSQL简述
PostgreSQL是一个功能非常强大的、源代码开放的客户/服务器关系型数据库管理系统(RDBMS)。PostgreSQL最初设想于1986年,当时被叫做Berkley Postgres Project。该项目一直到1994年都处于演进和修改中,直到开发人员Andrew Yu和Jolly Chen在Postgres中添加了一个SQL(Structured Query Language,结构化查询语言)翻译程序,该版本叫做Postgres95,在开放源代码社区发放。1996年,再次对Postgres95做了较大的改动,并将其作为PostgresSQL6.0版发布。该版本的Postgres提高了后端的速度,包括增强型SQL92标准以及重要的后端特性(包括子选择、默认值、约束和触发器)。PostgreSQL是一个非常健壮的软件包,有很多在大型商业RDBMS中所具有的特性,包括事务、子选择、触发器、视图、外键引用完整性和复杂锁定功能。另一方面,PostgreSQL也缺少商业数据库中某些可用的特性,如用户定义的类型、继承性和规则。从用户的角度来讲,PostgreSQL惟一不具备的主要特性就是外部连接,在今后的版本中会将其加入。PostgreSQL提供了两种可选模式。一种模式保证如果操作系统或硬件崩溃,则数据将保存到磁盘中,这种模式通常比大多数商业数据库要慢,这是因为它使用了刷新(或同步)方法;另一种模式与第一种不同,它不提供数据保证,但它通常比商业数据库运行得快。遗憾的是,还没有一种折中的模式:既提供一定程度的数据安全性,又有较快的执行速度。今后的版本将会提供这种模式。 [2] 
收起全文
精华内容
参与话题
问答
  • PostgreSQL

    千次阅读 2019-03-01 09:59:12
    PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,现在已经更名为PostgreSQL,版本 4.2为基础的对象关系型数据库管理系统(ORDBMS)。PostgreSQL支持大部分 SQL标准并且提供了许多其他现代特性:复杂查询...
    PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,现在已经更名为PostgreSQL,版本 4.2为基础的对象关系型数据库管理系统(ORDBMS)。PostgreSQL支持大部分 SQL标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、MVCC。同样,PostgreSQL 可以用许多方法扩展,比如, 通过增加新的数据类型、函数、操作符、聚集函数、索引。免费使用、修改、和分发 PostgreSQL,不管是私用、商用、还是学术研究使用。
    优点 为了便于客户端的程序的编写,由数据库服务器提供了统一的客户端 C 接口。而不同的客户端接口都是源自这个 C 接口,比如ODBC,JDBC,Python,Perl,Tcl,C/C++,ESQL等, 同时也要指出的是,PostgreSQL 对接口的支持也是非常丰富的,几乎支持所有类型的数据库客户端接口。这一点也可以说是 PostgreSQL 一大优点。
    一、安装

    环境版本: CentOS 7.4

    https://www.postgresql.org/ftp/source/ 从这里下载所需要的二进制安装包
    我这里以 10.5作为示范
    postgresql安装需要readline库的支持
    yum install -y readline-devel.x86_64(我这里设置的本地yum源)
    tar -xf postgresql-10.5.tar.gz 解压
    ./configure 检查环境
    make
    make install 编译
    systemctl start postgresql.service
    启动报错
    Process: 45015 ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGDATA} (code=exited, status=1/FAILURE)
    需要初始化数据库
    postgresql-setup initdb
    systemctl restart postgresql 启动数据库
    systemctl status postgresql 查看状态已经启动 安装完成

    展开全文
  • PostgreSql

    2016-01-04 23:50:55
    PostgreSQL Overview PostgreSQL has extensive and good help that should be the first source of information regarding this database product. This page outlines main differences to generic PostgreSQ

    PostgreSQL Overview

    PostgreSQL has extensive and good help that should be the first source of information regarding this database product. This page outlines main differences to generic PostgreSQL installation used by Debian.

    Installation

    Required packages: postgresql postgresql-client

    # apt-get install postgresql postgresql-client

    Recommended packages:

    • postgresql-doc - PostgreSQL documentation.
    • pgadmin3 - PostgreSQL administration GUI.
    • phppgadmin - PostgreSQL web-based administration tool.

    Please note that the procedural languages are installed separately (plpgsql comes by default). Perform search packaging database to find the list of possibilities:

    # aptitude search postgresql

    User access

    Both the default database user and default database are called postgres.

    You may connect to the database using the following command:

    # su - postgres
    $ psql

    New User and database

    Create a regular system user account using adduser (skip this step to use an existing account):

    # adduser mypguser    #from regular shell

    Connect to database

    # su - postgres
    $ psql

    Create a new database user and a database:

    postgres=# CREATE USER mypguser WITH PASSWORD 'mypguserpass';
    postgres=# CREATE DATABASE mypgdatabase OWNER mypguser;

    or

    # createuser mypguser    #from regular shell
    # createdb -O mypguser mypgdatabase

    Quit from the database

    postgres=# \q

    Connect as user mypguser to new database

    # su - mypguser
    $ psql mypgdatabase

    or

    # psql -d mypgdatabase -U mypguser

    If you get errors like:

    psql: FATAL:  Ident authentication failed for user "mypguser"

    edit pg_hba.conf in /etc/postgresql/X.Y/main/pg_hba.conf

    local   all         all                               trust     # replace ident or peer with trust

    reload postgresql

    # /etc/init.d/postgresql reload

    Documentation

    To get an overview about Debian's PostgreSQL architecture, instructions for a quick start, and pointers to the programs and manpages, have a look at /usr/share/doc/postgresql-common/README.Debian.gz.

    Tutorial files

    PostgreSQL documentation points to tutorial, which is included in postgresql-doc package. To get more information look at /usr/share/doc/postgresql-doc-[version]/tutorial/README.

    Listing existing database clusters

    Use pg_lsclusters command to check installed clusters and obtain some basic information such as: version (major version), name, port, status (online or down), owner, data directory and log file.

    pg_lsclusters

    pg_ctl replacement

    pg_ctl is a PostgreSQL command line control program that can be used to control the database. Debian has made a Perl-wrapper for the pg_ctl called /usr/bin/pg_ctlcluster. Use the pg_ctlcluster whenever you need the pg_ctl. To customize the behavior check the /etc/postgresql/[version]/[cluster]/pg_ctl.conf

    Debian installs SysV-init compatible (standard) start-up script /etc/init.d/postgresql-[version]. It can be used to start, stop, restart and reload the system. It calls pg_ctlcluster internally.

    File locations

    Debian splits the database configuration from the database files, opposed to generic PostgreSQL installation that puts everything under same directory. Note that Debian allows multiple clusters and even different versions of PostgreSQL to co-exist in same host.

    Configuration files: /etc/postgresql/[version]/[cluster]/
    Binaries: /usr/lib/postgresql/[version]
    Data files: /var/lib/postgresql/[version]/[cluster]

    Log files: Installing PostgreSQL creates log directory /var/log/postgresql/. Starting the database engine creates log file with name postgresql-[version]-[cluster].log.

    Changing Debian default installation

    Debian PostgreSQL installation automatically calls the initdb i.e. it initializes the cluster with default encoding and locale. Encoding can be changed later but the locale cannot. To change the locale (an possibly other options in initdb), delete the existing default cluster and create a new one:

    1. Take root privileges.
    2. Run the following command:
      pg_dropcluster --stop <version> main
      For example:
      pg_dropcluster --stop 8.3 main
    3. Run the initdb with your options. For example:
      pg_createcluster --locale de_DE.UTF-8 --start 8.3 main

    Warning!

    The previous operation obviously deletes everything you had in cluster databases. Perform this operation right after you have installed the base package. Check the PostgreSQL manual if you need to change locale for an existing database (it is not a trivial operation).

    展开全文
  • 执行计划查看命令 explain[(option[,…])] explain [analyze][verbose]statement 可选的option选项有: analyze[boolean]:得到statement的真实运行时间。默认是false verbose[boolean]:得到statement语句的执行...

    执行计划查看命令

    explain[(option[,…])]
    explain [analyze][verbose]statement
    可选的option选项有:

    • analyze[boolean]:得到statement的真实运行时间。默认是false
    • verbose[boolean]:得到statement语句的执行计划和执行计划中的每个节点的详细信息。默认为false
    • costs[boolean]:得到计划中每个接地哪的cost,rows,width的估算值,默认为true
    • buffers[boolean]:analyze出现时可选。缓存的使用情况
      共享缓存(shared blocks)的hit,read,dirtied,written数值
      本地缓存(local blocks)的hit,read,dirtied,written数值
      临时快(temp blocks)的read,written数值
    • timing[boolean]:analyze出现时可选。显示每个节点的启动时间和总时间花费。默认true
    • format{text|xml|json|yaml}:指定执行计划的输出格式
      text:默认值。以行为单位,显示每个结点的计划信息,以缩进格式表示子节点的计划信息。buffers参数时的文本格式,只输出非零值
      xml:xml格式
      json:json格式
      yaml:以yaml格式显示执行计划

    常用组合 

    一般查询
    explain analyze select … ;
    
    查询缓存及详细信息
    explain (analyze,verbose,buffers) select … ;
    
    针对更新插入删除的执行计划查询
    begin;
    explain analyze insert/update/delete … ;
    rollback;
    

     

    查询计划解读

    关键字

    • cost:重要的指标。cost=0.00…16.11有两个部分,启动时间=0.00 和总时间=16.11。单位是毫秒。这个指标也只是预测值。启动时间也有解释为找到符合条件的第一行所花的时间。
    • rows:返回的行数,如果执行vacuum和analyze那么返回的结果更加接近实际值
    • width:查询结果所有字段的总宽度,并非关键指标。
    • actual time:实际花费的时间。
    • loops:循环的次数
    • buffers:缓冲命中数
    • output: 输出的字段名
    • planning time: 生成执行计划时间
    • execution time:执行执行计划时间

    阅读顺序

    • 嵌套层次最深的,最先执行
    • 同样嵌套深度的,从上到下,先予执行
    • 每一步的cost包括上一步

    节点 

    • Seq Scan: 表扫描
    • Index Scan:索引扫描(读取索引块,然后读取数据文件)
    • Index Only Scan:索引只读扫描(只读取索引文件,根据映射文件获取数据)
    • Nested [(type)] Loop:嵌套循环连接。type可能是Inner,left,right,full,semi,anti。inner的可以显示省略
    • Merge[(type)] Join 归并连接。type同上
    • Hash[(type)] Join:哈希连接。type同上
    展开全文
  • PostgreSQL是以加州大学伯克利分校计算机系开发的POSTGRES,现在已经更名为PostgreSQL. PostgreSQL支持大部分SQL标准并且提供了许多其它现代特性:复杂查询、外键、触发器、视图、事务完整性等。   PostgreSQL...
  • PostgreSQL是以加州大学伯克利分校计算机系开发的POSTGRES,现在已经更名为PostgreSQL. PostgreSQL支持大部分SQL标准并且提供了许多其它现代特性:复杂查询、外键、触发器、视图、事务完整性等。   PostgreSQL...
  • 但是说,postgresql这货很坑,想用group by这个东西就必须把select list 里面的字段都排一边才不报错,求大神破! SELECT rank() over(order by t8.Gis_cell_s2t_class ASC, t8.distance_b asc), t8.S_CGI, ...
  • SpringBoot连接使用PostgreSql数据库

    万次阅读 2018-10-23 20:47:33
    在这里我使用SpringBoot配置Mybaits连接到PostgreSql数据库的。我的源码也会提供给大家(此文末尾),效果如下 数据库: 运行效果: 2、安装软件及依赖包 完整搭建SpringBoot及依赖包:...

    目录

    一、介绍

    1、情况说明

    2、安装软件及依赖包

     二、配置

    连接数据库

    其他情况


    一、介绍

    此次更新时间:2020-10-28,现在是上班时间,偷更一下。其实使用IDEA的话无需配置Maven什么的,如果你们公司不是强制要求使用Eclipse的话,只需要有个JDK的环境即可,IDEA自带了一个版本的Maven,还是挺新的,目前IDEA最新版2.2.3的版本。我们也不用按照下面这个步骤去下载Spring Initializr,我们在IDEA中新建项目选择到Maven就行了,干净简洁。

          目前在Resources目录下的application大多数是使用yml语法了。现在已经太长时间没有接触过 postgresql了,长期使用MySQL,只要数据量在几百万,加加索引,优化SQL工作量还是不大,而且外面的公司还是比较愿意使用MySQL的,我面试别人的时候,也不会问什么乱七八糟的数据库,考虑到公司的业务和生成报表相关,对于SQL优化非常重视,所以数据库只问MySQL。

    这篇文章是初次接触 PostgreSQL 时所写,从MyBatis 1.3.2 的版本大家也能看的出来,本来写了个简单的CRUD的DEMO,结果时间太久找不到了。

    1、情况说明

    在这里我使用SpringBoot配置JPA连接到PostgreSql数据库的。源码也会提供给大家(此文末尾),效果如下

    数据库:

    运行效果:

    2、安装软件及依赖包

    完整搭建SpringBoot及依赖包:https://blog.csdn.net/qq_41647999/article/details/83214100

    需要的SpringBoot代码从Spring官网下载:https://start.spring.io/

    Mybaits官网:http://www.mybatis.org/mybatis-3/

    最关键的地方是在依赖包那里,需要引用Mybaits和PostgreSql的包。

    什么是JPA 和 Mybaits?

    两者都是基于JDBC做了连接持久化的两个开源框架,jdbc不陌生吧,每次连接都要创建实例,执行完sql之后还要关闭连接实例,做了持久化之后,就会大大降低IO的开销。JPA不用自己写SQL,mybatis按理来说是需要自己写SQL的(使用通用Mapper或者Mybatis plus 也能不写SQL),各有各的好处。

     

    将下载的项目解压出来。

     二、配置

    如果您的环境配置和我搭建SpringBoot的博文一样的话,用eclipse打开项目。

    连接数据库

    //数据库的地址以及端口号
    spring.datasource.url=jdbc:postgresql://localhost:5432/postgres
    //账号(默认为postgres)
    spring.datasource.username=postgres
    //密码
    spring.datasource.password=123456ok
    spring.datasource.driverClassName=org.postgresql.Driver
    spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
    spring.jpa.properties.hibernate.hbm2ddl.auto=update

    其他情况

    当然如果您的项目是按照上面的链接搭建的,也可以通过在pom.xml中添加代码,如图。

    这里需要注意的一点是,要清楚您使用的Mybaits的依赖包是否符合!

    <dependency>
    	    <groupId>org.postgresql</groupId>
    	    <artifactId>postgresql</artifactId>
    	    <scope>runtime</scope>
    	</dependency>

    积分下载地址:https://download.csdn.net/download/qq_41647999/10739833

    如果没有积分,百度云链接:https://pan.baidu.com/s/15UBAeg68mTIaQOy9ES7_Mw提取码:1uuo

    展开全文
  • PostgreSQLPostgreSQL的安装和配置

    万次阅读 2015-11-17 00:55:36
    一、在CentOS上安装PostgreSQL数据库 下面我们就以CentOS系统为例,给大家讲解一下PostgreSQL的安装过程。 1.使用yum安装postgresql 2.初始化postgresql数据库 [pengchengxiang@localhost ~]$ sudo service ...
  • postgresql 安装教程 带图 on windows

    千次阅读 2015-12-26 11:22:18
    第一步 去官网下载最新版PostGresql 安装版 (这次版本选择 9.4.5 ) http://www.postgres.cn/download (中国postgresql社区网址) http://www.enterprisedb.com/products-services-training/pgdownload(postgresql...
  • Postgresql使用及维护

    千人学习 2018-12-24 13:58:32
    基于开源Postgresql V9x V10版本,系统梳理技术知识,面向PG广大爱好者和使用者提供PG技术分享系列视频,共同学习交流。 通过本课程,可以熟悉PG的使用及日常维护,包括安装部署、数据库及对象管理、角色权限、备份...
  • PostgreSQL 全球开发组于 2020 年 9 月 24 日宣布 PostgreSQL 13正式发布。接下来我会通过一系列文章为大家解析这个新版本带来的功能增强,本文先给大家介绍一个与 SQL 开发相关的新特性:FETCH FIRST 子句增加了...
  • 可靠性是PostgreSQL的最高优先级。它以坚如磐石的品质和良好的工程化而闻名,支持高事务、任务关键型应用PostgreSQL的文档非常精良,提供了大量免费的在线手册,还针对旧版本提供了归档的参考手册。Sql语气类似Mysql...
  • postgreSQL笔记

    万次阅读 2020-09-04 09:32:46
    【1】postgreSQL介绍 【2】Ubuntu 安装 PostgreSQL 【1】postgreSQL介绍 ### PostgreSQL相对于MySQL的优势 1.不仅仅是关系型数据库,除了存储正常的数据类型外,还支持存储:array、json(hStore)和jsonb。 2....
  • QGIS连接PostgreSQL

    千次阅读 2019-04-03 12:04:19
    QGIS可以与PostgreSQL等数据库直接连接。 打开QGIS - 右键PostGIS - 选择New Connection 。 弹出对话框 Create a New PostGIS Connection - 填写其中的Name, Host, Port, Database,用户名和密码 - 点击按钮...
  • PostgreSQL物化视图

    千次阅读 2017-09-11 12:06:03
    PostgreSQL物化视图简介物化视图是关系型数据库中很重要的一个功能,不同于一般视图,物化视图会将试图内容物理保存在数据库中。此功能最早出现在oracle 9i版本中,MySQL要使用物化视图则需要安装flexviews插件; ...
  • PostgreSQL表继承

    千次阅读 2018-09-15 16:36:49
    PostgreSQL支持表继承,这是它特有的功能。 1.建表  例:创建person表作为父表,student表是继承它的子表。 CREATE TABLE person ( id int, name varchar(20) ); CREATE TABLE student ( classId int )...
  • PostgreSQL 新手入门

    千次阅读 2017-04-22 19:38:51
    PostgresQL是以加州大学伯克利分校计算机系开发的 POSTGRES,现在已经更名为PostgreSQL,版本 4.2为基础的对象关系型数据库管理系统(ORDBMS)。PostgreSQL支持大部分 SQL标准并且提供了许多其他现代特性:复杂查询...
  • jdbc连接postgresql

    千次阅读 2015-08-31 11:08:23
    关于jdbc连接postgresql的demo。
  • PostgreSQL表空间

    千次阅读 2018-09-17 17:34:15
    PostgreSQL中,表空间实际上是为表指定一个存储目录。  创建表空间 CREATE TABLESPACE tbs location 'D:\sqlTest';  创建数据库时,指定默认的表空间,以后在该数据库中创建表、索引时,就可以自动存储到这...
  • Django设置Postgresql

    千次阅读 2015-09-21 10:06:06
    这里假定Postgresql数据库已经装好。首先安装依赖的包$ sudo yum install python-devel postgresql-devel如果使用virtualenv,先source一下virtualenv下的“ . bin/activate”,然后运行$ pip install psycopg2修改...
  • PostgreSQL常用命令

    千次阅读 2014-09-17 10:10:17
    昨天安装好PostgreSQL,今天开始学习使用。
  • PostgreSql简介

    万次阅读 2019-04-22 14:47:42
    关于PostgreSQL: 1.什么是PostgreSqlPostgreSQL是一个功能强大的开源对象关系型数据库系统,他使用和扩展了SQL语言,并结合了许多安全存储和扩展最复杂数据工作负载的功能。PostgreSQL的起源可以追溯到1986年...
  • 本套程序是在VS2005下C#开发,利用PostgreSQL作为数据库。 本程序的重点是如何利用C#对PostgreSQL数据库进行操作,PDatabase.cs是一个完整的操作类,role是角色表的操作类,程序采用三层架构模型。 在对PostgreSQL...
  • postgresql 字符串排序时,如果字符串为空 就不进行排序 比如一个字段 mobile 升序排列,排序后的数据,前几行是空字符串,后几行也是空字符串 降序排列,排序后的数据,前几行是空字符串,后几行也是空字符串 ...
  • window 10系统下 用postgresql9.4 远程连接阿里云服务器上的postgresql连不上报这个错误,但是我在同一网络下window 7 下能正常连接这个服务器 请大神们指点 ![图片说明]...
  • postgresql字符集问题

    2015-12-11 01:33:18
    win7系统新装了个PostgreSql,通过vb.net也成功与数据库交互了,但是数据库中的中文部分,在客户端拿到的是乱码。 客户端inset的字段中有中文会提示错误:22021。 应该是字符集问题。 请问: 1.是否应该在客户端控制...
  • 按照百度卸载postgresql apt-get --purge remove postgresql\* rm -r /etc/postgresql/ rm -r /etc/postgresql-common/ rm -r /var/lib/postgresql/ userdel -r postgres groupdel postgres 之前安装的是postgresql ...
  • PostgreSQL 11 新特性

    万次阅读 2018-09-19 15:43:25
    PostgreSQL 全球开发组预计 2018 年底发布最新的 PosgtreSQL Release 11。在官方的发行说明中,介绍了该版本带来的新特性和增强功能。
  • PostgreSQL之Windows 安装卸载PostgreSQL

    千次阅读 2018-12-06 11:50:17
    文章目录1、下载2、安装3、卸载4、PostgreSQL入门命令行登陆psql执行SQL语句创建数据库退出psql连接数据库shop 环境:windows10 64位 1、下载 下载地址:https://www.postgresql.org/download/ 根据需要选择合适...

空空如也

1 2 3 4 5 ... 20
收藏数 67,691
精华内容 27,076
热门标签
关键字:

postgresql