锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久一区二区三区99,www性久久久com,国内精品九九久久久精品http://m.shnenglu.com/lambdacpp/archive/2007/10/18/34555.html浜旂偣鍗?/dc:creator>浜旂偣鍗?/author>Thu, 18 Oct 2007 08:29:00 GMThttp://m.shnenglu.com/lambdacpp/archive/2007/10/18/34555.htmlhttp://m.shnenglu.com/lambdacpp/comments/34555.htmlhttp://m.shnenglu.com/lambdacpp/archive/2007/10/18/34555.html#Feedback3http://m.shnenglu.com/lambdacpp/comments/commentRss/34555.htmlhttp://m.shnenglu.com/lambdacpp/services/trackbacks/34555.html    MySQL Proxy 鍙互浣滆礋杞藉潎琛★紝鍙互鑹拌嫤錛屽垎鏋愶紝瀹㈡埛绔拰鏈嶅姟鍣ㄤ箣闂寸殑閫氳銆傛渶Cool鐨勬槸鍙互浣跨敤宓屽叆鍒扮郴緇熶腑鐨凩ua銆傚懙鍛碉紝鐜板湪涓嶆潵鐐硅剼鏈璦濂藉儚灝變笉鍏ユ祦鍛€傛渶榪慖nfoQ涓婁竴綃囨枃绔犮婄敤MySQL Proxy瀹炵幇璇誨啓鍒嗙銆嬪彲鑳芥槸鏃朵笅鐜板疄鐨勪竴縐嶅簲鐢ㄣ傚師鐞嗗緢綆鍗曠湅鐪嬪浘灝變竴鐩簡鐒訛細



]]>
[杞琞postgres FAQhttp://m.shnenglu.com/lambdacpp/archive/2006/05/31/7910.html浜旂偣鍗?/dc:creator>浜旂偣鍗?/author>Tue, 30 May 2006 16:28:00 GMThttp://m.shnenglu.com/lambdacpp/archive/2006/05/31/7910.htmlhttp://m.shnenglu.com/lambdacpp/comments/7910.htmlhttp://m.shnenglu.com/lambdacpp/archive/2006/05/31/7910.html#Feedback1http://m.shnenglu.com/lambdacpp/comments/commentRss/7910.htmlhttp://m.shnenglu.com/lambdacpp/services/trackbacks/7910.html

鎿嶄綔闂

4.1)濡備綍鍙夋嫨涓涓煡璇㈢粨鏋滅殑澶村嚑琛岋紵鎴栨槸闅忔満鐨勪竴琛岋紵

濡傛灉浣犲彧鏄鎻愬彇鍑犺鏁版嵁錛屽茍涓斾綘鍦ㄦ墽琛屾煡璇腑鐭ラ亾紜垏鐨勮鏁幫紝浣犲彲浠ヤ嬌鐢↙IMIT鍔熻兘銆?濡傛灉鏈変竴涓儲寮曚笌 ORDER BY涓殑鏉′歡鍖歸厤錛孭ostgreSQL 鍙兘灝卞彧澶勭悊瑕佹眰鐨勫ご鍑犳潯璁板綍錛?錛堝惁鍒欏皢瀵規暣涓煡璇㈣繘琛屽鐞嗙洿鍒扮敓鎴愰渶瑕佺殑琛岋級銆傚鏋滃湪鎵ц鏌ヨ鍔熻兘鏃朵笉鐭ラ亾紜垏鐨勮褰曟暟錛?鍙嬌鐢ㄦ父鏍?cursor)鍜孎ETCH鍔熻兘銆?

鍙嬌鐢ㄤ互涓嬫柟娉曟彁鍙栦竴琛岄殢鏈鴻褰曠殑錛?

		SELECT  cols
FROM tab
ORDER BY random()
LIMIT 1 ;

4.2)濡備綍鏌ョ湅琛ㄣ佺儲寮曘佹暟鎹簱浠ュ強鐢ㄦ埛鐨勫畾涔夛紵濡備綍鏌ョ湅psql閲岀敤鍒扮殑鏌ヨ鎸囦護騫舵樉紺哄畠浠紵

鍦?i>psql涓嬌鐢?\dt 鍛戒護鏉ユ樉紺烘暟鎹〃鐨勫畾涔夛紝瑕佷簡瑙?i>psql涓殑瀹屾暣鍛戒護鍒楄〃鍙嬌鐢╘? 錛屽彟澶栵紝浣犱篃鍙互闃呰 psql 鐨勬簮浠g爜 鏂囦歡pgsql/src/bin/psql/describe.c錛屽畠鍖呮嫭涓虹敓鎴?i>psql鍙嶆枩鏉犲懡浠ょ殑杈撳嚭鐨勬墍鏈?SQL 鍛戒護銆備綘榪樺彲浠ュ甫 -E 閫夐」鍚姩 psql錛?榪欐牱瀹冨皢鎵撳嵃鍑烘墽琛屼綘鍦?i>psql涓墍緇欏嚭鐨勫懡浠ょ殑鍐呴儴瀹為檯浣跨敤鐨凷QL鏌ヨ銆侾ostgreSQL涔熸彁渚涗簡涓涓吋瀹筍QL鐨処NFORMATION SCHEMA鎺ュ彛錛?浣犲彲浠ヤ粠榪欓噷鑾峰彇鍏充簬鏁版嵁搴撶殑淇℃伅銆?

鍦ㄧ郴緇熶腑鏈変竴浜涗互pg_ 鎵撳ご鐨勭郴緇熻〃涔熸弿榪頒簡琛ㄧ殑瀹氫箟銆?

浣跨敤 psql -l 鎸囦護鍙互鍒楀嚭鎵鏈夌殑鏁版嵁搴撱?

涔熷彲浠ユ祻瑙堜竴涓?pgsql/src/tutorial/syscat.source鏂囦歡錛屽畠鍒椾婦浜嗗緢澶氬彲浠庢暟鎹簱緋葷粺琛ㄤ腑鑾峰彇淇℃伅鐨凷ELECT璇硶銆?

4.3)濡備綍鏇存敼涓涓瓧孌電殑鏁版嵁綾誨瀷錛?/h4>

鍦?.0鐗堟湰閲屾洿鏀逛竴涓瓧孌電殑鏁版嵁綾誨瀷寰堝鏄擄紝鍙嬌鐢?ALTER TABLE ALTER COLUMN TYPE 銆?

鍦ㄤ互鍓嶇殑鐗堟湰涓紝鍙互榪欐牱鍋氾細

	BEGIN;
ALTER TABLE tab ADD COLUMN new_col new_data_type;
UPDATE tab SET new_col = CAST(old_col AS new_data_type);
ALTER TABLE tab DROP COLUMN old_col;
COMMIT;

浣犵劧鍚庡彲浠ヤ嬌鐢?i>VACUUM FULL tab 鎸囦護鏉ヤ嬌緋葷粺鏀跺洖鏃犳晥鏁版嵁鎵鍗犵敤鐨勭┖闂淬?

4.4)涓琛岃褰曪紝涓涓〃錛屼竴涓簱鐨勬渶澶у昂瀵告槸澶氬皯錛?/h4>

涓嬮潰鏄竴浜涢檺鍒訛細

涓涓暟鎹簱鏈澶у昂瀵革紵鏃犻檺鍒訛紙宸插瓨鍦ㄦ湁 32TB 鐨勬暟鎹簱錛?/td>
涓涓〃鐨勬渶澶у昂瀵革紵32 TB
涓琛岃褰曠殑鏈澶у昂瀵革紵1.6 TB
涓涓瓧孌電殑鏈澶у昂瀵?1 GB
涓涓〃閲屾渶澶ц鏁幫紵鏃犻檺鍒?/td>
涓涓〃閲屾渶澶у垪鏁幫紵250-1600 錛堜笌鍒楃被鍨嬫湁鍏籌級
涓涓〃閲岀殑鏈澶х儲寮曟暟閲忥紵鏃犻檺鍒?/td>

褰撶劧錛屽疄闄呬笂娌℃湁鐪熸鐨勬棤闄愬埗錛岃繕鏄鍙楀彲鐢ㄧ鐩樼┖闂淬佸彲鐢ㄥ唴瀛?浜ゆ崲鍖虹殑鍒剁害銆?浜嬪疄涓婏紝褰撹繖浜涙暟鍊煎彉寰楀紓甯稿湴澶ф椂錛岀郴緇熸ц兘涔熶細鍙楀緢澶у獎鍝嶃?

琛ㄧ殑鏈澶у昂瀵?32 TB 涓嶉渶瑕佹搷浣滅郴緇熷澶ф枃浠剁殑鏀寔銆傚ぇ琛ㄧ敤澶氫釜 1 GB 鐨勬枃浠跺瓨鍌紝鍥犳鏂囦歡緋葷粺灝哄鐨勯檺鍒舵槸涓嶉噸瑕佺殑銆?

濡傛灉緙虹渷鐨勫潡澶у皬澧為暱鍒?32K 錛屾渶澶х殑琛ㄥ昂瀵稿拰鏈澶у垪鏁拌繕鍙互澧炲姞鍒板洓鍊嶃?

4.5)瀛樺偍涓涓吀鍨嬬殑鏂囨湰鏂囦歡閲岀殑鏁版嵁闇瑕佸灝戠鐩樼┖闂達紵

涓涓?Postgres 鏁版嵁搴擄紙瀛樺偍涓涓枃鏈枃浠訛級鎵鍗犵敤鐨勭┖闂存渶澶氬彲鑳介渶瑕佺浉褰撲簬榪欎釜鏂囨湰鏂囦歡鑷韓澶у皬5鍊嶇殑紓佺洏絀洪棿銆?

渚嬪錛屽亣璁炬湁涓涓?100,000 琛岀殑鏂囦歡錛屾瘡琛屾湁涓涓暣鏁板拰涓涓枃鏈弿榪般?鍋囪鏂囨湰涓茬殑騫沖潎闀垮害涓?0瀛楄妭銆傛枃鏈枃浠跺崰鐢?2.8 MB銆傚瓨鏀捐繖浜涙暟鎹殑 PostgreSQL 鏁版嵁搴撴枃浠跺ぇ綰︽槸 6.4 MB:

     32 瀛楄妭: 姣忚鐨勫ご錛堜及璁″鹼級
24 瀛楄妭: 涓涓暣鏁板瀷瀛楁鍜屼竴涓枃鏈瀷瀛楁
+ 4 瀛楄妭: 欏甸潰鍐呮寚鍚戝厓緇勭殑鎸囬拡
----------------------------------------
60 瀛楄妭姣忚

PostgreSQL 鏁版嵁欏電殑澶у皬鏄?8192 瀛楄妭 (8 KB)錛屽垯錛?br />
8192 瀛楄妭姣忛〉
------------------- = 136 琛?鏁版嵁欏碉紙鍚戜笅鍙栨暣錛?br /> 60 瀛楄妭姣忚

100000 鏁版嵁琛?br /> -------------------- = 735 鏁版嵁欏碉紙鍚戜笂鍙栨暣錛?br /> 128 琛屾瘡欏?br />
735 鏁版嵁欏?* 8192 瀛楄妭/欏? = 6,021,120 瀛楄妭錛? MB錛?br />

绱㈠紩涓嶉渶瑕佽繖涔堝鐨勯澶栨秷鑰楋紝浣嗕篃紜疄鍖呮嫭琚儲寮曠殑鏁版嵁錛屽洜姝ゅ畠浠篃鍙兘寰堝ぇ銆?

絀哄?i>NULL瀛樻斁鍦ㄤ綅鍥句腑錛屽洜姝ゅ崰鐢ㄥ緢灝戠殑絀洪棿銆?

4.6)涓轟粈涔堟垜鐨勬煡璇㈠緢鎱紵涓轟粈涔堣繖浜涙煡璇㈡病鏈夊埄鐢ㄧ儲寮曪紵

騫墮潪姣忎釜鏌ヨ閮戒細鑷姩浣跨敤绱㈠紩銆傚彧鏈夊湪琛ㄧ殑澶у皬瓚呰繃涓涓渶灝忓鹼紝騫朵笖鏌ヨ鍙細閫変腑琛ㄤ腑杈冨皬姣斾緥鐨勮褰曟椂鎵嶄細閲囩敤绱㈠紩銆?榪欐槸鍥犱負绱㈠紩鎵弿寮曡搗鐨勯殢鍗崇鐩樺瓨鍙栧彲鑳芥瘮鐩存帴鍦拌鍙栬〃錛堥『搴忔壂鎻忥級鏇存參銆?

涓轟簡鍒ゆ柇鏄惁浣跨敤绱㈠紩錛孭ostgreSQL蹇呴』鑾峰緱鏈夊叧琛ㄧ殑緇熻鍊箋傝繖浜涚粺璁″煎彲浠ヤ嬌鐢?VACUUM ANALYZE錛屾垨 ANALYZE 鑾峰緱銆?浣跨敤緇熻鍊鹼紝浼樺寲鍣ㄧ煡閬撹〃涓湁澶氬皯琛岋紝灝辮兘澶熸洿濂藉湴鍒ゆ柇鏄惁鍒╃敤绱㈠紩銆? 緇熻鍊煎紜畾浼樺寲鐨勮繛鎺ラ『搴忓拰榪炴帴鏂規硶涔熷緢鏈夌敤銆傚湪琛ㄧ殑鍐呭鍙戠敓鍙樺寲鏃訛紝搴斿畾鏈熻繘琛岀粺璁″肩殑鏇存柊鏀墮泦銆?

绱㈠紩閫氬父涓嶇敤浜?ORDER BY 鎴栨墽琛岃繛鎺ャ傚涓涓ぇ琛ㄧ殑涓嬈¢『搴忔壂鎻忥紝鍐嶅仛涓涓樉寮忕殑鎺掑簭閫氬父姣旂儲寮曟壂鎻忚蹇?

浣嗘槸錛屽湪 LIMIT 鍜?ORDER BY 緇撳悎浣跨敤鏃剁粡甯鎬細浣跨敤绱㈠紩錛屽洜涓鴻繖鍙細榪斿洖琛ㄧ殑涓灝忛儴鍒嗐?瀹為檯涓婏紝铏界劧 MAX() 鍜?MIN() 騫朵笉浣跨敤绱㈠紩錛岄氳繃瀵?ORDER BY 鍜?LLIMIT 浣跨敤绱㈠紩鍙栧緱鏈澶у煎拰鏈灝忓間篃鏄彲浠ョ殑錛?

	SELECT col
FROM tab
ORDER BY col [ DESC ]
LIMIT 1;

濡傛灉浣犵‘淇ostgreSQL鐨勪紭鍖栧櫒浣跨敤欏哄簭鎵弿鏄笉姝g‘鐨勶紝浣犲彲浠ヤ嬌鐢?code>text_pattern_ops绱㈠紩鏉ョ敤浜?small>LIKE鐨勭儲寮曘?

鍦?.0涔嬪墠鐨勭増鏈腑錛岄櫎闈炶鏌ヨ鐨勬暟鎹被鍨嬪拰绱㈠紩鐨勬暟鎹被鍨嬬浉鍖歸厤錛屽惁鍒欑儲寮曠粡甯告槸鏈鐢ㄥ埌錛岀壒鍒槸瀵筰nt2,int8鍜屾暟鍊煎瀷鐨勭儲寮曘?

4.7)鎴戝浣曟墠鑳界湅鍒版煡璇紭鍖栧櫒鏄庢牱璇勪及澶勭悊鎴戠殑鏌ヨ錛?/h4>

鍙傝?EXPLAIN 鎵嬪唽欏點?

4.8)鎴戞庢牱鍋氭鍒欒〃杈懼紡鎼滅儲鍜屽ぇ灝忓啓鏃犲叧鐨勬鍒欒〃杈懼紡鏌ユ壘錛熸庢牱鍒╃敤绱㈠紩榪涜澶у皬鍐欐棤鍏蟲煡鎵撅紵

鎿嶄綔絎?~ 澶勭悊姝e垯琛ㄨ揪寮忓尮閰嶏紝鑰?~* 澶勭悊澶у皬鍐欐棤鍏崇殑姝e垯琛ㄨ揪寮忓尮閰嶃傚ぇ鍐欎簺鏃犲叧鐨?LIKE 鍙樼鎴愪負 ILIKE銆?

澶у皬鍐欐棤鍏崇殑絳夊紡姣旇緝閫氬父鍐欏仛錛?

    SELECT *
FROM tab
WHERE lower(col) = 'abc';

榪欐牱灝嗕笉浼氫嬌鐢ㄦ爣鍑嗙殑绱㈠紩銆備絾鏄彲浠ュ垱寤轟竴涓彲琚埄鐢ㄧ殑鍑芥暟绱㈠紩:

    CREATE INDEX tabindex ON tab (lower(col));

4.9)鍦ㄤ竴涓煡璇㈤噷錛屾垜鎬庢牱媯嫻嬩竴涓瓧孌墊槸鍚︿負 NULL 錛熸垜濡備綍鎵嶈兘鍑嗙‘鎺掑簭鑰屼笉璁烘煇瀛楁鏄惁鍚?NULL 鍊鹼紵

鐢?IS NULL 鍜?IS NOT NULL 嫻嬭瘯榪欎釜瀛楁錛屽叿浣撴柟娉曞涓嬶細

   SELECT *
FROM tab
WHERE col IS NULL;

涓轟簡鑳藉鍚?NULL瀛楁鎺掑簭錛屽彲鍦?ORDER BY 鏉′歡涓嬌鐢?IS NULL鍜?IS NOT NULL 淇グ絎︼紝鏉′歡涓虹湡 true 灝嗘瘮鏉′歡涓哄亣false 鎺掑湪鍓嶉潰錛屼笅闈㈢殑渚嬪瓙灝變細灝嗗惈 NULL 鐨勮褰曟帓鍦ㄧ粨鏋滅殑涓婇潰閮ㄥ垎錛?

   SELECT *
FROM tab
ORDER BY (col IS NOT NULL)

4.10)鍚勭瀛楃綾誨瀷涔嬮棿鏈変粈涔堜笉鍚岋紵

綾誨瀷鍐呴儴鍚嶇О璇存槑
VARCHAR(n)varchar鎸囧畾浜嗘渶澶ч暱搴︼紝鍙橀暱瀛楃涓詫紝涓嶈凍瀹氫箟闀垮害鐨勯儴鍒嗕笉琛ラ綈
CHAR(n)bpchar瀹氶暱瀛楃涓詫紝瀹為檯鏁版嵁涓嶈凍瀹氫箟闀垮害鏃訛紝浠ョ┖鏍艱ˉ榻?/td>
TEXTtext娌℃湁鐗瑰埆鐨勪笂闄愰檺鍒訛紙浠呭彈琛岀殑鏈澶ч暱搴﹂檺鍒訛級
BYTEAbytea鍙橀暱瀛楄妭搴忓垪錛堜嬌鐢∟ULL涔熸槸鍏佽鐨勶級
"char"char涓涓瓧絎?/td>

鍦ㄧ郴緇熻〃鍜屽湪涓浜涢敊璇俊鎭噷浣犲皢鐪嬪埌鍐呴儴鍚嶇О銆?

涓婇潰鎵鍒楃殑鍓嶅洓縐嶇被鍨嬫槸"varlena"錛堝彉闀匡級綾誨瀷錛堜篃灝辨槸璇達紝寮澶寸殑鍥涗釜瀛楄妭鏄暱搴︼紝鍚庨潰鎵嶆槸鏁版嵁錛夈?浜庢槸瀹為檯鍗犵敤鐨勭┖闂存瘮澹版槑鐨勫ぇ灝忚澶氫竴浜涖?鐒惰岃繖浜涚被鍨嬮兘鍙互琚帇緙╁瓨鍌紝涔熷彲浠ョ敤 TOAST 鑴辨満瀛樺偍錛屽洜姝ょ鐩樼┖闂翠篃鍙兘姣旈鎯崇殑瑕佸皯銆?

VARCHAR(n) 鍦ㄥ瓨鍌ㄩ檺鍒朵簡鏈澶ч暱搴︾殑鍙橀暱瀛楃涓叉槸鏈濂界殑銆?TEXT 閫傜敤浜庡瓨鍌ㄦ渶澶у彲杈?1G宸﹀彸浣嗘湭瀹氫箟闄愬埗闀垮害鐨勫瓧絎︿覆銆?

CHAR(n) 鏈閫傚悎浜庡瓨鍌ㄩ暱搴︾浉鍚岀殑瀛楃涓層?CHAR(n)浼氭牴鎹墍緇欏畾鐨勫瓧孌甸暱搴︿互絀烘牸琛ヨ凍錛堜笉瓚崇殑瀛楁鍐呭錛夛紝 鑰?VARCHAR(n) 鍙瓨鍌ㄦ墍緇欏畾鐨勬暟鎹唴瀹廣?BYTEA 鐢ㄤ簬瀛樺偍浜岃繘鍒舵暟鎹紝灝ゅ叾鏄寘鍚?NULL 瀛楄妭鐨勫箋傝繖浜涚被鍨嬪叿鏈夌浉浼肩殑鎬ц兘鐗規с?

4.11.1)鎴戞庢牱鍒涘緩涓涓簭鍒楀彿/鑷姩閫掑鐨勫瓧孌碉紵

PostgreSQL 鏀寔 SERIAL 鏁版嵁綾誨瀷銆傚畠鍦ㄥ瓧孌典笂鑷姩鍒涘緩涓涓簭鍒楀拰绱㈠紩銆備緥濡傦細

	CREATE TABLE person ( 
id SERIAL,
name TEXT
);

浼氳嚜鍔ㄨ漿鎹負錛?

	CREATE SEQUENCE person_id_seq;
CREATE TABLE person (
id INT4 NOT NULL DEFAULT nextval('person_id_seq'),
name TEXT
);

鍙傝?create_sequence 鎵嬪唽欏佃幏鍙栧叧浜庡簭鍒楃殑鏇村淇℃伅銆?

4.11.2)鎴戝浣曡幏寰椾竴涓彃鍏ョ殑搴忓垪鍙風殑鍊鹼紵

涓縐嶆柟娉曟槸鍦ㄦ彃鍏ヤ箣鍓嶅厛鐢ㄥ嚱鏁?nextval() 浠庡簭鍒楀璞¢噷媯绱㈠嚭涓嬩竴涓?SERIAL 鍊鹼紝鐒跺悗鍐嶆樉寮忔彃鍏ャ備嬌鐢?4.11.1 閲岀殑渚嬭〃錛屽彲鐢ㄤ吉鐮佽繖鏍鋒弿榪幫細

	new_id = execute("SELECT nextval('person_id_seq')");
execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal')");

榪欐牱榪樿兘鍦ㄥ叾浠栨煡璇腑浣跨敤瀛樻斁鍦?new_id 閲岀殑鏂板鹼紙渚嬪錛屼綔涓?person 琛ㄧ殑澶栭敭錛夈?娉ㄦ剰鑷姩鍒涘緩鐨?SEQUENCE 瀵硅薄鐨勫悕縐板皢浼氭槸 <table>_<serialcolumn>_seq錛?榪欓噷 table 鍜?serialcolumn 鍒嗗埆鏄綘鐨勮〃鐨勫悕縐板拰浣犵殑 SERIAL 瀛楁鐨勫悕縐般?

綾諱技鐨勶紝鍦?SERIAL 瀵硅薄緙虹渷鎻掑叆鍚庝綘鍙互鐢ㄥ嚱鏁?currval() 媯绱㈠垰璧嬪肩殑 SERIAL 鍊鹼紝渚嬪錛?

	execute("INSERT INTO person (name) VALUES ('Blaise Pascal')");
new_id = execute("SELECT currval('person_id_seq')");

4.11.3)浣跨敤 currval() 浼氬鑷村拰鍏朵粬鐢ㄦ埛鐨勫啿紿佹儏鍐碉紙race condition錛夊悧錛?/h4>

涓嶄細銆?i>currval() 榪斿洖鐨勬槸浣犳湰嬈′細璇濊繘紼嬫墍璧嬬殑鍊艱屼笉鏄墍鏈夌敤鎴風殑褰撳墠鍊箋?br />

4.11.4)涓轟粈涔堜笉鍦ㄤ簨鍔″紓甯鎬腑姝㈠悗閲嶇敤搴忓垪鍙峰憿錛熶負浠涔堝湪搴忓垪鍙峰瓧孌電殑鍙栧間腑瀛樺湪闂存柇鍛紵

涓轟簡鎻愰珮騫跺彂鎬э紝搴忓垪鍙峰湪闇瑕佺殑鏃跺欒祴浜堟鍦ㄨ繍琛岀殑浜嬪姟錛屽茍涓斿湪浜嬪姟緇撴潫涔嬪墠涓嶈繘琛岄攣瀹氾紝 榪欏氨浼氬鑷村紓甯鎬腑姝㈢殑浜嬪姟鍚庯紝搴忓垪鍙蜂細鍑虹幇闂撮殧銆?


4.12)浠涔堟槸 OID 錛熶粈涔堟槸 CTID 錛?/h4>

PostgreSQL 閲屽垱寤虹殑姣忎竴琛岃褰曢兘浼氳幏寰椾竴涓敮涓鐨?small>OID錛岄櫎闈炲湪鍒涘緩琛ㄦ椂浣跨敤WITHOUT OIDS閫夐」銆?OID鍒涘緩鏃朵細鑷姩鐢熸垚涓涓?瀛楄妭鐨勬暣鏁幫紝鎵鏈?OID 鍦ㄦ暣涓?PostgreSQL 涓潎鏄敮涓鐨勩?鐒惰岋紝瀹冨湪瓚呰繃40浜挎椂灝嗘孩鍑猴紝 OID姝ゅ悗浼氬嚭鐜伴噸澶嶃侾ostgreSQL 鍦ㄥ畠鐨勫唴閮ㄧ郴緇熻〃閲屼嬌鐢?OID 鍦ㄨ〃涔嬮棿寤虹珛鑱旂郴銆?

鍦ㄧ敤鎴風殑鏁版嵁琛ㄤ腑錛屾渶濂芥槸浣跨敤SERIAl鏉ヤ唬鏇?small>OID 鍥犱負SERIAL鍙槸淇濊瘉鍦ㄥ崟涓〃涓暟鎹槸鍞竴鐨勶紝榪欐牱瀹冩孩鍑虹殑鍙兘鎬у氨闈炲父灝忎簡錛?SERIAL8鍙敤鏉ヤ繚瀛?瀛楄妭鐨勫簭鍒楀彿瀛楁銆?

CTID 鐢ㄤ簬鏍囪瘑甯︾潃鏁版嵁鍧楋紙鍦板潃錛夊拰錛堝潡鍐咃級鍋忕Щ鐨勭壒瀹氱殑鐗╃悊琛屻?CTID 鍦ㄨ褰曡鏇存敼鎴栭噸杞藉悗鍙戠敓鏀瑰彉銆傜儲寮曞叆鍙d嬌鐢ㄥ畠浠寚鍚戠墿鐞嗚銆?

4.13)涓轟粈涔堟垜鏀跺埌閿欒淇℃伅鈥?i>ERROR: Memory exhausted in AllocSetAlloc()鈥濓紵

榪欏緢鍙兘鏄郴緇熺殑铏氭嫙鍐呭瓨鐢ㄥ厜浜嗭紝鎴栬呭唴鏍稿鏌愪簺璧勬簮鏈夎緝浣庣殑闄愬埗鍊箋傚湪鍚姩 postmaster 涔嬪墠璇曡瘯涓嬮潰鐨勫懡浠わ細

	ulimit -d 262144
limit datasize 256m

鍙栧喅浜庝綘鐢ㄧ殑 shell錛屼笂闈㈠懡浠ゅ彧鏈変竴鏉¤兘鎴愬姛錛屼絾鏄畠灝嗘妸浣犵殑榪涚▼鏁版嵁孌甸檺鍒惰寰楁瘮杈冮珮錛? 鍥犺屼篃璁歌兘璁╂煡璇㈠畬鎴愩傝繖鏉″懡浠ゅ簲鐢ㄤ簬褰撳墠榪涚▼錛屼互鍙婃墍鏈夊湪榪欐潯鍛戒護榪愯鍚庡垱寤虹殑瀛愯繘紼嬨? 濡傛灉浣犳槸鍦ㄨ繍琛孲QL瀹㈡埛绔椂鍥犱負鍚庡彴榪斿洖浜嗗お澶氱殑鏁版嵁鑰屽嚭鐜伴棶棰橈紝璇峰湪榪愯瀹㈡埛绔箣鍓嶆墽琛屼笂榪板懡浠ゃ?

4.14)鎴戝浣曟墠鑳界煡閬撴墍榪愯鐨?PostgreSQL 鐨勭増鏈紵

浠?psql 閲岋紝杈撳叆 4.15)鎴戝浣曞垱寤轟竴涓己鐪佸兼槸褰撳墠鏃墮棿鐨勫瓧孌碉紵

浣跨敤 CURRENT_TIMESTAMP錛?

	CREATE TABLE test (x int, modtime TIMESTAMP DEFAULT CURRENT_TIMESTAMP );

4.16)鎴戞庢牱榪涜 outer join 錛堝榪炴帴錛夛紵

PostgreSQL 閲囩敤鏍囧噯鐨?SQL 璇硶鏀寔澶栬繛鎺ャ傝繖閲屾槸涓や釜渚嬪瓙錛?

	SELECT *
FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col);

鎴栨槸

	SELECT *
FROM t1 LEFT OUTER JOIN t2 USING (col);

榪欎袱涓瓑浠風殑鏌ヨ鍦?t1.col 鍜?t2.col 涓婂仛榪炴帴錛屽茍涓旇繑鍥?t1 涓墍鏈夋湭榪炴帴鐨勮錛堥偅浜涘湪 t2 涓病鏈夊尮閰嶇殑琛岋級銆? 鍙砙澶朷榪炴帴(RIGHT OUTER JOIN)灝嗚繑鍥?t2 涓湭榪炴帴鐨勮銆?瀹屽叏澶栬繛鎺ワ紙FULL OUTER JOIN錛夊皢榪斿洖 t1 鍜? t2 涓湭榪炴帴鐨勮銆?鍏抽敭瀛?OUTER 鍦ㄥ乏[澶朷榪炴帴銆佸彸[澶朷榪炴帴鍜屽畬鍏╗澶朷榪炴帴涓槸鍙夌殑錛屾櫘閫氳繛鎺ヨ縐頒負鍐呰繛鎺ワ紙INNER JOIN錛夈?

4.17)濡備綍浣跨敤娑夊強澶氫釜鏁版嵁搴撶殑鏌ヨ錛?/h4>

娌℃湁鍔炴硶鏌ヨ褰撳墠鏁版嵁搴撲箣澶栫殑鏁版嵁搴撱?鍥犱負 PostgreSQL 瑕佸姞杞戒笌鏁版嵁搴撶浉鍏崇殑緋葷粺鐩綍錛堢郴緇熻〃錛夛紝鍥犳璺ㄦ暟鎹簱鐨勬煡璇㈠浣曟墽琛屾槸涓嶅畾鐨勩?

闄勫姞澧炲兼ā鍧梒ontrib/dblink鍏佽閲囩敤鍑芥暟璋冪敤瀹炵幇璺ㄥ簱鏌ヨ銆傚綋鐒剁敤鎴蜂篃鍙互鍚屾椂榪炴帴鍒頒笉鍚岀殑鏁版嵁搴撴墽琛屾煡璇㈢劧鍚庡湪瀹㈡埛绔悎騫剁粨鏋溿?

4.18)濡備綍璁╁嚱鏁拌繑鍥炲琛屾垨澶氬垪錛?/h4>

鍦ㄥ嚱鏁頒腑榪斿洖鏁版嵁璁板綍闆嗙殑鍔熻兘鏄緢瀹規槗浣跨敤鐨勶紝璇︽儏鍙傝錛?http://techdocs.postgresql.org/guides/SetReturningFunctions

4.19)涓轟粈涔堟垜鍦ㄤ嬌鐢≒L/PgSQL鍑芥暟瀛樺彇涓存椂琛ㄦ椂浼氭敹鍒伴敊璇俊鎭渞elation with OID ##### does not exist鈥濓紵

PL/PgSQL浼氱紦瀛樺嚱鏁扮殑鍐呭錛岀敱姝ゅ甫鏉ョ殑涓涓笉濂界殑鍓綔鐢ㄦ槸鑻ヤ竴涓?PL/PgSQL 鍑芥暟璁塊棶浜嗕竴涓復鏃惰〃錛岀劧鍚庤琛ㄨ鍒犻櫎騫墮噸寤轟簡錛屽垯鍐嶆璋冪敤璇ュ嚱鏁板皢澶辮觸錛?鍥犱負緙撳瓨鐨勫嚱鏁板唴瀹逛粛鐒舵寚鍚戞棫鐨勪復鏃惰〃銆傝В鍐崇殑鏂規硶鏄湪 PL/PgSQL 涓敤EXECUTE 瀵逛復鏃惰〃榪涜璁塊棶銆傝繖鏍蜂細淇濊瘉鏌ヨ鍦ㄦ墽琛屽墠鎬諱細琚噸鏂拌В鏋愩?

4.27)鐩墠鏈夊摢浜涙暟鎹鍒舵柟妗堝彲鐢紵

鈥滃鍒垛濆彧鏄竴涓湳璇紝鏈夊ソ鍑犵澶嶅埗鎶鏈彲浣跨敤錛屾瘡縐嶉兘鏈変紭鐐瑰拰緙虹偣錛?

涓?浠庡鍒舵柟寮忔槸鍏佽涓涓富鏈嶅姟鍣ㄦ帴鍙楄/鍐欑殑鐢寵錛岃屽涓粠鏈嶅姟鍣ㄥ彧鑳芥帴鍙楄/SELECT鏌ヨ鐨勭敵璇鳳紝 鐩墠鏈嫻佽涓旀槸鍏嶈垂鐨勪富/浠?PostgreSQL澶嶅埗鏂規鏄?Slony-I 銆?

澶氫釜涓繪湇鍔″櫒鐨勫鍒舵柟寮忓厑璁稿皢璇?鍐欑殑鐢寵鍙戦佺粰澶氬彴鐨勮綆楁満錛岃繖縐嶆柟寮忕敱浜庨渶瑕佸湪澶氬彴鏈嶅姟鍣ㄤ箣闂村悓姝ユ暟鎹彉鍔?鍙兘浼氬甫鏉ヨ緝涓ラ噸鐨勬ц兘鎹熷け錛?a >Pgcluster鏄洰鍓嶈繖縐嶆柟妗?涓渶濂界殑錛岃屼笖榪樺彲浠ュ厤璐逛笅杞姐?

涔熸湁涓浜涘晢涓氶渶浠樿垂鍜屽熀浜庣‖浠剁殑鏁版嵁澶嶅埗鏂規錛屾敮鎸佷笂榪板悇縐嶅鍒舵ā鍨嬨?/p>


]]> 无码人妻久久一区二区三区免费丨 | 午夜精品久久影院蜜桃| 国产精品美女久久久免费| 久久久久亚洲av毛片大| 精产国品久久一二三产区区别| 少妇高潮惨叫久久久久久 | 国产成人久久精品麻豆一区| 久久精品国产亚洲AV不卡| 久久婷婷色综合一区二区| 久久精品成人国产午夜| 性做久久久久久免费观看| 99久久99久久久精品齐齐 | 88久久精品无码一区二区毛片 | 国产精品美女久久久久久2018| 精品久久久久久无码中文野结衣 | 久久人人爽人爽人人爽av | 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 一级做a爰片久久毛片看看| 国内精品伊人久久久久妇| 女人香蕉久久**毛片精品| 久久久一本精品99久久精品88| 九九99精品久久久久久| 久久精品国产免费观看三人同眠| 国产精品免费久久久久久久久 | 国产精品18久久久久久vr| 亚洲日韩欧美一区久久久久我 | 国产韩国精品一区二区三区久久| 久久SE精品一区二区| 久久亚洲中文字幕精品一区| 久久精品国产91久久综合麻豆自制 | 久久久久女人精品毛片| 亚洲精品97久久中文字幕无码| 91精品婷婷国产综合久久| 91精品国产综合久久婷婷| 久久婷婷五月综合色高清| 狠狠综合久久综合88亚洲| 国产精品乱码久久久久久软件 | 久久se这里只有精品| 一本伊大人香蕉久久网手机| 久久国产色AV免费观看| 东京热TOKYO综合久久精品|