百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

PostgreSQL教程:开始使用PostgreSQL 16

itomcoil 2024-12-17 13:50 13 浏览

多年来,PostgreSQL一直是企业软件和开源中保存得最好的秘密之一——一个功能强大、强大、专业维护的关系数据库。MySQL可能更广为人知,但PostgreSQL提供了许多MySQL才开始提供的功能。

在本文中,我将介绍设置和运行基本PostgreSQL安装的步骤。大部分讨论都针对的是从头开始的人,但我还将讨论如何从之前的PostgreSQL安装或其他数据库解决方案中迁移数据。本文重点介绍PostgreSQL 16系列版本,截至本文撰写时,PostgreSQL是最新和最新的版本。

如何安装PostgreSQL Windows、Linux和macOS

PostgreSQL以二进制形式适用于所有主要操作系统:Windows的桌面和服务器版本、Linux、macOS和其他一些流行的版本,如Solaris。

总的来说,PostgreSQL的功能在它支持的所有平台上都是一样的。然而,该规则有一些例外,我稍后将详细解释。请记住,这些差异可能会如何影响任何部署或应用程序开发计划。

在Windows上安装PostgreSQL

想要在Windows上设置PostgreSQL的开发人员可以选择由第三方打包的安装程序——从简单的.zip存档到交互式GUI驱动的安装程序。

最“祝福”的选项,即PostgreSQL自己的文档中链接的选项,是EnterpriseDB安装程序。它包括PostgreSQL的图形安装向导,这是一个用于设置数据库及其支持工具的简单分步工具。它还包括“Stack Builder”,这是一个用于下载和安装大量附加工具的工具。这些包括数据库驱动程序、PostgreSQL的其他版本(如果您需要并排运行它们)、EnterpriseDB自己的PostgreSQL附加组件以及PostgreSQL的Slony-I复制系统。对于专家来说,EnterpriseDB还提供了一个简单的.zip存档,只不过是PostgreSQL的Windows二进制文件。

如果您想在Windows上运行PostgreSQL而不安装它或留下任何数据,有一个食谱,尽管有点复杂,可以从其.zipped存档分发版中运行PostgreSQL。这对于在软件安装受到限制的桌面上进行测试非常有用,或者您希望将PostgreSQL工作限制在非系统或可移动驱动器上进行测试。第三方项目PostgreSQL Portable为PortableApps应用程序启动器打包了PostgreSQL的独立版本。不幸的是,自第10版以来,它没有为任何较新版本的PostgreSQL进行过更新。

在Linux上安装PostgreSQL

Linux发行版在软件的安装和维护方式上差异很大,具有不同的软件包管理器、软件包格式和软件存储库理念。PostgreSQL不能免于这些差异,这可能是在您的平台上获取最新版本软件的障碍。

例如,Ubuntu在其APT存储库中维护PostgreSQL的一个版本。您通常可以使用命令apt install postgresql来安装PostgreSQL。如果Ubuntu存储库没有最新版本,您需要将apt.postgresql.org存储库添加到您的repo列表中,并从那里获取PostgreSQL。

Red Hat和Fedora Linux存储库都托管一个版本的PostgreSQL,尽管PostgreSQL的具体版本因发行版而异。Fedora的更新频率比Red Hat高,因此Red Hat的版本可能会滞后。安装最新版本的PostgreSQL for Red Hat或Fedora的最可靠方法是通过交互式下载页面或PostgreSQL的yum存储库直接从PostgreSQL下载安装工件。

Linux上每个主要版本的PostgreSQL的Docker容器映像都可以从Docker Hub获得。请注意,您需要为容器提供持久数据存储的位置;默认位置是/var/lib/postgresql/data。您可以通过编辑PGDATA环境变量来指向不同的位置。

Linux的另一个考虑因素是使用哪个文件系统来存储PostgreSQL数据。最近的基准显示,ext4/XFS总体上是不错的选择。尽管PostgreSQL常见问题引用了ZFS的委派管理和快照功能,但Ubuntu是当今唯一捆绑ZFS的主要Linux发行版;在其他Linux发行版中,您必须自行设置ZFS。

在macOS上安装PostgreSQL

Mac用户经常依赖Homebrew,这是一个适用于macOS的开源软件包管理器,它已成为从命令行在Mac上安装开源项目的实际方式。Homebrew允许您使用一个命令(brew install postgresql)安装PostgreSQL及其所有依赖项。您还可以使用Homebrew安装特定版本的PostgreSQL;例如,要安装PostgreSQL 12,请使用brew install postgresql@12

在macOS上安装PostgreSQL的另一种方式是通过Postgres.app,Postgres.app是将PostgreSQL作为传统Mac应用程序的第三方重新包装。该网站为最新版本的PostgreSQL和所有主要PostgreSQL GUI客户端提供安装程序,如果需要,甚至可以自行更新。Postgres.app还为您执行一些自动预配置,例如初始化数据目录和用户数据库,并捆绑了许多常见工具,如pg_upgrade

Windows上的PostgreSQL连接问题

在Windows上运行PostgreSQL时,需要记住的一大注意事项是PostgreSQL在给定时间可以保持打开的连接数量的文档限制——大约125个。此限制仅适用于作为服务运行的PostgreSQL,而不是从命令行调用。

根据PostgreSQL维基,这是因为一些PostgreSQL依赖项依赖于user32.dll,它从桌面堆中分配内存。由于堆具有固定大小,并且由于每个连接会耗尽一定数量的内存,因此可能会在超过125个连接时发生故障。

也就是说,在大多数使用场景中,连接限制不太可能成为问题,因为很少需要同时与PostgreSQL进行如此多的直接连接。设计良好的应用程序可以使用连接池来避免遇到连接限制。无论如何,连接池是您应该做的事情,以保持与数据库的连接数量与服务器上可用的硬件线程数量相称。

在Linux上配置PostgreSQL

如果您使用上述PostgreSQL的图形安装程序之一,特别是Windows,您将完成运行PostgreSQL安装的所有步骤。然而,使用Linux,在大多数情况下,您需要自己采取这些步骤。

在Fedora Linux上配置PostgreSQL

PostgreSQL包含在Fedora的默认存储库中,因此运行sudo dnf install postgresql-server postgresql-contrib将直接安装这些位。之后,您可能希望在启动时启用PostgreSQL启动:

sudo systemctl enable postgresql

您还需要手动运行PostgreSQL的设置脚本来创建初始数据库:

sudo postgresql-setup --initdb --unit postgresql

设置postgres系统密码;即PostgreSQL服务在以下下运行的帐户密码:

sudo passwd postgres

启动PostgreSQL服务器:

sudo systemctl start postgresql

然后设置postgres内部用户帐户的密码;即用于直接连接到PostgreSQL的帐户。运行psql命令行应用程序连接到PostgreSQL,并发出命令\password postgres(注意前导反斜杠)。

Fedora wiki中提供了许多关于在Fedora Linux上安装PostgreSQL的附加说明,但这些步骤应该足以进行基本设置。

在Ubuntu Linux上配置PostgreSQL

Ubuntu在其默认存储库中包含PostgreSQL,因此设置过程与Fedora相似,但更精简:

默认情况下,PostgreSQL只监听本地系统上的连接。要更改此行为,请编辑file /etc/postgresql/<version>/main/postgresql.conf,其中<version>是PostgreSQL的版本号。然后,在文件中,删除thelistenlisten_addresses参数前面的#,并将其值设置为'*'”。

接下来,设置用户帐户密码。为此,请运行命令sudo -u postgres psql template1连接到PostgreSQL并发出SQL命令:


ALTER USER postgres with encrypted password 'your_password';

安装基本软件包:


sudo apt update
sudo apt install postgresql

要对连接强制执行SHA-256身份验证,请编辑文件/etc/postgresql/*/main/pg_hba.conf。例如,如果我们想为数据库模板1强制执行SSL,用户postgres从给定的地址范围连接,我们将添加这样一行:


hostssl template1    postgres    192.168.122.1/24    scram-sha-256

将PostgreSQL服务设置为自动启动,然后重新启动以使更改生效:


sudo systemctl enable postgresql.service 
sudo systemctl restart postgresql.service

更改用户并连接到服务器进行测试:


sudo -i -u postgres
psql

请注意,这里不需要postgresql-setup步骤。安装过程包含所有必要的触发器。

在PostgreSQL版本之间迁移数据

您将采取的最后一步之一是将数据从PostgreSQL的任何旧实例移动到新实例。从第16版本中,PostgreSQL提供了在升级期间迁移数据的三种主要方法。

pg_upgrade实用程序是在PostrgreSQL版本之间迁移数据的首选方式。当您与旧版本并排安装新版本的PostgreSQL时,通常使用它。您从新安装中运行pg_upgrade,将其指向旧安装,并让它移动数据。pg_upgrade利用PostgreSQL数据格式的点修订之间的一致性来加快迁移过程,因此它不仅是最方便的迁移方式,而且通常是最快的。

执行迁移的另一种方法是使用PostgreSQL复制(例如Slony)。在这里,您可以使用新版本的PostgreSQL为运行旧版本的服务器创建一个备用服务器。这种方法导致最少的停机时间,因为复制发生在后台。复制完成后,您只需将所有连接从旧服务器重定向到新服务器。然而,如果您一开始就没有使用复制,这可能涉及跳过太多障碍。

pg_dumpall实用程序将PostgreSQL服务器的全部内容导出到一个或多个SQL转储文件。然后,生成的脚本或存档文件可以在新服务器上执行或导入到新服务器。也可以并排设置新旧服务器,并使用pg_dumpall在它们之间“管道”转储操作。使用pg_dumpall的最大缺点是它很慢,但它可以作为绝对的回退方法使用。

在Windows、macOS或Linux上安装pgAdmin 4

PostgreSQL的第三方管理工具pgAdmin 4为管理PostgreSQL安装提供了一个有用的Web GUI。

PGADMIN4工具提供了一个方便的基于WEB的界面,用于处理POSTGRESQL实例,包括运行查询。

PGADMIN.ORG网站

虽然它非常有用,但启动和运行该工具有点麻烦,因为它是用Python编写的,并且对该语言有很多依赖项。Windows和macOS用户可以从pgAdmin网站下载pgAdmin 4的二进制安装程序。对于Ubuntu,有一个APT软件包。Ask Ubuntu论坛上还有一个帖子,该帖子运行了安装pgAdmin 4、运行它以及创建启动脚本的便捷快捷方式所需的步骤。对于Fedora和Red Hat,有一个RPM软件包。如果您是Docker用户,您可以通过拉取和使用带有pgAdmin 4及其所有依赖项的Docker容器来避免大部分头痛。

相关推荐

PS小技巧 调整命令,让人物肤色变得更加白皙 #后期修图

我们来看一下如何去将人物的皮肤变得更加的白皙。·首先选中图层,Ctrl键加J键复制一层。·打开这里的属性面板,选择快速操作删除背景,这样就会将人物进行单独的抠取。·接下来在上方去添加一个黑白调整图层,...

把人物肤色提亮的方法和技巧

PS后期调白肤色提亮照片的方法。一白遮百丑,所以对于Photoshop后期来说把人物肤色调白是一项非常重要的任务。就拿这张素材图片来说,这张素材图片人脸的肤色主要偏红、偏黄,也不够白皙,该怎样对它进行...

《Photoshop教程》把美女图片调成清爽色彩及润肤技巧

关注PS精品教程,每天不断更新~~室内人物图片一般会偏暗,人物脸部、肤色及背景会出现一些杂点。处理之前需要认真的给人物磨皮及美白,然后再整体润色。最终效果原图一、用修补工具及图章工具简单去除大一点的黑...

PS后期对皮肤进行美白的技巧

PS后期进行皮肤美白的技巧。PS后期对皮肤进行美白的技巧:·打开素材图片之后直接复制原图。·接下来直接点击上方的图像,选择应用图像命令。·在通道这里直接选择红通道,混合这里直接选择柔光,然后点击确定。...

493 [PS调色]调模特通透肤色

效果对比:效果图吧:1、光位图:2、拍摄参数:·快门:160;光圈:8;ISO:1003、步骤分解图:用曲线调整图层调出基本色调。用可选颜色调整图层调整红色、黄色、白色和灰色4种颜色的混合比例。用色彩...

先选肤色再涂面部,卡戴珊的摄影师透露:为明星拍完照后怎么修图

据英国媒体12月17日报道,真人秀明星金·卡戴珊终于承认,她把女儿小北P进了家族的圣诞贺卡,怪不得粉丝们都表示这张贺卡照得非常失败。上周,这位39岁的女星遭到了一些粉丝针对这张照片的批评,她于当地时间...

如何在PS中运用曲线复制另一张照片的色调

怎样把另一张作品的外观感觉,套用到自己的照片上?单靠肉眼来猜,可能很不容易,而来自BenSecret的教学,关键是在PS使用了两个工具,让你可以准确比较两张照片的曝光、色调与饱和度,方便你调整及复制...

PS在LAB模式下调出水嫩肤色的美女

本PS教程主要使用Photoshop使用LAB模式调出水嫩肤色的美女,教程调色比较独特。作者比较注重图片高光部分的颜色,增加质感及肤色调红润等都是在高光区域完成。尤其在Lab模式下,用高光选区调色后图...

在Photoshop图像后期处理中如何将人物皮肤处理得白皙通透

我们在人像后期处理中,需要将人物皮肤处理的白皙通透,处理方法很多,大多数都喜欢使用曲线、磨皮等进行调整,可以达到亮但是不透,最终效果往往不是很好,今天就教大家一种如何将任务皮肤处理得白皙通透,希望能帮...

PS调色自学教程:宝宝照片快速调通透,简单实用!

PS调色自学教程:宝宝照片快速调通透。·首先复制图层,然后选择进入ACR滤镜,选择曲线锁定照片的亮部,也就高光位置,其他部位补亮一点,尤其是阴影的部位补亮多一些,让画面的层次均匀一点。·然后回到基本项...

【干货】如何利用PS进行人物美化

人物图像美化在Photoshop中非常常用,Photoshop作为一款功能强大的图像处理软件,不仅可以对人像进行基本的调色、美化和修复等处理,还可以改变人物的线条和幅度,如调整脸部器官和脸型的大小、调...

教大家一种可以快速把肤色处理均匀的方法@抖音短视频

快速把肤色处理均匀的方法。今天教大家一种可以快速把肤色处理均匀的方法。像这张照片整体肤色走紫红色,但是局部偏黄缘处理起来非常的麻烦。其实我们只需要新建空白图层,图层混合模式更改为颜色,再选择画笔工具把...

PS调色教程 利用RAW调出干净通透的肤色

要么不发,要么干货。后期教程来噜~用RAW调出干净通透的肤色。这次终于不会原片比PS后好看了吧。如果你依然这么觉得,请不要残忍的告诉我这个事实,泪谢TAT)附送拍摄花絮,感谢各位的支持更多风格请关注m...

photoshop后期皮肤变白的技巧

PS后期皮肤变白的技巧。1.PS后期让皮肤变白的方法有很多种,接下来教你一种非常简单容易上手的方法。2.打开素材图片之后,直接在小太极下拉框的位置添加一个纯色调整图层,颜色设置一个纯白色,点击...

Photoshop调出人物的淡雅粉嫩肤色教程

本教程主要使用Photoshop调出人物的淡雅粉嫩肤色教程,最终的效果非常的通透迷人,下面让我们一起来学习.出自:86ps效果图:原图:1、打开原图复制一层。2、用Topaz滤镜磨皮(点此下载)。3、...