{"id":4880,"date":"2014-10-29T20:12:06","date_gmt":"2014-10-29T12:12:06","guid":{"rendered":"http:\/\/www.orczhou.com\/?p=4880"},"modified":"2023-09-07T09:25:42","modified_gmt":"2023-09-07T01:25:42","slug":"first-sight-postgresql","status":"publish","type":"post","link":"https:\/\/www.orczhou.com\/index.php\/2014\/10\/first-sight-postgresql\/","title":{"rendered":"\u521d\u8bc6PostgreSQL"},"content":{"rendered":"<p>\u6700\u8fd1\u5f00\u59cb\u4e86\u89e3\u4e00\u4e0bPG\u7684\u4e1c\u897f\uff0c\u8fd9\u4e4b\u524d\uff0c\u5148\u6765\u4e86\u89e3\u4e00\u4e0b\u5386\u53f2(\u516b\u5366)\uff0c\u540c\u65f6\u4e5f\u62dc\u62dc\u5927\u795e<a href=\"http:\/\/en.wikipedia.org\/wiki\/Michael_Stonebraker\">Michael Stonebraker<\/a>\u3002<\/p>\n\n<h3>PG\u7684\u5386\u53f2<\/h3>\n<p>\u5173\u4e8ePostgreSQL\u7684\u5386\u53f2\uff0c<a href=\"http:\/\/www.postgresql.org\/docs\/9.4\/static\/history.html\">\u5b98\u65b9<\/a>\u548c\u4e00\u4e9b\u53c2\u4e0e\u8005<a href=\"http:\/\/momjian.us\/main\/writings\/pgsql\/decade.pdf\" target=\"_blank\" rel=\"noopener\">\u73b0\u8eab\u8bf4\u6cd5<\/a>\uff0c\u5df2\u7ecf\u53ef\u4ee5&#8221;\u591a\u89d2\u5ea6&#8221;\u3001&#8221;\u7acb\u4f53&#8221;\u770b\u5230\u6bd4\u8f83\u5b8c\u6574PG\u5386\u53f2\u4e86\u3002PG\u7684\u524d\u8eabIngres\uff0c\u548cSystem R\u540c\u662f\u6700\u65e9\u5173\u7cfb\u578b\u6570\u636e\u5e93\u8df5\u884c\u8005\u3002\u6709\u4eba\u7528<a href=\"http:\/\/www.graphviz.org\/\" target=\"_blank\" rel=\"noopener\">Graphviz<\/a>\u7ed8\u5236\u7684\u4e00\u4e2a<a href=\"https:\/\/raw.githubusercontent.com\/rafaelma\/rdbms-timeline\/master\/RDBMS_timeline.png\" target=\"_blank\" rel=\"noopener\">\u5173\u7cfb\u6570\u636e\u5e93\u53d1\u5c55\u5386\u53f2<\/a>\uff0c\u53ef\u4ee5\u770b\u5230PG\u5728\u5173\u7cfb\u578b\u6570\u636e\u5e93\u5386\u53f2\u4e2d\u7684\u5730\u4f4d\uff0c\u4ee5\u53ca\u5b83\u5bf9\u540e\u7eedInformix\u3001Sybase\u3001SQL Server\u7684\u5de8\u5927\u5f71\u54cd(\u5927\u56fe\u614e\u5165\uff1a<a href=\"https:\/\/raw.githubusercontent.com\/rafaelma\/rdbms-timeline\/master\/RDBMS_timeline.png\" target=\"_blank\" rel=\"noopener\">RDBMS-timeline<\/a> \u5bf9\u5e94\u7684<a href=\"https:\/\/github.com\/rafaelma\/rdbms-timeline\" target=\"_blank\" rel=\"noopener\">github\u9879\u76ee<\/a>)\u3002<\/p>\n<h4>\u524d\u8eab\uff1aIngres<\/h4>\n<p>\u6298\u817ePG\u4e4b\u524d\u90fd\u662f\u8981\u62dc\u4e00\u62dc<a href=\"http:\/\/en.wikipedia.org\/wiki\/Michael_Stonebraker\">Michael Stonebraker<\/a>\u7684\u3002<\/p>\n<p>1970\u5e74\uff0c\u5728Codd\u53d1\u8868\u4e86\u5173\u7cfb\u578b\u6570\u636e\u5e93\u7684\u8bba\u6587\uff0c1973\u5e74\uff0cIBM\u7684System R\u7814\u7a76\u5c0f\u7ec4\u4e5f\u53d1\u8868\u4e86\u5173\u4e8e\u5b9e\u73b0\u7684\u7cfb\u5217\u8bba\u6587\u4e4b\u540e\uff0c<a href=\"http:\/\/en.wikipedia.org\/wiki\/Michael_Stonebraker\">Michael Stonebraker<\/a>\u5f00\u59cb\u548c\u5b66\u751f\u4e00\u8d77\u505a\u5173\u7cfb\u578b\u6570\u636e\u76f8\u5173\u7684\u7814\u7a76\u5e76\u6210\u7acb\u4e86\u9879\u76eeIngres\uff0c\u201c<strong>Interactive Graphics and Retrieval System<\/strong>\u201d\u7684\u7f29\u5199\uff0c\u539f\u672c\u8be5\u9879\u76ee\u7ecf\u8d39\u662f\u8ba1\u5212\u7528\u4e8e\u5730\u7406\u4fe1\u606f\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u7814\u53d1(<a href=\"http:\/\/en.wikipedia.org\/wiki\/Ingres_(database)\" target=\"_blank\" rel=\"noopener\">\u53c2\u8003<\/a>)\u3002\u5728\u5f53\u65f6\uff0cIngres\u76f8\u6bd4System R\u662f\u4e00\u4e2a\u8fd0\u884c\u5728\u4f4e\u7aef\u673a\u5668\u7684(\u201clow end\u201d\uff0c\u76f8\u5bf9\u4e8e\u5927\u578b\u673a &#8220;big iron&#8221; IBM mainframes)\u4ea7\u54c1\u3002\u5230\u540e\u6765\uff0c80\u5e74\u4ee3\u521d\u671f\uff0c\u201c\u4f4e\u7aef\u673a\u5668\u201d\u7684\u6027\u80fd\u548c\u5bb9\u91cf\u5df2\u7ecf\u5f00\u59cb\u5a01\u80c1\u5230\u201c\u5927\u578b\u673a\u201d\u3002\u8fd9\u65f6\uff0cIngres\u4ee5\u4e00\u4e2a\u7c7b\u4f3cBSD\u7684\u534f\u8bae\u53d1\u5e03\uff0c\u5f88\u591a\u516c\u53f8\u5c31\u5f00\u59cb\u5728\u201c\u4f4e\u7aef\u673a\u5668\u201d\u4e0a\u57fa\u4e8eIngres\u53d1\u5e03\u81ea\u5df1\u7684\u5546\u4e1a\u4ea7\u54c1\u3002\u987a\u52bf\uff0c<a href=\"http:\/\/en.wikipedia.org\/wiki\/Michael_Stonebraker\">Michael Stonebraker<\/a>\u548c\u4e00\u4e9bfellow\u6210\u7acb\u4e86Ingres Corporation\uff0c\u516c\u53f8\u968f\u540e\u51fa\u552e\u7ed9 Computer Associates\u3002<\/p>\n<p>\u66fe\u7ecf\u4e00\u5ea6\uff0cIngres\u662f\u548cOracle\u7ade\u4e89\u7684\u4ea7\u54c1(&#8220;<a href=\"http:\/\/en.wikipedia.org\/wiki\/Ingres_(database)\" target=\"_blank\" rel=\"noopener\">head-to-head<\/a>&#8220;)\uff0c\u8fd9\u4e24\u4e2a\u4ea7\u54c1\u90fd\u88ab\u8ba4\u4e3a\u662f\u5f53\u65f6\u7684\u786c\u4ef6\u65e0\u5173\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93\u4ea7\u54c1\u3002\u751a\u81f3\u5728\u5f53\u65f6\uff0c\u65e0\u8bba\u4ece\u529f\u80fd\u3001\u6027\u80fd\u3001\u5e02\u573a\u4efd\u989d\u3001\u4ef7\u683c\uff0c\u5f88\u591a\u4eba\u90fd\u8ba4\u4e3aIngres\u66f4\u52a0\u4f18\u79c0(<a href=\"http:\/\/en.wikipedia.org\/wiki\/Ingres_(database)#Commercialization\" target=\"_blank\" rel=\"noopener\">\u53c2\u8003<\/a>)\u3002\u4f46\u4ece85\u5e74\u5f00\u59cb\uff0cOracle\u901a\u8fc7\u66f4\u5177\u4fb5\u7565\u6027\u7684\u5e02\u573a\u7b56\u7565\uff1b\u518d\u52a0\u4e0a\u5f53\u65f6SQL\u8bed\u8a00\u9010\u6e10\u88ab\u66f4\u591a\u4eba\u5f00\u59cb\u63a5\u53d7\uff0c\u800cIngres\u4ec5\u652f\u6301\u81ea\u5df1\u5b9e\u73b0\u4e86\u67e5\u8be2\u8bed\u8a00<a href=\"http:\/\/en.wikipedia.org\/wiki\/QUEL_query_languages\" target=\"_blank\" rel=\"noopener\">QUEL<\/a>\uff0c\u6162\u6162\u7684Ingres\u5931\u53bb\u81ea\u5df1\u7684\u5e02\u573a\u4efd\u989d\u3002<\/p>\n<p>\u76ee\u524dIngres\u4ecd\u7136\u5728\u53d1\u5c55\uff0c\u5728<a href=\"http:\/\/esd.actian.com\/\" target=\"_blank\" rel=\"noopener\">\u8fd9\u91cc<\/a>\u53ef\u4ee5\u4e0b\u8f7d\u5230\u5b83\u7684\u6700\u65b0\u7248\u3002<!--more--><\/p>\n<h4>Sybase\u548cSQL Server<\/h4>\n<p>\u57281985\u5e74\u5de6\u53f3\uff0c\u4e00\u4e2a\u66fe\u5728\u4f2f\u514b\u5229\u5927\u5b66\u53c2\u4e0e\u8fc7Ingres\u9879\u76ee\u7684\u5b66\u751f\uff0cRobert(Bob) Epstein\uff0c&#8221;\u4f19\u540c&#8221;\u5176\u4ed6\u4eba\u6210\u7acb\u72ec\u7acb\u7684\u516c\u53f8Sybase\u300288\u5e74Sybase\u516c\u53f8\u548c\u5fae\u8f6f\u4e00\u8d77\u5c06Sybase RDBMS\u79fb\u690d\u5230\u4e86OS\/2\u4e0a\uff0c\u5fae\u8f6f\u5c06\u8fd9\u4e2a\u4ea7\u54c1\u79f0\u4f5c&#8221;SQL Server&#8221;\u3002Sybase\u4e00\u76f4\u6cbf\u7740Unix\u73af\u5883\u53d1\u5c55\uff0c\u800c\u5fae\u8f6f\u7684SQL Server\u5219\u505a\u4e86\u5927\u91cfWindows NT\u4e0a\u7684\u4f18\u5316\uff0c\u968f\u540e\uff0c\u7531\u4e8e\u5408\u4f5c\u5206\u6b67\u4e24\u4e2a\u4ea7\u54c1\u5404\u81ea\u53d1\u5c55\u3002<\/p>\n<h4>Michael Stonebraker\u548cPostgres<\/h4>\n<p><a href=\"http:\/\/en.wikipedia.org\/wiki\/Michael_Stonebraker\">Michael Stonebraker<\/a>\u5728\u666e\u6797\u65af\u987f\u5927\u5b66\u62ff\u5230\u5b66\u58eb\u5b66\u4f4d\uff0c\u7136\u540e\u5728\u5bc6\u6b47\u6839\u5927\u5b66\u83b7\u5f97\u7855\u58eb\u548c\u535a\u58eb\u5b66\u4f4d\u3002\u540e\u6765\u518d\u52a0\u5dde\u4f2f\u514b\u5229\u5927\u5b66\u4efb\u6559\u7ea630\u5e74\uff0c\u4ece01\u5e74\u8d77\uff0c\u52a0\u5165<a href=\"http:\/\/web.mit.edu\/\" target=\"_blank\" rel=\"noopener\">MIT<\/a>\u81f3\u4eca\u3002<\/p>\n<p>Ingres\u5728\u4f4e\u7aef\u673a(&#8220;low-end&#8221;)\u4e0a\u6162\u6162\u6709\u4e9b\u8d77\u8272\u540e\uff0c\u5f88\u591a\u5546\u4e1a\u516c\u53f8\u5728\u8fd9\u4e2a\u57fa\u7840\u4e0a\u53bb\u505a\u4e86\u81ea\u5df1\u7684\u5546\u4e1a\u7248\u672c\u3002Stonebraker\u548cRowe\u4e5f\u6210\u7acb\u4e86\u516c\u53f8Ingres Corporation\u3002 \u5f00\u59cb\u505a\u4e00\u4e2a\u53eb\u201dpost-INGRES\u201d\u7684\u9879\u76ee\uff0c\u5c1d\u8bd5\u53bb\u89e3\u51b3\u4e00\u4e9b\u539f\u6709\u5173\u7cfb\u6a21\u578b\u7684\u9650\u5236\uff0c\u540e\u6765\u88ab\u79f0\u4f5cPOSTGRES\u3002POSTGRES\u5728\u8bbe\u8ba1\u7684\u65f6\u5019\uff0c\u5c31\u8003\u8651\u52a0\u4e0a\u590d\u6742\u7684\u6570\u636e\u7c7b\u578b\u3001\u5e76\u5c1d\u8bd5\u63d0\u4f9b\u7ec8\u7aef\u7528\u6237\u7684\u6027\u80fd\uff0c\u8fd8\u5bf9\u6269\u5c55\u6027\u505a\u4e86\u5f88\u591a\u6539\u8fdb\uff0c\u4f7f\u5f97\u5bf9\u5f88\u591a\u73af\u8282\u7684\u4fee\u6539\u548c\u6539\u8fdb\u53d8\u5f97\u66f4\u5bb9\u6613(\u53c2\u8003<a href=\"http:\/\/dl.acm.org\/citation.cfm?doid=16856.16888\" target=\"_blank\" rel=\"noopener\">The design of POSTGRES<\/a>)\u3002Stonebraker\u53c8\u57fa\u4e8e\u8fd9\u4e2a\u7248\u672c\uff0c\u521b\u5efa\u4e86\u5546\u4e1a\u516c\u53f8Illustra\uff0c\u540e\u6765\u88abInformix\uff0cStonebraker\u672c\u4eba\u4e5f\u5728Informix\u505a\u4e86\u56db\u5e74\u7684CTO(<a href=\"http:\/\/en.wikipedia.org\/wiki\/Michael_Stonebraker#Postgres\" target=\"_blank\" rel=\"noopener\">\u53c2\u8003<\/a>)\u3002<\/p>\n<p>\u5728Postgres\u9879\u76ee\u4e4b\u540e\uff0c<a href=\"http:\/\/en.wikipedia.org\/wiki\/Michael_Stonebraker\">Michael Stonebraker<\/a>\u6709\u5f00\u542f\u4e86<a href=\"http:\/\/link.springer.com\/article\/10.1007%2Fs007780050015\" target=\"_blank\" rel=\"noopener\">Mariposa<\/a>\u9879\u76ee\uff0c\u5e76\u7ed9\u4e88\u6b64\u6210\u7acb\u4e86Cohera Corporation\uff0c\u8be5\u516c\u53f8<a href=\"http:\/\/www.enterpriseappstoday.com\/crm\/article.php\/873931\/PeopleSoft-Completes-Cohera-Acquisition.htm\">\u540e\u6765\u88abPeoplesoft\u6536\u8d2d<\/a>\uff0c\u800c\u540e\u8005\u540e\u6765\u88abOracle\u6536\u8d2d\u3002<\/p>\n<p>\u4ece2001\u5e74\u8d77\uff0c<a href=\"http:\/\/en.wikipedia.org\/wiki\/Michael_Stonebraker\">Michael Stonebraker<\/a>\u8fdb\u5165\u4e86MIT\uff0c\u53c8\u5f00\u59cb\u4e86\u5f88\u591a\u9879\u76ee\u548c\u7814\u7a76\uff0c\u4f8b\u5982\uff0c<a href=\"http:\/\/db.csail.mit.edu\/projects\/cstore\/\">C-Store<\/a>\u5217\u5b58\u50a8\u7cfb\u7edf\uff0c\u5bf9\u5e94\u7684\u5546\u4e1a\u5316\u516c\u53f8\u662f<a href=\"http:\/\/www.vertica.com\/about\/\" target=\"_blank\" rel=\"noopener\">Vertica<\/a>\uff1b<a href=\"http:\/\/hstore.cs.brown.edu\/\">H-Store<\/a>\u5206\u5e03\u5f0f\u3001\u5185\u5b58\u6570\u636e\u5e93\u7cfb\u7edf\uff0c\u8fd8\u6709\u57fa\u4e8e\u6b64\u5546\u4e1a\u5316\u4ea7\u54c1<a href=\"http:\/\/voltdb.com\/\" target=\"_blank\" rel=\"noopener\">VoltDB<\/a>\u3002<\/p>\n<p>\u8fd9\u91cc\u5f88\u591a\u5546\u4e1a\u5316\u9879\u76ee\u8fd8\u5728\u7ee7\u7eed\uff0c\u540c\u65f6<a href=\"http:\/\/en.wikipedia.org\/wiki\/Michael_Stonebraker\">Michael Stonebraker<\/a>\u672c\u4eba\u4e5f\u8fd8\u662f<a href=\"http:\/\/www.csail.mit.edu\/user\/1547\" target=\"_blank\" rel=\"noopener\">MIT\u6559\u6388<\/a>\uff0c\u5173\u4e8eMichael Stonebraker\uff0cGoogle\u4e0a\u67e5\u5230\u7684\u6700\u65b0\u7684\u65b0\u95fb\uff0c\u4ed6\u53d7\u9080\u5728\u7ebd\u7ea6\u505a\u7684\u62a5\u544a\uff1a\u201c<a href=\"http:\/\/strataconf.com\/stratany2014\/public\/schedule\/detail\/36021\" target=\"_blank\" rel=\"noopener\">Three Approaches to Scalable Data Curation<\/a>\u201d\u3002<\/p>\n<h4>Postgres95\u548cPostgreSQL<\/h4>\n<p>\u672c\u6bb5\u4e3b\u8981\u53c2\u8003\uff1a<a href=\"http:\/\/www.pgsqldb.org:8079\/mwiki\/index.php\/PostgreSQL\" target=\"_blank\" rel=\"noopener\">PostgreSQL \u7b80\u4ecb<\/a><\/p>\n<p>Postgres\u9879\u76ee\u4e4b\u540e\uff0c\u4f2f\u514b\u5229\u5927\u5b66\u4e24\u540d\u7814\u7a76\u751fAndrew Yu\u548cJolly Chen\u57fa\u4e8ebison\u548cflex\u65b0\u589e\u4e86SQL92\u7684\u652f\u6301\uff0c\u5e76\u66f4\u540d\u4e3aPostgres95\u3002Postgres95\u88ab\u53d1\u5e03\u5230\u4e92\u8054\u7f51\u4e0a\uff0c\u4e4b\u540e\u9879\u76ee\u7684\u53c2\u4e0e\u8005\u5305\u62ecBruce Momjian\u548c Vadim B. Mikheev\u5f88\u5feb\u53d1\u5e03\u4e86\u7b2c\u4e00\u4e2a\u5f00\u6e90\u7248\u672c\u3002\u4e4b\u540e\u6b63\u5f0f\u5c06\u9879\u76ee\u66f4\u540d\u4e3a<strong>PostgreSQL<\/strong>\u3002\u7248\u672c\u53f7\u4ece6.0\u5f00\u59cb\uff0c\u4e4b\u540e\u4e00\u76f4\u7531\u793e\u533a\u8d21\u732e\u8005\u66f4\u65b0\u5230\u5f53\u524d\u7684\u6700\u65b0\u7248\u672c9.4\uff1b\u7f16\u5e74\u6982\u8981(<a href=\"http:\/\/momjian.us\/main\/writings\/pgsql\/decade.pdf\" target=\"_blank\" rel=\"noopener\">\u53c2\u8003<\/a>)\uff1a<\/p>\n<pre><blockquote>1977-1985 Ingres\r\n1986-1994 Postgres\r\n1994-1995 Postgres95\r\n1996- PostgreSQL<\/blockquote><\/pre>\n<h3>Amazon RDS for PostgreSQL<\/h3>\n<p>Amazone\u5927\u6982\u5728<a href=\"https:\/\/aws.amazon.com\/releasenotes\/Amazon-RDS\/6506856929541348\" target=\"_blank\" rel=\"noopener\">\u53bb\u5e7411\u6708\u4efd<\/a>\u5f00\u59cb\u652f\u6301PostgreSQL\uff0c\u76ee\u524d\u652f\u6301\u7248\u672c9.3.1\u30019.3.2\u548c9.3.3\u3002\u8d2d\u4e70\u540e\u4f1a\u6709\u4e00\u4e2a\u5982\u4e0b\u7684\u7ba1\u7406\u9875\u9762\uff1a<\/p>\n<p><a href=\"https:\/\/www.flickr.com\/photos\/26825745@N06\/15657600002\" title=\"9cb5a6373ac05dde4892fabde09fc205 by orczhou, on Flickr\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/farm4.staticflickr.com\/3938\/15657600002_235db74f6a_z.jpg\" width=\"640\" height=\"349\" alt=\"9cb5a6373ac05dde4892fabde09fc205\"><\/a><\/p>\n<h3>\u7f16\u8bd1\u5b89\u88c5PostgreSQL<\/h3>\n<p>\u4e0b\u8f7d\u6e90\u7801\u5305\uff0c\u89e3\u538b<\/p>\n<pre><blockquote>wget http:\/\/ftp.postgresql.org\/pub\/source\/v9.3.5\/postgresql-9.3.5.tar.bz2\r\ntar jxvf postgresql-9.3.5.tar.bz2\r\ncd postgresql-9.3.5<\/blockquote><\/pre>\n<p>\u7f16\u8bd1\u5b89\u88c5<\/p>\n<pre><blockquote>.\/configure --prefix=\/home\/supu\/pg\/pg935\r\nmake -j 16\r\nmake check\r\nmake install<\/blockquote><\/pre>\n<p>\u521d\u59cb\u5316&#8221;database cluster&#8221;(\u6570\u636e\u76ee\u5f55)<\/p>\n<pre><blockquote>.\/bin\/initdb -D \/home\/supu\/pg\/pg935\/data\/\r\n\u6216\u8005\r\n.\/bin\/pg_ctl -D \/home\/supu\/pg\/pg935\/data\/ initdb<\/blockquote><\/pre>\n<p>\u542f\u52a8\u6570\u636e\u5e93<\/p>\n<pre><blockquote>.\/bin\/postgres -D .\/data\/ > .\/log\/a.log 2>&1 &\r\n\u6216\u8005\r\npg_ctl start -l logfile<\/blockquote><\/pre>\n<p>\u521b\u5efa\u5e76\u8fde\u63a5\u6570\u636e\u5e93<\/p>\n<pre><blockquote>$.\/bin\/createdb alpha\r\n$psql alpha\r\npsql (8.4.7, \u670d\u52a1\u5668 9.3.5)\r\n\u8b66\u544a\uff1apsql \u7248\u672c8.4\uff0c \u670d\u52a1\u5668\u7248\u672c9.3.\r\n\u4e00\u4e9bpsql\u529f\u80fd\u53ef\u80fd\u65e0\u6cd5\u5de5\u4f5c.\r\n\u8f93\u5165 \"help\" \u6765\u83b7\u53d6\u5e2e\u52a9\u4fe1\u606f.\r\n\r\nalpha=#<\/blockquote><\/pre>\n<h3>\u53c2\u8003\u6587\u6863\u5217\u8868<\/h3>\n<p><a href=\"http:\/\/www.postgresql.org\/docs\/9.4\/static\/history.html\" target=\"_blank\" rel=\"noopener\">A Brief History of PostgreSQL<\/a><\/p>\n<p><a href=\"https:\/\/wiki.postgresql.org\/wiki\/Main_Page\" target=\"_blank\" rel=\"noopener\">PostgreSQL wiki<\/a><\/p>\n<p><a href=\"http:\/\/en.wikipedia.org\/wiki\/PostgreSQL#History\" target=\"_blank\" rel=\"noopener\">PostgreSQL@wikipedia<\/a><\/p>\n<p><a href=\"http:\/\/en.wikipedia.org\/wiki\/Michael_Stonebraker\" target=\"_blank\" rel=\"noopener\">Michael Stonebraker@wikipedia<\/a> <a href=\"http:\/\/www.csail.mit.edu\/user\/1547\" target=\"_blank\" rel=\"noopener\">Michael Stonebraker@MIT<\/a><\/p>\n<p><a href=\"http:\/\/db.csail.mit.edu\/projects\/cstore\/\" target=\"_blank\" rel=\"noopener\">C-Store<\/a> <a href=\"http:\/\/hstore.cs.brown.edu\/\" target=\"_blank\" rel=\"noopener\">H-Store<\/a><\/p>\n<p><a href=\"http:\/\/momjian.us\/main\/writings\/pgsql\/decade.pdf\" target=\"_blank\" rel=\"noopener\">The PostgreSQL Decade<\/a> By BRUCE MOMJIAN<\/p>\n<p><a href=\"http:\/\/www.pgsqldb.org:8079\/mwiki\/index.php\/PostgreSQL\" target=\"_blank\" rel=\"noopener\">PostgreSQL \u7b80\u4ecb<\/a><\/p>\n<p><a href=\"http:\/\/www.postgresql.org\/docs\/9.4\/static\/release.html\" target=\"_blank\" rel=\"noopener\">Release Notes of PostgreSQL <\/a><\/p>\n<p><a href=\"http:\/\/en.wikipedia.org\/wiki\/Ingres_(database)\" target=\"_blank\" rel=\"noopener\">Ingres@wikipedia<\/a><\/p>\n<p><a href=\"http:\/\/en.wikipedia.org\/wiki\/QUEL_query_languages\" target=\"_blank\" rel=\"noopener\">QUEL query languages<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6700\u8fd1\u5f00\u59cb\u4e86\u89e3\u4e00\u4e0bPG\u7684\u4e1c\u897f\uff0c\u8fd9\u4e4b\u524d\uff0c\u5148\u6765\u4e86\u89e3\u4e00\u4e0b\u5386\u53f2(\u516b\u5366)\uff0c\u540c\u65f6\u4e5f\u62dc\u62dc\u5927\u795eMichael Stonebraker\u3002 PG\u7684\u5386\u53f2 \u5173\u4e8ePostgreSQL\u7684\u5386\u53f2\uff0c\u5b98\u65b9\u548c\u4e00\u4e9b\u53c2\u4e0e\u8005\u73b0\u8eab\u8bf4\u6cd5\uff0c\u5df2\u7ecf\u53ef\u4ee5&#8221;\u591a\u89d2\u5ea6&#8221;\u3001&#8221;\u7acb\u4f53&#8221;\u770b\u5230\u6bd4\u8f83\u5b8c\u6574PG\u5386\u53f2\u4e86\u3002PG\u7684\u524d\u8eabIngres\uff0c\u548cSystem R\u540c\u662f\u6700\u65e9\u5173\u7cfb\u578b\u6570\u636e\u5e93\u8df5\u884c\u8005\u3002\u6709\u4eba\u7528Graphviz\u7ed8\u5236\u7684\u4e00\u4e2a\u5173\u7cfb\u6570\u636e\u5e93\u53d1\u5c55\u5386\u53f2\uff0c\u53ef\u4ee5\u770b\u5230PG\u5728\u5173\u7cfb\u578b\u6570\u636e\u5e93\u5386\u53f2\u4e2d\u7684\u5730\u4f4d\uff0c\u4ee5\u53ca\u5b83\u5bf9\u540e\u7eedInformix\u3001Sybase\u3001SQL Server\u7684\u5de8\u5927\u5f71\u54cd(\u5927\u56fe\u614e\u5165\uff1aRDBMS-timeline \u5bf9\u5e94\u7684github\u9879\u76ee)\u3002 \u524d\u8eab\uff1aIngres \u6298\u817ePG\u4e4b\u524d\u90fd\u662f\u8981\u62dc\u4e00\u62dcMichael Stonebraker\u7684\u3002 1970\u5e74\uff0c\u5728Codd\u53d1\u8868\u4e86\u5173\u7cfb\u578b\u6570\u636e\u5e93\u7684\u8bba\u6587\uff0c1973\u5e74\uff0cIBM\u7684System R\u7814\u7a76\u5c0f\u7ec4\u4e5f\u53d1\u8868\u4e86\u5173\u4e8e\u5b9e\u73b0\u7684\u7cfb\u5217\u8bba\u6587\u4e4b\u540e\uff0cMichael Stonebraker\u5f00\u59cb\u548c\u5b66\u751f\u4e00\u8d77\u505a\u5173\u7cfb\u578b\u6570\u636e\u76f8\u5173\u7684\u7814\u7a76\u5e76\u6210\u7acb\u4e86\u9879\u76eeIngres\uff0c\u201cInteractive Graphics and Retrieval System\u201d\u7684\u7f29\u5199\uff0c\u539f\u672c\u8be5\u9879\u76ee\u7ecf\u8d39\u662f\u8ba1\u5212\u7528\u4e8e\u5730\u7406\u4fe1\u606f\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u7814\u53d1(\u53c2\u8003)\u3002\u5728\u5f53\u65f6\uff0cIngres\u76f8\u6bd4System R\u662f\u4e00\u4e2a\u8fd0\u884c\u5728\u4f4e\u7aef\u673a\u5668\u7684(\u201clow end\u201d\uff0c\u76f8\u5bf9\u4e8e\u5927\u578b\u673a &#8220;big iron&#8221; IBM mainframes)\u4ea7\u54c1\u3002\u5230\u540e\u6765\uff0c80\u5e74\u4ee3\u521d\u671f\uff0c\u201c\u4f4e\u7aef\u673a\u5668\u201d\u7684\u6027\u80fd\u548c\u5bb9\u91cf\u5df2\u7ecf\u5f00\u59cb\u5a01\u80c1\u5230\u201c\u5927\u578b\u673a\u201d\u3002\u8fd9\u65f6\uff0cIngres\u4ee5\u4e00\u4e2a\u7c7b\u4f3cBSD\u7684\u534f\u8bae\u53d1\u5e03\uff0c\u5f88\u591a\u516c\u53f8\u5c31\u5f00\u59cb\u5728\u201c\u4f4e\u7aef\u673a\u5668\u201d\u4e0a\u57fa\u4e8eIngres\u53d1\u5e03\u81ea\u5df1\u7684\u5546\u4e1a\u4ea7\u54c1\u3002\u987a\u52bf\uff0cMichael Stonebraker\u548c\u4e00\u4e9bfellow\u6210\u7acb\u4e86Ingres Corporation\uff0c\u516c\u53f8\u968f\u540e\u51fa\u552e\u7ed9 Computer Associates\u3002 \u66fe\u7ecf\u4e00\u5ea6\uff0cIngres\u662f\u548cOracle\u7ade\u4e89\u7684\u4ea7\u54c1(&#8220;head-to-head&#8220;)\uff0c\u8fd9\u4e24\u4e2a\u4ea7\u54c1\u90fd\u88ab\u8ba4\u4e3a\u662f\u5f53\u65f6\u7684\u786c\u4ef6\u65e0\u5173\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93\u4ea7\u54c1\u3002\u751a\u81f3\u5728\u5f53\u65f6\uff0c\u65e0\u8bba\u4ece\u529f\u80fd\u3001\u6027\u80fd\u3001\u5e02\u573a\u4efd\u989d\u3001\u4ef7\u683c\uff0c\u5f88\u591a\u4eba\u90fd\u8ba4\u4e3aIngres\u66f4\u52a0\u4f18\u79c0(\u53c2\u8003)\u3002\u4f46\u4ece85\u5e74\u5f00\u59cb\uff0cOracle\u901a\u8fc7\u66f4\u5177\u4fb5\u7565\u6027\u7684\u5e02\u573a\u7b56\u7565\uff1b\u518d\u52a0\u4e0a\u5f53\u65f6SQL\u8bed\u8a00\u9010\u6e10\u88ab\u66f4\u591a\u4eba\u5f00\u59cb\u63a5\u53d7\uff0c\u800cIngres\u4ec5\u652f\u6301\u81ea\u5df1\u5b9e\u73b0\u4e86\u67e5\u8be2\u8bed\u8a00QUEL\uff0c\u6162\u6162\u7684Ingres\u5931\u53bb\u81ea\u5df1\u7684\u5e02\u573a\u4efd\u989d\u3002 \u76ee\u524dIngres\u4ecd\u7136\u5728\u53d1\u5c55\uff0c\u5728\u8fd9\u91cc\u53ef\u4ee5\u4e0b\u8f7d\u5230\u5b83\u7684\u6700\u65b0\u7248\u3002<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_eb_attr":"","inline_featured_image":false,"_tocer_settings":[],"footnotes":""},"categories":[117],"tags":[116],"class_list":["post-4880","post","type-post","status-publish","format-standard","hentry","category-postgresql-2","tag-postgresql"],"_links":{"self":[{"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/posts\/4880","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/comments?post=4880"}],"version-history":[{"count":30,"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/posts\/4880\/revisions"}],"predecessor-version":[{"id":9264,"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/posts\/4880\/revisions\/9264"}],"wp:attachment":[{"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/media?parent=4880"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/categories?post=4880"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/tags?post=4880"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}