PostgreSQL编程

为表添加列:如果列存不存在则添加

ALTER TABLE tbName ADD COLUMN IF NOT EXISTS colName TEXT;
ALTER TABLE tbName ADD COLUMN IF NOT EXISTS colName timestamp without time zone default null;

更改表名称

表名称最好用双引号引起来,有些web环境执行sql时, 分号有可能成为表名的一部分。

alter table "表名" rename to "新表名"

其他

为何我们从 MongoDB 迁移到 PostgreSQL

使用 MongoDB 的话,基本上你要在 application 层面模拟出一个关系数据库,比如做 join、一堆 if 语句对不同数据类型的处理。还不如一开始就用关系数据库。 文中报告了个数字:换成 Postgres 后,存储空间节省了 10 倍!与其用 NoSQL 来模拟关系数据库,不如用关系数据库来模拟 NoSQL。

从MongoDB迁移到PostgreSQL

Olery团队分享他们从MongoDB迁移到PostgreSQL的原因以及经验。

文章中没讲为什么他们一开始选择了MongoDB,因为schemaless的好处?但他们放弃MongoDB的主要原因就是Schemaless!如果数据的结构变了,而忘了迁移旧的数据,代码中各种bug就会浮现出来。

Postgres听起来不是那么酷,但却是实用的,经得起实践考验的好的数据库,比如Reddit和Instagram的主要数据库就是Postgres。如果你想把RDBMS当成NoSQL用,也是可以的(比如较新版本的Postgres支持JSON type);但反过来把NoSQL当RDBMS用却不行(小打小闹跑着玩是可以,一定规模的production部署就算了)。

在PostgreSQL里使用JSON

旧闻了:Postgres里支持JSON数据类型。但这仍是很激动人心的事情。NoSQL in PostgreSQL。

别以为Postgres很慢

用Redis与Postgres做counter,哪个比较快?快多少?与同时维护多个data store的人力成本比,快那么一丁点值得吗?Human intuition about what might be slow is almost certainly wrong. 这是来自 Postgres 专家 Christophe Pettus 的短博文。他们有个 Postgres 的咨询公司,湾区不少公司都在用,包括被收购以前的 Instagram。 没经验的工程师往往喜欢追求酷炫的新技术,而不考虑维护成本。在 production 中,多引进一样新技术,系统运行中又多了一份风险。我喜欢瑞士军刀型的东西,比如掌握好老套但经得起时间考验的某个关系数据库(mysql或postgres),大部分情况都能应对,所谓千招会不如一招熟。

Twitch 内部如何使用 PostgreSQL

Twitch 的主力 OLTP 数据库用的是 Postgres,本文是难得一见的 Postgres 架构、配置、实战经验的好文。 尤其是搭配 HAProxy 与多个 PGBouncer、zero down time credential rotation 这俩部分。

PostgreSQL 够用吗

世界上绝大部分的网站、线上服务、app 极少数人使用、规模普遍很小,一个 PostgreSQL 足以胜任关系数据库、任务队列、搜索引擎全文索引、NoSQL、存小文件等多种功能,省去学习、维护一堆满满是坑的酷炫分布式系统的时间与烦恼。 湾区日报的后台数据库是 Postgres;全文索引也是 Postgres,因为湾区日报的规模实在太小,不值得花时间去搭 ElasticSearch;我还用 Postgres 做 feature switch、locking、简单的队列等各种 anti-pattern:)

PostgREST

PostgreSQL 数据库的一个扩展,为任意数据库添加 RESTful API 接口。

如何使用 Docker Compose 安装 PostgreSQL(英文)

一篇简短扼要的教程,如何使用 Docker Compose 很方便地安装 PostgreSQL。

Safe Operations For High Volume PostgreSQL

对巨大的数据库 table 进行改动都得十分谨慎,一不小心可能就锁死了整个 table、前端的网站 / app 也跟着挂了。本文针对 Postgres 总结了一些基本注意事项,以及快糙猛的解决方案。

SQLite vs MySQL vs PostgreSQL

SQLite vs MySQL vs PostgreSQL:关系数据库管理系统的比较(英文)

postgresql.conf 详解

PostgreSQL 数据库的配置文件postgresql.conf有270个参数,很难搞清楚该怎么设置。这个网站提供所有参数的详细解释。

psql 教程和备忘录

psql 是 PostgreSQL 数据库的官方命令行客户端,本文是它的一篇简明教程。

DenoDB

一个 Deno 专用的数据库 ORM 库,支持 MySQL、SQLite、MariaDB、PostgreSQL 和 MongoDB。

PostgreSQL 数据库的变化捕获和实时通知(中文)

数据库发生变化时,如何通知前端网页?本文以 PostgreSQL 数据库为例,介绍了作者的解决方案,使用了服务器端事件。(@kaifeiji 投稿)

Postgres.app

MacOS 系统的 PostgreSQL 数据库安装包,并且内置了许多常用插件,号称是在 Mac 上使用 PostgreSQL 的最简单方法。

© Licensed under CC BY-NC-SA 4.0

640K对每一个人来说都已足够 —— 比尔盖茨

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!