学习PostgreSQL需要多长时间?

Che*_*erL 4 postgresql learning

我想学习 PostgreSQL 以及如何使学习过程高效,但我真的不知道即使在谷歌搜索我的问题后需要多长时间。

我之前用过 MySQL,知道关系型数据库。但是,我想使用 PostgreSQL 来实现我的 Web 后端数据库管理系统。我想要足够的知识来做这件事,设计不丑陋的结构,编写不丑陋的代码,就像我以前在另一个 Web 应用程序项目中使用 MySQL 一样。

我不是问具体时间,但至少我想在我的脑海里画一个草图。我需要投入多少精力?我会遇到什么样的问题?你学到的任何经验教训可以分享吗?

非常感谢!

Bas*_*que 9

作为开发人员,而不是全职 DBA,我在一些工作中使用 Postgres。但这不是我的重点。我发现 Postgres 在开始时非常混乱和令人沮丧。在长期使用4D 之后,我是关系数据库设计和规范化方面的专家,但还是 SQL 和“黑盒”数据库引擎的新手。以下是对我有帮助的资源列表。

我将 Postgres 视为一种需要掌握的产品,例如新的 IDE 或电子邮件客户端应用程序。我认为它更像是一个计算机系统,需要一点一点地探索。有些领域我可能永远不会接触(PostGIS、地理数据),而其他领域对我来说至关重要(UUID 数据类型XML 数据类型日期时间数据类型)。

? 所以我认为“学习 Postgres”不是一个要完成的目标,而是一个持续的过程。

我对 Postgres 了解得越多,就越给我留下深刻印象和敬畏。花费了一些时间和精力,但现在我??(蓝象)。

提示

智能默认值

如有疑问,请使用 Postgres 的默认值。

UTF-8

“智能默认”提示的一个例外:几乎总是最好将UTF-8指定为字符编码。在安装 Postgres 时这样做,因为这定义了以后创建数据库时的默认值。创建数据库时,请验证是否UTF-8正在使用编码。

安全

Postgres 旨在将安全性作为优先事项。默认情况下,您只能从在同一台机器上本地运行的进程/应用程序进行连接。您必须更改安全配置才能通过本地网络或 Internet 进行连接。

安装人员

要开始,您必须安装 Postgres。主要的 3 种方法:

  • 从源代码编译。
  • 作为对社区的礼貌,下载由EnterpriseDB构建和提供的易于使用的安装程序。他们为他们的商业增强版 Postgres以及适用于 Mac OS X、Linux 和 Windows 的普通免费Postgres提供安装程序。
  • 对于 Mac OS X 用户,Postgres.app是另一种选择,一个可双击的 Mac 应用程序。

在某些托管服务器(例如 Heroku 或 Amazon)上,主机可能会代表您提供启动 Postgres。所以在这种情况下不需要安装。

关于卸载:

客户端服务器

Postgres 是一个黑匣子,将您的数据隐藏在里面。要访问,您必须使用实用工具连接到 Postgres 守护进程。要开始使用,请使用 Postgres 安装中通常包含的这些工具中的任何一个。

  • 用于 GUI 应用程序访问的pgAdmin
  • 用于命令行访问的psql

虚拟机

在玩或试验 Postgres 时,我建议使用虚拟机,以便您以后可以将其丢弃。Postgres 是一个非常繁重的安装,创建了一个新的 Unix 级别用户。完全删除 Postgres 可能有点棘手。

当地的

我将Parallels 9、10 和 11 用于运行Mac OS X Mountain LionEl Capitan 的虚拟机,以安装各种版本的 Postgres 9.*。在 Mac 上,除了 Parallels 之外,您还可以使用VMware FusionOracle VirtualBox

另一种途径是云服务器。按小时租赁可能相当便宜,可能在一便士(0.01 美元)或镍或一角钱的范围内。您应该能够在完成后或想要从头开始使用新的虚拟机时删除您的虚拟机。示例包括DigitalOceanHerokuAmazon

面对面的资源

PUG

找一个PUG。不是,是 Postgres 用户组。搜索MeetUp.com并搜索此列表

参加每次会议。即使您无法完全理解,也让讨论淹没您。Postgres 有许多特性、附加组件和相关产品。Postgres 有很多深度。所以不要指望掌握Postgres,继续寻找使用它的方法。

如果您在附近找不到一个,请开始一个。

专家

了解一些慷慨分享知识的 Postgres 专家的名字。他们说话时要特别注意。例如,本页上的Craig Ringer。其他示例,Josh BerkusBruce MomjianDavid E. WheelerSelena Deckelmann

活动

星期日

您可以在世界各地找到为期一天的“pgDay”活动以及多天的 Postgres 会议。例如,法国布拉格印度芬兰新加坡。请参阅此列表

多日会议

在北美,为期数天的会议包括:

其他活动

您通常也可以在其他极客活动中找到 Postgres 展位。

例如,明年 4 月在美国华盛顿州贝灵厄姆(西雅图以外)举行的2016LinuxFest NorthwestSeaPUG展位上做志愿者时拜访我。Postgres 咨询公司过去曾有过展位。

在线资源

Postgres 周刊

阅读Postgres Weekly,精选的 Postgres 相关文章和新闻的集合。由专家Craig Kerstiens策划。每周出版,故名。

邮件列表

订阅Postgres 邮件列表

我发现浏览每周发布的PostgreSQL Weekly News电子邮件很有启发性,其中描述了该周的工作,包括提交的补丁列表。发布在公告列表上。所有的细节都超出了我的理解,但我还是越来越熟悉了。我对 Postgres 的许多不同功能有了一些了解。我了解到团队对他们的工作有多认真,并强调可靠的质量。

Planet Postgres,博客门户

Planet Postgres是 Postgres 相关博客的整合者。


Cra*_*ger 6

如果您使用过另一个 RDBMS,很快就可以达到合理的速度。阅读一些关于 MySQL 用户的 PostgreSQL 指南,以帮助您适应序列 vs auto_increment、ANSI 标准引用(尽管您应该已经在 MySQL 中使用它)、更严格的数据类型检查、身份验证和角色的工作方式、psql反斜杠命令而不是MySQL的SHOW TABLES等。

大量资源在那里。谷歌还有很多很多。

如果您在 ANSI STRICT 模式下运行 MySQL,则迁移到 PostgreSQL 的麻烦会更少。

如果您正在设置复制和故障转移,以及管理备份等,则需要更多的学习,因为它们与 SQL 级别的接口有很大不同。