postgresql入门

Download postgresql eBook

备注

本节概述了postgresql是什么,以及开发人员可能想要使用它的原因。

它还应该提到postgresql中的任何大型主题,并链接到相关主题。由于postgresql的文档是新的,您可能需要创建这些相关主题的初始版本。

版本

发布日期 EOL约会
9.6 2016年9月29日 2021年9月1日
9.5 2016年1月7日 2021年1月1日
9.4 情节中字 2019年12月1日
9.3 2013年9月9日 2018年9月1日
9.2 2012年9月10日 2017年9月1日
9.1 2011-09-12 2016年9月1日
9 2010-09-20 2015年9月1日
8.4 2009-07-01 2014年7月1日

如何在OSX上通过MacPorts安装PostgreSQL

要在OSX上安装PostgreSQL,您需要知道当前支持哪些版本。

使用此命令查看可用的版本。

sudo port list | grep "^postgresql[[:digit:]]\{2\}[[:space:]]"
 

您应该得到一个类似于以下内容的列表:

sudo port list | grep "^postgresql[[:digit:]]\{2\}[[:space:]]"
 

在这个例子中,9.6支持最新版本的PostgreSQL,所以我们将安装它。

sudo port list | grep "^postgresql[[:digit:]]\{2\}[[:space:]]"
 

您将看到如下安装日志:

sudo port list | grep "^postgresql[[:digit:]]\{2\}[[:space:]]"
 

该日志提供了有关安装的其余步骤的说明,因此我们接下来会这样做。

sudo port list | grep "^postgresql[[:digit:]]\{2\}[[:space:]]"
 

现在我们启动服务器:

sudo port list | grep "^postgresql[[:digit:]]\{2\}[[:space:]]"
 

验证我们是否可以连接到服务器:

sudo port list | grep "^postgresql[[:digit:]]\{2\}[[:space:]]"
 

你会看到postgres的提示:

sudo port list | grep "^postgresql[[:digit:]]\{2\}[[:space:]]"
 

在这里,您可以键入查询以查看服务器是否正在运行。

sudo port list | grep "^postgresql[[:digit:]]\{2\}[[:space:]]"
 

并看到回应:

sudo port list | grep "^postgresql[[:digit:]]\{2\}[[:space:]]"
 

输入\ q退出:

sudo port list | grep "^postgresql[[:digit:]]\{2\}[[:space:]]"
 

你将回到shell的提示符。

恭喜!您现在在OS / X上有一个正在运行的PostgreSQL实例。

在Linux上从Source安装PostgreSQL

依赖关系:

  • GNU Make Version> 3.80
  • ISO / ANSI C编译器(例如gcc)
  • 像tar或gzip这样的提取器
  • zlib的-devel的
  • readline-devel oder libedit-devel

来源: 链接到最新来源(9.6.3)

现在您可以提取源文件:

tar -xzvf postgresql-9.6.3.tar.gz
 

PostgreSQL的配置有很多不同的选项:

完整链接到完整的安装过程

可用选项的小清单:

  • --prefix=PATH 所有文件的--prefix=PATH 路径
  • --exec-prefix=PATH architectur-dependet文件的--exec-prefix=PATH 路径
  • --bindir=PATH 可执行程序的--bindir=PATH 路径
  • --sysconfdir=PATH 配置文件的--sysconfdir=PATH 路径
  • --with-pgport=NUMBER 指定服务器的端口
  • --with-perl add perl support
  • --with-python 添加python支持
  • --with-openssl 添加openssl支持
  • --with-ldap 添加ldap支持
  • --with-blocksize=BLOCKSIZE 以KB为单位设置pagesize
    • BLOCKSIZE 必须是2的幂并且在1到32之间
  • --with-wal-segsize=SEGSIZE 设置WAL-Segment大小的大小(MB)
    • SEGSIZE 必须是1到64之间的2的幂

进入新创建的文件夹并使用所需选项运行cofigure脚本:

tar -xzvf postgresql-9.6.3.tar.gz
 

运行make 以创建对象文件

运行make install 以从构建的文件安装PostgreSQL

运行make clean 来整理

对于扩展交换机,目录cd contrib ,运行makemake install

在Mac上使用brew安装postgresql

Homebrew称自己是' 缺少macOS包管理器 '。它可用于构建和安装应用程序和库。 安装完成后 ,您可以使用brew 命令安装PostgreSQL及其依赖项,如下所示:

brew update
brew install postgresql
 

Homebrew通常会安装最新的稳定版本。如果您需要另一个,那么brew search postgresql 将列出可用的版本。如果您需要使用特定选项构建的PostgreSQL,那么brew info postgresql 将列出支持哪些选项。如果您需要不受支持的构建选项,则可能必须自己进行构建,但仍可以使用Homebrew来安装公共依赖项。

启动服务器:

brew update
brew install postgresql
 

打开PostgreSQL提示符

brew update
brew install postgresql
 

如果psql抱怨您的用户没有相应的数据库,请运行createdb

在GNU + Linux上安装

在大多数GNU + Linux操作系统上,可以使用操作系统软件包管理器轻松安装PostgreSQL。

红帽家庭

可在此处找到存储库: https ://yum.postgresql.org/repopackages.php

使用该命令将存储库下载到本地计算机

yum -y install https://download.postgresql.org/pub/repos/yum/X.X/redhat/rhel-7-x86_64/pgdg-redhatXX-X.X-X.noarch.rpm
 

查看可用包裹:

yum -y install https://download.postgresql.org/pub/repos/yum/X.X/redhat/rhel-7-x86_64/pgdg-redhatXX-X.X-X.noarch.rpm
 

必要的包是:postgresqlXX postgresqlXX-server postgresqlXX-libs postgresqlXX-contrib

使用以下命令安装它们:yum -y install postgresqlXX postgresqlXX-server postgresqlXX-libs postgresqlXX-contrib

安装后,您将需要以服务所有者身份启动数据库服务(默认为postgres)。这是通过pg_ctl命令完成的。

yum -y install https://download.postgresql.org/pub/repos/yum/X.X/redhat/rhel-7-x86_64/pgdg-redhatXX-X.X-X.noarch.rpm
 

要在CLI中访问DB,请输入psql

Debian家庭

Debian和派生的操作系统上,键入:

yum -y install https://download.postgresql.org/pub/repos/yum/X.X/redhat/rhel-7-x86_64/pgdg-redhatXX-X.X-X.noarch.rpm
 

这将以操作系统的软件包存储库提供的默认版本安装PostgreSQL服务器软件包。

如果默认安装的版本不是您想要的版本,则可以使用包管理器搜索可能同时提供的特定版本。

您还可以使用PostgreSQL项目(称为PGD​​G )提供的Yum存储库来获取不同的版本。这可能允许操作系统软件包存储库尚未提供的版本。

在Windows上安装PostgreSQL

虽然使用基于Unix的操作系统(例如Linux或BSD)作为生产服务器是一种很好的做法,但您可以在Windows上轻松安装PostgreSQL(希望仅用作开发服务器)。

从EnterpriseDB下载Windows安装二进制文件: http//www.enterprisedb.com/products-services-training/pgdownload这是一个第三方公司,由PostgreSQL项目的核心贡献者发起,他们优化了Windows的二进制文件。

选择最新的稳定版(非Beta版)(撰写本文时为9.5.3版)。您很可能需要Win x86-64软件包,但如果您运行的是32位版本的Windows(在旧计算机上很常见),请选择Win x86-32。

注意:在Beta版和稳定版之间切换将涉及复杂的任务,如转储和恢复。在测试版或稳定版中升级只需要重新启动服务。

您可以通过转到控制面板 - >系统和安全 - >系统 - >系统类型来检查您的Windows版本是32位还是64位,这将显示“## - bit Operating System”。这是Windows 7的路径,在其他版本的Windows上可能略有不同。

在安装程序中,选择您要使用的包。例如:

  • pgAdmin( https://www.pgadmin.org )是一个用于管理数据库的免费GUI,我强烈推荐它。在9.6中,这将默认安装。
  • PostGIS( http://postgis.net )提供GPS坐标,距离等地理空间分析功能,非常受GIS开发人员的欢迎。
  • 语言包为官方支持的过程语言PL / Python,PL / Perl和PL / Tcl提供了所需的库。
  • 其他软件包如pgAgent,pgBouncer和Slony对大型生产服务器非常有用,只需根据需要进行检查。

稍后可以通过“Application Stack Builder”安装所有这些可选包。

注意:还有其他非官方支持的语言,如PL / V8PL / Lua PL / Java。

打开pgAdmin并双击其名称连接到您的服务器,例如。 “PostgreSQL 9.5(localhost:5432)。

从这一点开始,您可以按照优秀的书PostgreSQL:Up and Running,2nd Edition( http://shop.oreilly.com/product/0636920032144.do )进行操作。

可选:手动服务启动类型

PostgreSQL在后台运行,与大多数程序略有不同。这在数据库和Web服务器中很常见。它的默认启动类型是自动,这意味着它将始终在没有您输入的情况下运行。

你为什么要手动控制PostgreSQL服务?如果您在某些时候使用PC作为开发服务器,但也使用它来玩视频游戏,那么PostegreSQL可能会在运行时稍微减慢您的系统速度。

你为什么不想手动控制?如果经常这样做,启动和停止服务可能会很麻烦。

如果您没有注意到速度上的任何差异并且更愿意避免麻烦,那么将其“启动类型”保留为“自动”并忽略本指南的其余部分。除此以外...

转到“控制面板” - >“系统和安全” - >“管理工具”。

从列表中选择“服务”,右键单击其图标,然后选择“发送到” - >“桌面”以创建桌面图标,以便更方便地访问。

关闭“管理工具”窗口,然后从刚刚创建的桌面图标启动“服务”。

向下滚动,直到看到名为postgresql-x ## - 9.#的服务(例如“postgresql-x64-9.5”)。

右键单击postgres服务,选择Properties - > Startup type - > Manual - > Apply - > OK。您可以轻松地将其更改回自动状态。

如果您在列表中看到其他PostgreSQL相关服务,例如“pgbouncer”或“PostgreSQL Scheduling Agent - pgAgent”,您也可以将其启动类型更改为手动,因为如果PostgreSQL没有运行它们就没有多大用处。虽然这对你每次开始和停止都会更麻烦,所以这取决于你。它们不会使用与PostgreSQL本身一样多的资源,也不会对您的系统性能产生任何明显的影响。

如果服务正在运行,其状态将显示为“已启动”,否则它将无法运行。

要启动它,请右键单击并选择“开始”。将显示加载提示,并且很快就会消失。如果它给你一个错误,请再试一次。如果这不起作用,那么安装会出现一些问题,可能是因为您在Windows中更改了一些设置,大多数人都没有更改,因此找到问题可能需要进行一些调查。

要停止postgres,请右键单击该服务,然后选择“停止”。

如果在尝试连接到数据库时遇到错误,请检查服务以确保其运行。

有关EDB PostgreSQL安装的其他非常具体的细节,例如特定PostgreSQL版本的官方语言包中的python运行时版本,请始终参考官方EBD安装指南 ,将链接中的版本更改为安装程序的主要版本。

适用于Mac OSX的Postgres.app

可以通过下载Postgres.app获得在Mac上安装PostgreSQL的极其简单的工具。
您可以更改首选项以使PostgreSQL在后台运行或仅在应用程序运行时运行。

Stats

672 Contributors: 19
Wednesday, July 12, 2017
许可下: CC-BY-SA

不隶属于 Stack Overflow
Rip Tutorial: info@zzzprojects.com

下载电子书