pg_proc.dat 611 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046
  1. #----------------------------------------------------------------------
  2. #
  3. # pg_proc.dat
  4. # Initial contents of the pg_proc system catalog.
  5. #
  6. # Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
  7. # Portions Copyright (c) 1994, Regents of the University of California
  8. #
  9. # src/include/catalog/pg_proc.dat
  10. #
  11. #----------------------------------------------------------------------
  12. [
  13. # Note: every entry in pg_proc.dat is expected to have a 'descr' comment,
  14. # except for functions that implement pg_operator.dat operators and don't
  15. # have a good reason to be called directly rather than via the operator.
  16. # (If you do expect such a function to be used directly, you should
  17. # duplicate the operator's comment.) initdb will supply suitable default
  18. # comments for functions referenced by pg_operator.
  19. # Try to follow the style of existing functions' comments.
  20. # Some recommended conventions:
  21. #
  22. # "I/O" for typinput, typoutput, typreceive, typsend functions
  23. # "I/O typmod" for typmodin, typmodout functions
  24. # "aggregate transition function" for aggtransfn functions, unless
  25. # they are reasonably useful in their own right
  26. # "aggregate final function" for aggfinalfn functions (likewise)
  27. # "convert srctypename to desttypename" for cast functions
  28. # "less-equal-greater" for B-tree comparison functions
  29. # Note: pronargs is computed when this file is read, so it does not need
  30. # to be specified in entries here. See AddDefaultValues() in Catalog.pm.
  31. # Once upon a time these entries were ordered by OID. Lately it's often
  32. # been the custom to insert new entries adjacent to related older entries.
  33. # Try to do one or the other though, don't just insert entries at random.
  34. # OIDS 1 - 99
  35. { oid => '1242', descr => 'I/O',
  36. proname => 'boolin', prorettype => 'bool', proargtypes => 'cstring',
  37. prosrc => 'boolin' },
  38. { oid => '1243', descr => 'I/O',
  39. proname => 'boolout', prorettype => 'cstring', proargtypes => 'bool',
  40. prosrc => 'boolout' },
  41. { oid => '1244', descr => 'I/O',
  42. proname => 'byteain', prorettype => 'bytea', proargtypes => 'cstring',
  43. prosrc => 'byteain' },
  44. { oid => '31', descr => 'I/O',
  45. proname => 'byteaout', prorettype => 'cstring', proargtypes => 'bytea',
  46. prosrc => 'byteaout' },
  47. { oid => '1245', descr => 'I/O',
  48. proname => 'charin', prorettype => 'char', proargtypes => 'cstring',
  49. prosrc => 'charin' },
  50. { oid => '33', descr => 'I/O',
  51. proname => 'charout', prorettype => 'cstring', proargtypes => 'char',
  52. prosrc => 'charout' },
  53. { oid => '34', descr => 'I/O',
  54. proname => 'namein', prorettype => 'name', proargtypes => 'cstring',
  55. prosrc => 'namein' },
  56. { oid => '35', descr => 'I/O',
  57. proname => 'nameout', prorettype => 'cstring', proargtypes => 'name',
  58. prosrc => 'nameout' },
  59. { oid => '38', descr => 'I/O',
  60. proname => 'int2in', prorettype => 'int2', proargtypes => 'cstring',
  61. prosrc => 'int2in' },
  62. { oid => '39', descr => 'I/O',
  63. proname => 'int2out', prorettype => 'cstring', proargtypes => 'int2',
  64. prosrc => 'int2out' },
  65. { oid => '40', descr => 'I/O',
  66. proname => 'int2vectorin', prorettype => 'int2vector',
  67. proargtypes => 'cstring', prosrc => 'int2vectorin' },
  68. { oid => '41', descr => 'I/O',
  69. proname => 'int2vectorout', prorettype => 'cstring',
  70. proargtypes => 'int2vector', prosrc => 'int2vectorout' },
  71. { oid => '42', descr => 'I/O',
  72. proname => 'int4in', prorettype => 'int4', proargtypes => 'cstring',
  73. prosrc => 'int4in' },
  74. { oid => '43', descr => 'I/O',
  75. proname => 'int4out', prorettype => 'cstring', proargtypes => 'int4',
  76. prosrc => 'int4out' },
  77. { oid => '44', descr => 'I/O',
  78. proname => 'regprocin', provolatile => 's', prorettype => 'regproc',
  79. proargtypes => 'cstring', prosrc => 'regprocin' },
  80. { oid => '45', descr => 'I/O',
  81. proname => 'regprocout', provolatile => 's', prorettype => 'cstring',
  82. proargtypes => 'regproc', prosrc => 'regprocout' },
  83. { oid => '3494', descr => 'convert proname to regproc',
  84. proname => 'to_regproc', provolatile => 's', prorettype => 'regproc',
  85. proargtypes => 'text', prosrc => 'to_regproc' },
  86. { oid => '3479', descr => 'convert proname to regprocedure',
  87. proname => 'to_regprocedure', provolatile => 's',
  88. prorettype => 'regprocedure', proargtypes => 'text',
  89. prosrc => 'to_regprocedure' },
  90. { oid => '46', descr => 'I/O',
  91. proname => 'textin', prorettype => 'text', proargtypes => 'cstring',
  92. prosrc => 'textin' },
  93. { oid => '47', descr => 'I/O',
  94. proname => 'textout', prorettype => 'cstring', proargtypes => 'text',
  95. prosrc => 'textout' },
  96. { oid => '48', descr => 'I/O',
  97. proname => 'tidin', prorettype => 'tid', proargtypes => 'cstring',
  98. prosrc => 'tidin' },
  99. { oid => '49', descr => 'I/O',
  100. proname => 'tidout', prorettype => 'cstring', proargtypes => 'tid',
  101. prosrc => 'tidout' },
  102. { oid => '50', descr => 'I/O',
  103. proname => 'xidin', prorettype => 'xid', proargtypes => 'cstring',
  104. prosrc => 'xidin' },
  105. { oid => '51', descr => 'I/O',
  106. proname => 'xidout', prorettype => 'cstring', proargtypes => 'xid',
  107. prosrc => 'xidout' },
  108. { oid => '5070', descr => 'I/O',
  109. proname => 'xid8in', prorettype => 'xid8', proargtypes => 'cstring',
  110. prosrc => 'xid8in' },
  111. { oid => '5081', descr => 'I/O',
  112. proname => 'xid8out', prorettype => 'cstring', proargtypes => 'xid8',
  113. prosrc => 'xid8out' },
  114. { oid => '5082', descr => 'I/O',
  115. proname => 'xid8recv', prorettype => 'xid8', proargtypes => 'internal',
  116. prosrc => 'xid8recv' },
  117. { oid => '5083', descr => 'I/O',
  118. proname => 'xid8send', prorettype => 'bytea', proargtypes => 'xid8',
  119. prosrc => 'xid8send' },
  120. { oid => '52', descr => 'I/O',
  121. proname => 'cidin', prorettype => 'cid', proargtypes => 'cstring',
  122. prosrc => 'cidin' },
  123. { oid => '53', descr => 'I/O',
  124. proname => 'cidout', prorettype => 'cstring', proargtypes => 'cid',
  125. prosrc => 'cidout' },
  126. { oid => '54', descr => 'I/O',
  127. proname => 'oidvectorin', prorettype => 'oidvector', proargtypes => 'cstring',
  128. prosrc => 'oidvectorin' },
  129. { oid => '55', descr => 'I/O',
  130. proname => 'oidvectorout', prorettype => 'cstring',
  131. proargtypes => 'oidvector', prosrc => 'oidvectorout' },
  132. { oid => '56',
  133. proname => 'boollt', proleakproof => 't', prorettype => 'bool',
  134. proargtypes => 'bool bool', prosrc => 'boollt' },
  135. { oid => '57',
  136. proname => 'boolgt', proleakproof => 't', prorettype => 'bool',
  137. proargtypes => 'bool bool', prosrc => 'boolgt' },
  138. { oid => '60',
  139. proname => 'booleq', proleakproof => 't', prorettype => 'bool',
  140. proargtypes => 'bool bool', prosrc => 'booleq' },
  141. { oid => '61',
  142. proname => 'chareq', proleakproof => 't', prorettype => 'bool',
  143. proargtypes => 'char char', prosrc => 'chareq' },
  144. { oid => '62',
  145. proname => 'nameeq', proleakproof => 't', prorettype => 'bool',
  146. proargtypes => 'name name', prosrc => 'nameeq' },
  147. { oid => '63',
  148. proname => 'int2eq', proleakproof => 't', prorettype => 'bool',
  149. proargtypes => 'int2 int2', prosrc => 'int2eq' },
  150. { oid => '64',
  151. proname => 'int2lt', proleakproof => 't', prorettype => 'bool',
  152. proargtypes => 'int2 int2', prosrc => 'int2lt' },
  153. { oid => '65',
  154. proname => 'int4eq', proleakproof => 't', prorettype => 'bool',
  155. proargtypes => 'int4 int4', prosrc => 'int4eq' },
  156. { oid => '66',
  157. proname => 'int4lt', proleakproof => 't', prorettype => 'bool',
  158. proargtypes => 'int4 int4', prosrc => 'int4lt' },
  159. { oid => '67',
  160. proname => 'texteq', proleakproof => 't', prorettype => 'bool',
  161. proargtypes => 'text text', prosrc => 'texteq' },
  162. { oid => '3696',
  163. proname => 'starts_with', prosupport => 'text_starts_with_support',
  164. proleakproof => 't', prorettype => 'bool', proargtypes => 'text text',
  165. prosrc => 'text_starts_with' },
  166. { oid => '6242', descr => 'planner support for text_starts_with',
  167. proname => 'text_starts_with_support', prorettype => 'internal',
  168. proargtypes => 'internal', prosrc => 'text_starts_with_support' },
  169. { oid => '68',
  170. proname => 'xideq', proleakproof => 't', prorettype => 'bool',
  171. proargtypes => 'xid xid', prosrc => 'xideq' },
  172. { oid => '3308',
  173. proname => 'xidneq', proleakproof => 't', prorettype => 'bool',
  174. proargtypes => 'xid xid', prosrc => 'xidneq' },
  175. { oid => '5084',
  176. proname => 'xid8eq', proleakproof => 't', prorettype => 'bool',
  177. proargtypes => 'xid8 xid8', prosrc => 'xid8eq' },
  178. { oid => '5085',
  179. proname => 'xid8ne', proleakproof => 't', prorettype => 'bool',
  180. proargtypes => 'xid8 xid8', prosrc => 'xid8ne' },
  181. { oid => '5034',
  182. proname => 'xid8lt', proleakproof => 't', prorettype => 'bool',
  183. proargtypes => 'xid8 xid8', prosrc => 'xid8lt' },
  184. { oid => '5035',
  185. proname => 'xid8gt', proleakproof => 't', prorettype => 'bool',
  186. proargtypes => 'xid8 xid8', prosrc => 'xid8gt' },
  187. { oid => '5036',
  188. proname => 'xid8le', proleakproof => 't', prorettype => 'bool',
  189. proargtypes => 'xid8 xid8', prosrc => 'xid8le' },
  190. { oid => '5037',
  191. proname => 'xid8ge', proleakproof => 't', prorettype => 'bool',
  192. proargtypes => 'xid8 xid8', prosrc => 'xid8ge' },
  193. { oid => '5096', descr => 'less-equal-greater',
  194. proname => 'xid8cmp', proleakproof => 't', prorettype => 'int4',
  195. proargtypes => 'xid8 xid8', prosrc => 'xid8cmp' },
  196. { oid => '5071', descr => 'convert xid8 to xid',
  197. proname => 'xid', prorettype => 'xid', proargtypes => 'xid8',
  198. prosrc => 'xid8toxid' },
  199. { oid => '5097', descr => 'larger of two',
  200. proname => 'xid8_larger', prorettype => 'xid8', proargtypes => 'xid8 xid8',
  201. prosrc => 'xid8_larger' },
  202. { oid => '5098', descr => 'smaller of two',
  203. proname => 'xid8_smaller', prorettype => 'xid8', proargtypes => 'xid8 xid8',
  204. prosrc => 'xid8_smaller' },
  205. { oid => '69',
  206. proname => 'cideq', proleakproof => 't', prorettype => 'bool',
  207. proargtypes => 'cid cid', prosrc => 'cideq' },
  208. { oid => '70',
  209. proname => 'charne', proleakproof => 't', prorettype => 'bool',
  210. proargtypes => 'char char', prosrc => 'charne' },
  211. { oid => '1246',
  212. proname => 'charlt', proleakproof => 't', prorettype => 'bool',
  213. proargtypes => 'char char', prosrc => 'charlt' },
  214. { oid => '72',
  215. proname => 'charle', proleakproof => 't', prorettype => 'bool',
  216. proargtypes => 'char char', prosrc => 'charle' },
  217. { oid => '73',
  218. proname => 'chargt', proleakproof => 't', prorettype => 'bool',
  219. proargtypes => 'char char', prosrc => 'chargt' },
  220. { oid => '74',
  221. proname => 'charge', proleakproof => 't', prorettype => 'bool',
  222. proargtypes => 'char char', prosrc => 'charge' },
  223. { oid => '77', descr => 'convert char to int4',
  224. proname => 'int4', prorettype => 'int4', proargtypes => 'char',
  225. prosrc => 'chartoi4' },
  226. { oid => '78', descr => 'convert int4 to char',
  227. proname => 'char', prorettype => 'char', proargtypes => 'int4',
  228. prosrc => 'i4tochar' },
  229. { oid => '79',
  230. proname => 'nameregexeq', prosupport => 'textregexeq_support',
  231. prorettype => 'bool', proargtypes => 'name text', prosrc => 'nameregexeq' },
  232. { oid => '1252',
  233. proname => 'nameregexne', prorettype => 'bool', proargtypes => 'name text',
  234. prosrc => 'nameregexne' },
  235. { oid => '1254',
  236. proname => 'textregexeq', prosupport => 'textregexeq_support',
  237. prorettype => 'bool', proargtypes => 'text text', prosrc => 'textregexeq' },
  238. { oid => '1256',
  239. proname => 'textregexne', prorettype => 'bool', proargtypes => 'text text',
  240. prosrc => 'textregexne' },
  241. { oid => '1364', descr => 'planner support for textregexeq',
  242. proname => 'textregexeq_support', prorettype => 'internal',
  243. proargtypes => 'internal', prosrc => 'textregexeq_support' },
  244. { oid => '1257', descr => 'length',
  245. proname => 'textlen', prorettype => 'int4', proargtypes => 'text',
  246. prosrc => 'textlen' },
  247. { oid => '1258',
  248. proname => 'textcat', prorettype => 'text', proargtypes => 'text text',
  249. prosrc => 'textcat' },
  250. { oid => '84',
  251. proname => 'boolne', proleakproof => 't', prorettype => 'bool',
  252. proargtypes => 'bool bool', prosrc => 'boolne' },
  253. { oid => '89', descr => 'PostgreSQL version string',
  254. proname => 'version', provolatile => 's', prorettype => 'text',
  255. proargtypes => '', prosrc => 'pgsql_version' },
  256. { oid => '86', descr => 'I/O',
  257. proname => 'pg_ddl_command_in', prorettype => 'pg_ddl_command',
  258. proargtypes => 'cstring', prosrc => 'pg_ddl_command_in' },
  259. { oid => '87', descr => 'I/O',
  260. proname => 'pg_ddl_command_out', prorettype => 'cstring',
  261. proargtypes => 'pg_ddl_command', prosrc => 'pg_ddl_command_out' },
  262. { oid => '88', descr => 'I/O',
  263. proname => 'pg_ddl_command_recv', prorettype => 'pg_ddl_command',
  264. proargtypes => 'internal', prosrc => 'pg_ddl_command_recv' },
  265. { oid => '90', descr => 'I/O',
  266. proname => 'pg_ddl_command_send', prorettype => 'bytea',
  267. proargtypes => 'pg_ddl_command', prosrc => 'pg_ddl_command_send' },
  268. # OIDS 100 - 199
  269. { oid => '101', descr => 'restriction selectivity of = and related operators',
  270. proname => 'eqsel', provolatile => 's', prorettype => 'float8',
  271. proargtypes => 'internal oid internal int4', prosrc => 'eqsel' },
  272. { oid => '102',
  273. descr => 'restriction selectivity of <> and related operators',
  274. proname => 'neqsel', provolatile => 's', prorettype => 'float8',
  275. proargtypes => 'internal oid internal int4', prosrc => 'neqsel' },
  276. { oid => '103',
  277. descr => 'restriction selectivity of < and related operators on scalar datatypes',
  278. proname => 'scalarltsel', provolatile => 's', prorettype => 'float8',
  279. proargtypes => 'internal oid internal int4', prosrc => 'scalarltsel' },
  280. { oid => '104',
  281. descr => 'restriction selectivity of > and related operators on scalar datatypes',
  282. proname => 'scalargtsel', provolatile => 's', prorettype => 'float8',
  283. proargtypes => 'internal oid internal int4', prosrc => 'scalargtsel' },
  284. { oid => '105', descr => 'join selectivity of = and related operators',
  285. proname => 'eqjoinsel', provolatile => 's', prorettype => 'float8',
  286. proargtypes => 'internal oid internal int2 internal', prosrc => 'eqjoinsel' },
  287. { oid => '106', descr => 'join selectivity of <> and related operators',
  288. proname => 'neqjoinsel', provolatile => 's', prorettype => 'float8',
  289. proargtypes => 'internal oid internal int2 internal',
  290. prosrc => 'neqjoinsel' },
  291. { oid => '107',
  292. descr => 'join selectivity of < and related operators on scalar datatypes',
  293. proname => 'scalarltjoinsel', provolatile => 's', prorettype => 'float8',
  294. proargtypes => 'internal oid internal int2 internal',
  295. prosrc => 'scalarltjoinsel' },
  296. { oid => '108',
  297. descr => 'join selectivity of > and related operators on scalar datatypes',
  298. proname => 'scalargtjoinsel', provolatile => 's', prorettype => 'float8',
  299. proargtypes => 'internal oid internal int2 internal',
  300. prosrc => 'scalargtjoinsel' },
  301. { oid => '336',
  302. descr => 'restriction selectivity of <= and related operators on scalar datatypes',
  303. proname => 'scalarlesel', provolatile => 's', prorettype => 'float8',
  304. proargtypes => 'internal oid internal int4', prosrc => 'scalarlesel' },
  305. { oid => '337',
  306. descr => 'restriction selectivity of >= and related operators on scalar datatypes',
  307. proname => 'scalargesel', provolatile => 's', prorettype => 'float8',
  308. proargtypes => 'internal oid internal int4', prosrc => 'scalargesel' },
  309. { oid => '386',
  310. descr => 'join selectivity of <= and related operators on scalar datatypes',
  311. proname => 'scalarlejoinsel', provolatile => 's', prorettype => 'float8',
  312. proargtypes => 'internal oid internal int2 internal',
  313. prosrc => 'scalarlejoinsel' },
  314. { oid => '398',
  315. descr => 'join selectivity of >= and related operators on scalar datatypes',
  316. proname => 'scalargejoinsel', provolatile => 's', prorettype => 'float8',
  317. proargtypes => 'internal oid internal int2 internal',
  318. prosrc => 'scalargejoinsel' },
  319. { oid => '109', descr => 'I/O',
  320. proname => 'unknownin', prorettype => 'unknown', proargtypes => 'cstring',
  321. prosrc => 'unknownin' },
  322. { oid => '110', descr => 'I/O',
  323. proname => 'unknownout', prorettype => 'cstring', proargtypes => 'unknown',
  324. prosrc => 'unknownout' },
  325. { oid => '115',
  326. proname => 'box_above_eq', prorettype => 'bool', proargtypes => 'box box',
  327. prosrc => 'box_above_eq' },
  328. { oid => '116',
  329. proname => 'box_below_eq', prorettype => 'bool', proargtypes => 'box box',
  330. prosrc => 'box_below_eq' },
  331. { oid => '117', descr => 'I/O',
  332. proname => 'point_in', prorettype => 'point', proargtypes => 'cstring',
  333. prosrc => 'point_in' },
  334. { oid => '118', descr => 'I/O',
  335. proname => 'point_out', prorettype => 'cstring', proargtypes => 'point',
  336. prosrc => 'point_out' },
  337. { oid => '119', descr => 'I/O',
  338. proname => 'lseg_in', prorettype => 'lseg', proargtypes => 'cstring',
  339. prosrc => 'lseg_in' },
  340. { oid => '120', descr => 'I/O',
  341. proname => 'lseg_out', prorettype => 'cstring', proargtypes => 'lseg',
  342. prosrc => 'lseg_out' },
  343. { oid => '121', descr => 'I/O',
  344. proname => 'path_in', prorettype => 'path', proargtypes => 'cstring',
  345. prosrc => 'path_in' },
  346. { oid => '122', descr => 'I/O',
  347. proname => 'path_out', prorettype => 'cstring', proargtypes => 'path',
  348. prosrc => 'path_out' },
  349. { oid => '123', descr => 'I/O',
  350. proname => 'box_in', prorettype => 'box', proargtypes => 'cstring',
  351. prosrc => 'box_in' },
  352. { oid => '124', descr => 'I/O',
  353. proname => 'box_out', prorettype => 'cstring', proargtypes => 'box',
  354. prosrc => 'box_out' },
  355. { oid => '125',
  356. proname => 'box_overlap', prorettype => 'bool', proargtypes => 'box box',
  357. prosrc => 'box_overlap' },
  358. { oid => '126',
  359. proname => 'box_ge', prorettype => 'bool', proargtypes => 'box box',
  360. prosrc => 'box_ge' },
  361. { oid => '127',
  362. proname => 'box_gt', prorettype => 'bool', proargtypes => 'box box',
  363. prosrc => 'box_gt' },
  364. { oid => '128',
  365. proname => 'box_eq', prorettype => 'bool', proargtypes => 'box box',
  366. prosrc => 'box_eq' },
  367. { oid => '129',
  368. proname => 'box_lt', prorettype => 'bool', proargtypes => 'box box',
  369. prosrc => 'box_lt' },
  370. { oid => '130',
  371. proname => 'box_le', prorettype => 'bool', proargtypes => 'box box',
  372. prosrc => 'box_le' },
  373. { oid => '131',
  374. proname => 'point_above', prorettype => 'bool', proargtypes => 'point point',
  375. prosrc => 'point_above' },
  376. { oid => '132',
  377. proname => 'point_left', prorettype => 'bool', proargtypes => 'point point',
  378. prosrc => 'point_left' },
  379. { oid => '133',
  380. proname => 'point_right', prorettype => 'bool', proargtypes => 'point point',
  381. prosrc => 'point_right' },
  382. { oid => '134',
  383. proname => 'point_below', prorettype => 'bool', proargtypes => 'point point',
  384. prosrc => 'point_below' },
  385. { oid => '135',
  386. proname => 'point_eq', prorettype => 'bool', proargtypes => 'point point',
  387. prosrc => 'point_eq' },
  388. { oid => '136',
  389. proname => 'on_pb', prorettype => 'bool', proargtypes => 'point box',
  390. prosrc => 'on_pb' },
  391. { oid => '137',
  392. proname => 'on_ppath', prorettype => 'bool', proargtypes => 'point path',
  393. prosrc => 'on_ppath' },
  394. { oid => '138',
  395. proname => 'box_center', prorettype => 'point', proargtypes => 'box',
  396. prosrc => 'box_center' },
  397. { oid => '139',
  398. descr => 'restriction selectivity for area-comparison operators',
  399. proname => 'areasel', provolatile => 's', prorettype => 'float8',
  400. proargtypes => 'internal oid internal int4', prosrc => 'areasel' },
  401. { oid => '140', descr => 'join selectivity for area-comparison operators',
  402. proname => 'areajoinsel', provolatile => 's', prorettype => 'float8',
  403. proargtypes => 'internal oid internal int2 internal',
  404. prosrc => 'areajoinsel' },
  405. { oid => '141',
  406. proname => 'int4mul', prorettype => 'int4', proargtypes => 'int4 int4',
  407. prosrc => 'int4mul' },
  408. { oid => '144',
  409. proname => 'int4ne', proleakproof => 't', prorettype => 'bool',
  410. proargtypes => 'int4 int4', prosrc => 'int4ne' },
  411. { oid => '145',
  412. proname => 'int2ne', proleakproof => 't', prorettype => 'bool',
  413. proargtypes => 'int2 int2', prosrc => 'int2ne' },
  414. { oid => '146',
  415. proname => 'int2gt', proleakproof => 't', prorettype => 'bool',
  416. proargtypes => 'int2 int2', prosrc => 'int2gt' },
  417. { oid => '147',
  418. proname => 'int4gt', proleakproof => 't', prorettype => 'bool',
  419. proargtypes => 'int4 int4', prosrc => 'int4gt' },
  420. { oid => '148',
  421. proname => 'int2le', proleakproof => 't', prorettype => 'bool',
  422. proargtypes => 'int2 int2', prosrc => 'int2le' },
  423. { oid => '149',
  424. proname => 'int4le', proleakproof => 't', prorettype => 'bool',
  425. proargtypes => 'int4 int4', prosrc => 'int4le' },
  426. { oid => '150',
  427. proname => 'int4ge', proleakproof => 't', prorettype => 'bool',
  428. proargtypes => 'int4 int4', prosrc => 'int4ge' },
  429. { oid => '151',
  430. proname => 'int2ge', proleakproof => 't', prorettype => 'bool',
  431. proargtypes => 'int2 int2', prosrc => 'int2ge' },
  432. { oid => '152',
  433. proname => 'int2mul', prorettype => 'int2', proargtypes => 'int2 int2',
  434. prosrc => 'int2mul' },
  435. { oid => '153',
  436. proname => 'int2div', prorettype => 'int2', proargtypes => 'int2 int2',
  437. prosrc => 'int2div' },
  438. { oid => '154',
  439. proname => 'int4div', prorettype => 'int4', proargtypes => 'int4 int4',
  440. prosrc => 'int4div' },
  441. { oid => '155',
  442. proname => 'int2mod', prorettype => 'int2', proargtypes => 'int2 int2',
  443. prosrc => 'int2mod' },
  444. { oid => '156',
  445. proname => 'int4mod', prorettype => 'int4', proargtypes => 'int4 int4',
  446. prosrc => 'int4mod' },
  447. { oid => '157',
  448. proname => 'textne', proleakproof => 't', prorettype => 'bool',
  449. proargtypes => 'text text', prosrc => 'textne' },
  450. { oid => '158',
  451. proname => 'int24eq', proleakproof => 't', prorettype => 'bool',
  452. proargtypes => 'int2 int4', prosrc => 'int24eq' },
  453. { oid => '159',
  454. proname => 'int42eq', proleakproof => 't', prorettype => 'bool',
  455. proargtypes => 'int4 int2', prosrc => 'int42eq' },
  456. { oid => '160',
  457. proname => 'int24lt', proleakproof => 't', prorettype => 'bool',
  458. proargtypes => 'int2 int4', prosrc => 'int24lt' },
  459. { oid => '161',
  460. proname => 'int42lt', proleakproof => 't', prorettype => 'bool',
  461. proargtypes => 'int4 int2', prosrc => 'int42lt' },
  462. { oid => '162',
  463. proname => 'int24gt', proleakproof => 't', prorettype => 'bool',
  464. proargtypes => 'int2 int4', prosrc => 'int24gt' },
  465. { oid => '163',
  466. proname => 'int42gt', proleakproof => 't', prorettype => 'bool',
  467. proargtypes => 'int4 int2', prosrc => 'int42gt' },
  468. { oid => '164',
  469. proname => 'int24ne', proleakproof => 't', prorettype => 'bool',
  470. proargtypes => 'int2 int4', prosrc => 'int24ne' },
  471. { oid => '165',
  472. proname => 'int42ne', proleakproof => 't', prorettype => 'bool',
  473. proargtypes => 'int4 int2', prosrc => 'int42ne' },
  474. { oid => '166',
  475. proname => 'int24le', proleakproof => 't', prorettype => 'bool',
  476. proargtypes => 'int2 int4', prosrc => 'int24le' },
  477. { oid => '167',
  478. proname => 'int42le', proleakproof => 't', prorettype => 'bool',
  479. proargtypes => 'int4 int2', prosrc => 'int42le' },
  480. { oid => '168',
  481. proname => 'int24ge', proleakproof => 't', prorettype => 'bool',
  482. proargtypes => 'int2 int4', prosrc => 'int24ge' },
  483. { oid => '169',
  484. proname => 'int42ge', proleakproof => 't', prorettype => 'bool',
  485. proargtypes => 'int4 int2', prosrc => 'int42ge' },
  486. { oid => '170',
  487. proname => 'int24mul', prorettype => 'int4', proargtypes => 'int2 int4',
  488. prosrc => 'int24mul' },
  489. { oid => '171',
  490. proname => 'int42mul', prorettype => 'int4', proargtypes => 'int4 int2',
  491. prosrc => 'int42mul' },
  492. { oid => '172',
  493. proname => 'int24div', prorettype => 'int4', proargtypes => 'int2 int4',
  494. prosrc => 'int24div' },
  495. { oid => '173',
  496. proname => 'int42div', prorettype => 'int4', proargtypes => 'int4 int2',
  497. prosrc => 'int42div' },
  498. { oid => '176',
  499. proname => 'int2pl', prorettype => 'int2', proargtypes => 'int2 int2',
  500. prosrc => 'int2pl' },
  501. { oid => '177',
  502. proname => 'int4pl', prorettype => 'int4', proargtypes => 'int4 int4',
  503. prosrc => 'int4pl' },
  504. { oid => '178',
  505. proname => 'int24pl', prorettype => 'int4', proargtypes => 'int2 int4',
  506. prosrc => 'int24pl' },
  507. { oid => '179',
  508. proname => 'int42pl', prorettype => 'int4', proargtypes => 'int4 int2',
  509. prosrc => 'int42pl' },
  510. { oid => '180',
  511. proname => 'int2mi', prorettype => 'int2', proargtypes => 'int2 int2',
  512. prosrc => 'int2mi' },
  513. { oid => '181',
  514. proname => 'int4mi', prorettype => 'int4', proargtypes => 'int4 int4',
  515. prosrc => 'int4mi' },
  516. { oid => '182',
  517. proname => 'int24mi', prorettype => 'int4', proargtypes => 'int2 int4',
  518. prosrc => 'int24mi' },
  519. { oid => '183',
  520. proname => 'int42mi', prorettype => 'int4', proargtypes => 'int4 int2',
  521. prosrc => 'int42mi' },
  522. { oid => '184',
  523. proname => 'oideq', proleakproof => 't', prorettype => 'bool',
  524. proargtypes => 'oid oid', prosrc => 'oideq' },
  525. { oid => '185',
  526. proname => 'oidne', proleakproof => 't', prorettype => 'bool',
  527. proargtypes => 'oid oid', prosrc => 'oidne' },
  528. { oid => '186',
  529. proname => 'box_same', prorettype => 'bool', proargtypes => 'box box',
  530. prosrc => 'box_same' },
  531. { oid => '187',
  532. proname => 'box_contain', prorettype => 'bool', proargtypes => 'box box',
  533. prosrc => 'box_contain' },
  534. { oid => '188',
  535. proname => 'box_left', prorettype => 'bool', proargtypes => 'box box',
  536. prosrc => 'box_left' },
  537. { oid => '189',
  538. proname => 'box_overleft', prorettype => 'bool', proargtypes => 'box box',
  539. prosrc => 'box_overleft' },
  540. { oid => '190',
  541. proname => 'box_overright', prorettype => 'bool', proargtypes => 'box box',
  542. prosrc => 'box_overright' },
  543. { oid => '191',
  544. proname => 'box_right', prorettype => 'bool', proargtypes => 'box box',
  545. prosrc => 'box_right' },
  546. { oid => '192',
  547. proname => 'box_contained', prorettype => 'bool', proargtypes => 'box box',
  548. prosrc => 'box_contained' },
  549. { oid => '193',
  550. proname => 'box_contain_pt', prorettype => 'bool', proargtypes => 'box point',
  551. prosrc => 'box_contain_pt' },
  552. { oid => '195', descr => 'I/O',
  553. proname => 'pg_node_tree_in', prorettype => 'pg_node_tree',
  554. proargtypes => 'cstring', prosrc => 'pg_node_tree_in' },
  555. { oid => '196', descr => 'I/O',
  556. proname => 'pg_node_tree_out', prorettype => 'cstring',
  557. proargtypes => 'pg_node_tree', prosrc => 'pg_node_tree_out' },
  558. { oid => '197', descr => 'I/O',
  559. proname => 'pg_node_tree_recv', provolatile => 's',
  560. prorettype => 'pg_node_tree', proargtypes => 'internal',
  561. prosrc => 'pg_node_tree_recv' },
  562. { oid => '198', descr => 'I/O',
  563. proname => 'pg_node_tree_send', provolatile => 's', prorettype => 'bytea',
  564. proargtypes => 'pg_node_tree', prosrc => 'pg_node_tree_send' },
  565. # OIDS 200 - 299
  566. { oid => '200', descr => 'I/O',
  567. proname => 'float4in', prorettype => 'float4', proargtypes => 'cstring',
  568. prosrc => 'float4in' },
  569. { oid => '201', descr => 'I/O',
  570. proname => 'float4out', prorettype => 'cstring', proargtypes => 'float4',
  571. prosrc => 'float4out' },
  572. { oid => '202',
  573. proname => 'float4mul', prorettype => 'float4',
  574. proargtypes => 'float4 float4', prosrc => 'float4mul' },
  575. { oid => '203',
  576. proname => 'float4div', prorettype => 'float4',
  577. proargtypes => 'float4 float4', prosrc => 'float4div' },
  578. { oid => '204',
  579. proname => 'float4pl', prorettype => 'float4', proargtypes => 'float4 float4',
  580. prosrc => 'float4pl' },
  581. { oid => '205',
  582. proname => 'float4mi', prorettype => 'float4', proargtypes => 'float4 float4',
  583. prosrc => 'float4mi' },
  584. { oid => '206',
  585. proname => 'float4um', prorettype => 'float4', proargtypes => 'float4',
  586. prosrc => 'float4um' },
  587. { oid => '207',
  588. proname => 'float4abs', prorettype => 'float4', proargtypes => 'float4',
  589. prosrc => 'float4abs' },
  590. { oid => '208', descr => 'aggregate transition function',
  591. proname => 'float4_accum', prorettype => '_float8',
  592. proargtypes => '_float8 float4', prosrc => 'float4_accum' },
  593. { oid => '209', descr => 'larger of two',
  594. proname => 'float4larger', prorettype => 'float4',
  595. proargtypes => 'float4 float4', prosrc => 'float4larger' },
  596. { oid => '211', descr => 'smaller of two',
  597. proname => 'float4smaller', prorettype => 'float4',
  598. proargtypes => 'float4 float4', prosrc => 'float4smaller' },
  599. { oid => '212',
  600. proname => 'int4um', prorettype => 'int4', proargtypes => 'int4',
  601. prosrc => 'int4um' },
  602. { oid => '213',
  603. proname => 'int2um', prorettype => 'int2', proargtypes => 'int2',
  604. prosrc => 'int2um' },
  605. { oid => '214', descr => 'I/O',
  606. proname => 'float8in', prorettype => 'float8', proargtypes => 'cstring',
  607. prosrc => 'float8in' },
  608. { oid => '215', descr => 'I/O',
  609. proname => 'float8out', prorettype => 'cstring', proargtypes => 'float8',
  610. prosrc => 'float8out' },
  611. { oid => '216',
  612. proname => 'float8mul', prorettype => 'float8',
  613. proargtypes => 'float8 float8', prosrc => 'float8mul' },
  614. { oid => '217',
  615. proname => 'float8div', prorettype => 'float8',
  616. proargtypes => 'float8 float8', prosrc => 'float8div' },
  617. { oid => '218',
  618. proname => 'float8pl', prorettype => 'float8', proargtypes => 'float8 float8',
  619. prosrc => 'float8pl' },
  620. { oid => '219',
  621. proname => 'float8mi', prorettype => 'float8', proargtypes => 'float8 float8',
  622. prosrc => 'float8mi' },
  623. { oid => '220',
  624. proname => 'float8um', prorettype => 'float8', proargtypes => 'float8',
  625. prosrc => 'float8um' },
  626. { oid => '221',
  627. proname => 'float8abs', prorettype => 'float8', proargtypes => 'float8',
  628. prosrc => 'float8abs' },
  629. { oid => '222', descr => 'aggregate transition function',
  630. proname => 'float8_accum', prorettype => '_float8',
  631. proargtypes => '_float8 float8', prosrc => 'float8_accum' },
  632. { oid => '276', descr => 'aggregate combine function',
  633. proname => 'float8_combine', prorettype => '_float8',
  634. proargtypes => '_float8 _float8', prosrc => 'float8_combine' },
  635. { oid => '223', descr => 'larger of two',
  636. proname => 'float8larger', prorettype => 'float8',
  637. proargtypes => 'float8 float8', prosrc => 'float8larger' },
  638. { oid => '224', descr => 'smaller of two',
  639. proname => 'float8smaller', prorettype => 'float8',
  640. proargtypes => 'float8 float8', prosrc => 'float8smaller' },
  641. { oid => '225',
  642. proname => 'lseg_center', prorettype => 'point', proargtypes => 'lseg',
  643. prosrc => 'lseg_center' },
  644. { oid => '227',
  645. proname => 'poly_center', prorettype => 'point', proargtypes => 'polygon',
  646. prosrc => 'poly_center' },
  647. { oid => '228', descr => 'round to nearest integer',
  648. proname => 'dround', prorettype => 'float8', proargtypes => 'float8',
  649. prosrc => 'dround' },
  650. { oid => '229', descr => 'truncate to integer',
  651. proname => 'dtrunc', prorettype => 'float8', proargtypes => 'float8',
  652. prosrc => 'dtrunc' },
  653. { oid => '2308', descr => 'nearest integer >= value',
  654. proname => 'ceil', prorettype => 'float8', proargtypes => 'float8',
  655. prosrc => 'dceil' },
  656. { oid => '2320', descr => 'nearest integer >= value',
  657. proname => 'ceiling', prorettype => 'float8', proargtypes => 'float8',
  658. prosrc => 'dceil' },
  659. { oid => '2309', descr => 'nearest integer <= value',
  660. proname => 'floor', prorettype => 'float8', proargtypes => 'float8',
  661. prosrc => 'dfloor' },
  662. { oid => '2310', descr => 'sign of value',
  663. proname => 'sign', prorettype => 'float8', proargtypes => 'float8',
  664. prosrc => 'dsign' },
  665. { oid => '230',
  666. proname => 'dsqrt', prorettype => 'float8', proargtypes => 'float8',
  667. prosrc => 'dsqrt' },
  668. { oid => '231',
  669. proname => 'dcbrt', prorettype => 'float8', proargtypes => 'float8',
  670. prosrc => 'dcbrt' },
  671. { oid => '232',
  672. proname => 'dpow', prorettype => 'float8', proargtypes => 'float8 float8',
  673. prosrc => 'dpow' },
  674. { oid => '233', descr => 'natural exponential (e^x)',
  675. proname => 'dexp', prorettype => 'float8', proargtypes => 'float8',
  676. prosrc => 'dexp' },
  677. { oid => '234', descr => 'natural logarithm',
  678. proname => 'dlog1', prorettype => 'float8', proargtypes => 'float8',
  679. prosrc => 'dlog1' },
  680. { oid => '235', descr => 'convert int2 to float8',
  681. proname => 'float8', proleakproof => 't', prorettype => 'float8',
  682. proargtypes => 'int2', prosrc => 'i2tod' },
  683. { oid => '236', descr => 'convert int2 to float4',
  684. proname => 'float4', proleakproof => 't', prorettype => 'float4',
  685. proargtypes => 'int2', prosrc => 'i2tof' },
  686. { oid => '237', descr => 'convert float8 to int2',
  687. proname => 'int2', prorettype => 'int2', proargtypes => 'float8',
  688. prosrc => 'dtoi2' },
  689. { oid => '238', descr => 'convert float4 to int2',
  690. proname => 'int2', prorettype => 'int2', proargtypes => 'float4',
  691. prosrc => 'ftoi2' },
  692. { oid => '239',
  693. proname => 'line_distance', prorettype => 'float8',
  694. proargtypes => 'line line', prosrc => 'line_distance' },
  695. { oid => '240',
  696. proname => 'nameeqtext', proleakproof => 't', prorettype => 'bool',
  697. proargtypes => 'name text', prosrc => 'nameeqtext' },
  698. { oid => '241',
  699. proname => 'namelttext', proleakproof => 't', prorettype => 'bool',
  700. proargtypes => 'name text', prosrc => 'namelttext' },
  701. { oid => '242',
  702. proname => 'nameletext', proleakproof => 't', prorettype => 'bool',
  703. proargtypes => 'name text', prosrc => 'nameletext' },
  704. { oid => '243',
  705. proname => 'namegetext', proleakproof => 't', prorettype => 'bool',
  706. proargtypes => 'name text', prosrc => 'namegetext' },
  707. { oid => '244',
  708. proname => 'namegttext', proleakproof => 't', prorettype => 'bool',
  709. proargtypes => 'name text', prosrc => 'namegttext' },
  710. { oid => '245',
  711. proname => 'namenetext', proleakproof => 't', prorettype => 'bool',
  712. proargtypes => 'name text', prosrc => 'namenetext' },
  713. { oid => '246', descr => 'less-equal-greater',
  714. proname => 'btnametextcmp', proleakproof => 't', prorettype => 'int4',
  715. proargtypes => 'name text', prosrc => 'btnametextcmp' },
  716. { oid => '247',
  717. proname => 'texteqname', proleakproof => 't', prorettype => 'bool',
  718. proargtypes => 'text name', prosrc => 'texteqname' },
  719. { oid => '248',
  720. proname => 'textltname', proleakproof => 't', prorettype => 'bool',
  721. proargtypes => 'text name', prosrc => 'textltname' },
  722. { oid => '249',
  723. proname => 'textlename', proleakproof => 't', prorettype => 'bool',
  724. proargtypes => 'text name', prosrc => 'textlename' },
  725. { oid => '250',
  726. proname => 'textgename', proleakproof => 't', prorettype => 'bool',
  727. proargtypes => 'text name', prosrc => 'textgename' },
  728. { oid => '251',
  729. proname => 'textgtname', proleakproof => 't', prorettype => 'bool',
  730. proargtypes => 'text name', prosrc => 'textgtname' },
  731. { oid => '252',
  732. proname => 'textnename', proleakproof => 't', prorettype => 'bool',
  733. proargtypes => 'text name', prosrc => 'textnename' },
  734. { oid => '253', descr => 'less-equal-greater',
  735. proname => 'bttextnamecmp', proleakproof => 't', prorettype => 'int4',
  736. proargtypes => 'text name', prosrc => 'bttextnamecmp' },
  737. { oid => '266', descr => 'concatenate name and oid',
  738. proname => 'nameconcatoid', prorettype => 'name', proargtypes => 'name oid',
  739. prosrc => 'nameconcatoid' },
  740. { oid => '274',
  741. descr => 'current date and time - increments during transactions',
  742. proname => 'timeofday', provolatile => 'v', prorettype => 'text',
  743. proargtypes => '', prosrc => 'timeofday' },
  744. { oid => '277',
  745. proname => 'inter_sl', prorettype => 'bool', proargtypes => 'lseg line',
  746. prosrc => 'inter_sl' },
  747. { oid => '278',
  748. proname => 'inter_lb', prorettype => 'bool', proargtypes => 'line box',
  749. prosrc => 'inter_lb' },
  750. { oid => '279',
  751. proname => 'float48mul', prorettype => 'float8',
  752. proargtypes => 'float4 float8', prosrc => 'float48mul' },
  753. { oid => '280',
  754. proname => 'float48div', prorettype => 'float8',
  755. proargtypes => 'float4 float8', prosrc => 'float48div' },
  756. { oid => '281',
  757. proname => 'float48pl', prorettype => 'float8',
  758. proargtypes => 'float4 float8', prosrc => 'float48pl' },
  759. { oid => '282',
  760. proname => 'float48mi', prorettype => 'float8',
  761. proargtypes => 'float4 float8', prosrc => 'float48mi' },
  762. { oid => '283',
  763. proname => 'float84mul', prorettype => 'float8',
  764. proargtypes => 'float8 float4', prosrc => 'float84mul' },
  765. { oid => '284',
  766. proname => 'float84div', prorettype => 'float8',
  767. proargtypes => 'float8 float4', prosrc => 'float84div' },
  768. { oid => '285',
  769. proname => 'float84pl', prorettype => 'float8',
  770. proargtypes => 'float8 float4', prosrc => 'float84pl' },
  771. { oid => '286',
  772. proname => 'float84mi', prorettype => 'float8',
  773. proargtypes => 'float8 float4', prosrc => 'float84mi' },
  774. { oid => '287',
  775. proname => 'float4eq', proleakproof => 't', prorettype => 'bool',
  776. proargtypes => 'float4 float4', prosrc => 'float4eq' },
  777. { oid => '288',
  778. proname => 'float4ne', proleakproof => 't', prorettype => 'bool',
  779. proargtypes => 'float4 float4', prosrc => 'float4ne' },
  780. { oid => '289',
  781. proname => 'float4lt', proleakproof => 't', prorettype => 'bool',
  782. proargtypes => 'float4 float4', prosrc => 'float4lt' },
  783. { oid => '290',
  784. proname => 'float4le', proleakproof => 't', prorettype => 'bool',
  785. proargtypes => 'float4 float4', prosrc => 'float4le' },
  786. { oid => '291',
  787. proname => 'float4gt', proleakproof => 't', prorettype => 'bool',
  788. proargtypes => 'float4 float4', prosrc => 'float4gt' },
  789. { oid => '292',
  790. proname => 'float4ge', proleakproof => 't', prorettype => 'bool',
  791. proargtypes => 'float4 float4', prosrc => 'float4ge' },
  792. { oid => '293',
  793. proname => 'float8eq', proleakproof => 't', prorettype => 'bool',
  794. proargtypes => 'float8 float8', prosrc => 'float8eq' },
  795. { oid => '294',
  796. proname => 'float8ne', proleakproof => 't', prorettype => 'bool',
  797. proargtypes => 'float8 float8', prosrc => 'float8ne' },
  798. { oid => '295',
  799. proname => 'float8lt', proleakproof => 't', prorettype => 'bool',
  800. proargtypes => 'float8 float8', prosrc => 'float8lt' },
  801. { oid => '296',
  802. proname => 'float8le', proleakproof => 't', prorettype => 'bool',
  803. proargtypes => 'float8 float8', prosrc => 'float8le' },
  804. { oid => '297',
  805. proname => 'float8gt', proleakproof => 't', prorettype => 'bool',
  806. proargtypes => 'float8 float8', prosrc => 'float8gt' },
  807. { oid => '298',
  808. proname => 'float8ge', proleakproof => 't', prorettype => 'bool',
  809. proargtypes => 'float8 float8', prosrc => 'float8ge' },
  810. { oid => '299',
  811. proname => 'float48eq', proleakproof => 't', prorettype => 'bool',
  812. proargtypes => 'float4 float8', prosrc => 'float48eq' },
  813. # OIDS 300 - 399
  814. { oid => '300',
  815. proname => 'float48ne', proleakproof => 't', prorettype => 'bool',
  816. proargtypes => 'float4 float8', prosrc => 'float48ne' },
  817. { oid => '301',
  818. proname => 'float48lt', proleakproof => 't', prorettype => 'bool',
  819. proargtypes => 'float4 float8', prosrc => 'float48lt' },
  820. { oid => '302',
  821. proname => 'float48le', proleakproof => 't', prorettype => 'bool',
  822. proargtypes => 'float4 float8', prosrc => 'float48le' },
  823. { oid => '303',
  824. proname => 'float48gt', proleakproof => 't', prorettype => 'bool',
  825. proargtypes => 'float4 float8', prosrc => 'float48gt' },
  826. { oid => '304',
  827. proname => 'float48ge', proleakproof => 't', prorettype => 'bool',
  828. proargtypes => 'float4 float8', prosrc => 'float48ge' },
  829. { oid => '305',
  830. proname => 'float84eq', proleakproof => 't', prorettype => 'bool',
  831. proargtypes => 'float8 float4', prosrc => 'float84eq' },
  832. { oid => '306',
  833. proname => 'float84ne', proleakproof => 't', prorettype => 'bool',
  834. proargtypes => 'float8 float4', prosrc => 'float84ne' },
  835. { oid => '307',
  836. proname => 'float84lt', proleakproof => 't', prorettype => 'bool',
  837. proargtypes => 'float8 float4', prosrc => 'float84lt' },
  838. { oid => '308',
  839. proname => 'float84le', proleakproof => 't', prorettype => 'bool',
  840. proargtypes => 'float8 float4', prosrc => 'float84le' },
  841. { oid => '309',
  842. proname => 'float84gt', proleakproof => 't', prorettype => 'bool',
  843. proargtypes => 'float8 float4', prosrc => 'float84gt' },
  844. { oid => '310',
  845. proname => 'float84ge', proleakproof => 't', prorettype => 'bool',
  846. proargtypes => 'float8 float4', prosrc => 'float84ge' },
  847. { oid => '320', descr => 'bucket number of operand in equal-width histogram',
  848. proname => 'width_bucket', prorettype => 'int4',
  849. proargtypes => 'float8 float8 float8 int4', prosrc => 'width_bucket_float8' },
  850. { oid => '311', descr => 'convert float4 to float8',
  851. proname => 'float8', proleakproof => 't', prorettype => 'float8',
  852. proargtypes => 'float4', prosrc => 'ftod' },
  853. { oid => '312', descr => 'convert float8 to float4',
  854. proname => 'float4', prorettype => 'float4', proargtypes => 'float8',
  855. prosrc => 'dtof' },
  856. { oid => '313', descr => 'convert int2 to int4',
  857. proname => 'int4', proleakproof => 't', prorettype => 'int4',
  858. proargtypes => 'int2', prosrc => 'i2toi4' },
  859. { oid => '314', descr => 'convert int4 to int2',
  860. proname => 'int2', prorettype => 'int2', proargtypes => 'int4',
  861. prosrc => 'i4toi2' },
  862. { oid => '316', descr => 'convert int4 to float8',
  863. proname => 'float8', proleakproof => 't', prorettype => 'float8',
  864. proargtypes => 'int4', prosrc => 'i4tod' },
  865. { oid => '317', descr => 'convert float8 to int4',
  866. proname => 'int4', prorettype => 'int4', proargtypes => 'float8',
  867. prosrc => 'dtoi4' },
  868. { oid => '318', descr => 'convert int4 to float4',
  869. proname => 'float4', proleakproof => 't', prorettype => 'float4',
  870. proargtypes => 'int4', prosrc => 'i4tof' },
  871. { oid => '319', descr => 'convert float4 to int4',
  872. proname => 'int4', prorettype => 'int4', proargtypes => 'float4',
  873. prosrc => 'ftoi4' },
  874. # Table access method handlers
  875. { oid => '3', descr => 'row-oriented heap table access method handler',
  876. proname => 'heap_tableam_handler', provolatile => 'v',
  877. prorettype => 'table_am_handler', proargtypes => 'internal',
  878. prosrc => 'heap_tableam_handler' },
  879. # Index access method handlers
  880. { oid => '330', descr => 'btree index access method handler',
  881. proname => 'bthandler', provolatile => 'v', prorettype => 'index_am_handler',
  882. proargtypes => 'internal', prosrc => 'bthandler' },
  883. { oid => '331', descr => 'hash index access method handler',
  884. proname => 'hashhandler', provolatile => 'v',
  885. prorettype => 'index_am_handler', proargtypes => 'internal',
  886. prosrc => 'hashhandler' },
  887. { oid => '332', descr => 'gist index access method handler',
  888. proname => 'gisthandler', provolatile => 'v',
  889. prorettype => 'index_am_handler', proargtypes => 'internal',
  890. prosrc => 'gisthandler' },
  891. { oid => '333', descr => 'gin index access method handler',
  892. proname => 'ginhandler', provolatile => 'v', prorettype => 'index_am_handler',
  893. proargtypes => 'internal', prosrc => 'ginhandler' },
  894. { oid => '334', descr => 'spgist index access method handler',
  895. proname => 'spghandler', provolatile => 'v', prorettype => 'index_am_handler',
  896. proargtypes => 'internal', prosrc => 'spghandler' },
  897. { oid => '335', descr => 'brin index access method handler',
  898. proname => 'brinhandler', provolatile => 'v',
  899. prorettype => 'index_am_handler', proargtypes => 'internal',
  900. prosrc => 'brinhandler' },
  901. { oid => '3952', descr => 'brin: standalone scan new table pages',
  902. proname => 'brin_summarize_new_values', provolatile => 'v',
  903. proparallel => 'u', prorettype => 'int4', proargtypes => 'regclass',
  904. prosrc => 'brin_summarize_new_values' },
  905. { oid => '3999', descr => 'brin: standalone scan new table pages',
  906. proname => 'brin_summarize_range', provolatile => 'v', proparallel => 'u',
  907. prorettype => 'int4', proargtypes => 'regclass int8',
  908. prosrc => 'brin_summarize_range' },
  909. { oid => '4014', descr => 'brin: desummarize page range',
  910. proname => 'brin_desummarize_range', provolatile => 'v', proparallel => 'u',
  911. prorettype => 'void', proargtypes => 'regclass int8',
  912. prosrc => 'brin_desummarize_range' },
  913. { oid => '338', descr => 'validate an operator class',
  914. proname => 'amvalidate', provolatile => 'v', prorettype => 'bool',
  915. proargtypes => 'oid', prosrc => 'amvalidate' },
  916. { oid => '636', descr => 'test property of an index access method',
  917. proname => 'pg_indexam_has_property', provolatile => 's',
  918. prorettype => 'bool', proargtypes => 'oid text',
  919. prosrc => 'pg_indexam_has_property' },
  920. { oid => '637', descr => 'test property of an index',
  921. proname => 'pg_index_has_property', provolatile => 's', prorettype => 'bool',
  922. proargtypes => 'regclass text', prosrc => 'pg_index_has_property' },
  923. { oid => '638', descr => 'test property of an index column',
  924. proname => 'pg_index_column_has_property', provolatile => 's',
  925. prorettype => 'bool', proargtypes => 'regclass int4 text',
  926. prosrc => 'pg_index_column_has_property' },
  927. { oid => '676', descr => 'return name of given index build phase',
  928. proname => 'pg_indexam_progress_phasename', prorettype => 'text',
  929. proargtypes => 'oid int8', prosrc => 'pg_indexam_progress_phasename' },
  930. { oid => '339',
  931. proname => 'poly_same', prorettype => 'bool',
  932. proargtypes => 'polygon polygon', prosrc => 'poly_same' },
  933. { oid => '340',
  934. proname => 'poly_contain', prorettype => 'bool',
  935. proargtypes => 'polygon polygon', prosrc => 'poly_contain' },
  936. { oid => '341',
  937. proname => 'poly_left', prorettype => 'bool',
  938. proargtypes => 'polygon polygon', prosrc => 'poly_left' },
  939. { oid => '342',
  940. proname => 'poly_overleft', prorettype => 'bool',
  941. proargtypes => 'polygon polygon', prosrc => 'poly_overleft' },
  942. { oid => '343',
  943. proname => 'poly_overright', prorettype => 'bool',
  944. proargtypes => 'polygon polygon', prosrc => 'poly_overright' },
  945. { oid => '344',
  946. proname => 'poly_right', prorettype => 'bool',
  947. proargtypes => 'polygon polygon', prosrc => 'poly_right' },
  948. { oid => '345',
  949. proname => 'poly_contained', prorettype => 'bool',
  950. proargtypes => 'polygon polygon', prosrc => 'poly_contained' },
  951. { oid => '346',
  952. proname => 'poly_overlap', prorettype => 'bool',
  953. proargtypes => 'polygon polygon', prosrc => 'poly_overlap' },
  954. { oid => '347', descr => 'I/O',
  955. proname => 'poly_in', prorettype => 'polygon', proargtypes => 'cstring',
  956. prosrc => 'poly_in' },
  957. { oid => '348', descr => 'I/O',
  958. proname => 'poly_out', prorettype => 'cstring', proargtypes => 'polygon',
  959. prosrc => 'poly_out' },
  960. { oid => '350', descr => 'less-equal-greater',
  961. proname => 'btint2cmp', proleakproof => 't', prorettype => 'int4',
  962. proargtypes => 'int2 int2', prosrc => 'btint2cmp' },
  963. { oid => '3129', descr => 'sort support',
  964. proname => 'btint2sortsupport', prorettype => 'void',
  965. proargtypes => 'internal', prosrc => 'btint2sortsupport' },
  966. { oid => '351', descr => 'less-equal-greater',
  967. proname => 'btint4cmp', proleakproof => 't', prorettype => 'int4',
  968. proargtypes => 'int4 int4', prosrc => 'btint4cmp' },
  969. { oid => '3130', descr => 'sort support',
  970. proname => 'btint4sortsupport', prorettype => 'void',
  971. proargtypes => 'internal', prosrc => 'btint4sortsupport' },
  972. { oid => '842', descr => 'less-equal-greater',
  973. proname => 'btint8cmp', proleakproof => 't', prorettype => 'int4',
  974. proargtypes => 'int8 int8', prosrc => 'btint8cmp' },
  975. { oid => '3131', descr => 'sort support',
  976. proname => 'btint8sortsupport', prorettype => 'void',
  977. proargtypes => 'internal', prosrc => 'btint8sortsupport' },
  978. { oid => '354', descr => 'less-equal-greater',
  979. proname => 'btfloat4cmp', proleakproof => 't', prorettype => 'int4',
  980. proargtypes => 'float4 float4', prosrc => 'btfloat4cmp' },
  981. { oid => '3132', descr => 'sort support',
  982. proname => 'btfloat4sortsupport', prorettype => 'void',
  983. proargtypes => 'internal', prosrc => 'btfloat4sortsupport' },
  984. { oid => '355', descr => 'less-equal-greater',
  985. proname => 'btfloat8cmp', proleakproof => 't', prorettype => 'int4',
  986. proargtypes => 'float8 float8', prosrc => 'btfloat8cmp' },
  987. { oid => '3133', descr => 'sort support',
  988. proname => 'btfloat8sortsupport', prorettype => 'void',
  989. proargtypes => 'internal', prosrc => 'btfloat8sortsupport' },
  990. { oid => '356', descr => 'less-equal-greater',
  991. proname => 'btoidcmp', proleakproof => 't', prorettype => 'int4',
  992. proargtypes => 'oid oid', prosrc => 'btoidcmp' },
  993. { oid => '3134', descr => 'sort support',
  994. proname => 'btoidsortsupport', prorettype => 'void',
  995. proargtypes => 'internal', prosrc => 'btoidsortsupport' },
  996. { oid => '404', descr => 'less-equal-greater',
  997. proname => 'btoidvectorcmp', proleakproof => 't', prorettype => 'int4',
  998. proargtypes => 'oidvector oidvector', prosrc => 'btoidvectorcmp' },
  999. { oid => '358', descr => 'less-equal-greater',
  1000. proname => 'btcharcmp', proleakproof => 't', prorettype => 'int4',
  1001. proargtypes => 'char char', prosrc => 'btcharcmp' },
  1002. { oid => '359', descr => 'less-equal-greater',
  1003. proname => 'btnamecmp', proleakproof => 't', prorettype => 'int4',
  1004. proargtypes => 'name name', prosrc => 'btnamecmp' },
  1005. { oid => '3135', descr => 'sort support',
  1006. proname => 'btnamesortsupport', prorettype => 'void',
  1007. proargtypes => 'internal', prosrc => 'btnamesortsupport' },
  1008. { oid => '360', descr => 'less-equal-greater',
  1009. proname => 'bttextcmp', proleakproof => 't', prorettype => 'int4',
  1010. proargtypes => 'text text', prosrc => 'bttextcmp' },
  1011. { oid => '3255', descr => 'sort support',
  1012. proname => 'bttextsortsupport', prorettype => 'void',
  1013. proargtypes => 'internal', prosrc => 'bttextsortsupport' },
  1014. { oid => '5050', descr => 'equal image',
  1015. proname => 'btvarstrequalimage', prorettype => 'bool', proargtypes => 'oid',
  1016. prosrc => 'btvarstrequalimage' },
  1017. { oid => '377', descr => 'less-equal-greater',
  1018. proname => 'cash_cmp', proleakproof => 't', prorettype => 'int4',
  1019. proargtypes => 'money money', prosrc => 'cash_cmp' },
  1020. { oid => '382', descr => 'less-equal-greater',
  1021. proname => 'btarraycmp', prorettype => 'int4',
  1022. proargtypes => 'anyarray anyarray', prosrc => 'btarraycmp' },
  1023. { oid => '4126', descr => 'window RANGE support',
  1024. proname => 'in_range', prorettype => 'bool',
  1025. proargtypes => 'int8 int8 int8 bool bool', prosrc => 'in_range_int8_int8' },
  1026. { oid => '4127', descr => 'window RANGE support',
  1027. proname => 'in_range', prorettype => 'bool',
  1028. proargtypes => 'int4 int4 int8 bool bool', prosrc => 'in_range_int4_int8' },
  1029. { oid => '4128', descr => 'window RANGE support',
  1030. proname => 'in_range', prorettype => 'bool',
  1031. proargtypes => 'int4 int4 int4 bool bool', prosrc => 'in_range_int4_int4' },
  1032. { oid => '4129', descr => 'window RANGE support',
  1033. proname => 'in_range', prorettype => 'bool',
  1034. proargtypes => 'int4 int4 int2 bool bool', prosrc => 'in_range_int4_int2' },
  1035. { oid => '4130', descr => 'window RANGE support',
  1036. proname => 'in_range', prorettype => 'bool',
  1037. proargtypes => 'int2 int2 int8 bool bool', prosrc => 'in_range_int2_int8' },
  1038. { oid => '4131', descr => 'window RANGE support',
  1039. proname => 'in_range', prorettype => 'bool',
  1040. proargtypes => 'int2 int2 int4 bool bool', prosrc => 'in_range_int2_int4' },
  1041. { oid => '4132', descr => 'window RANGE support',
  1042. proname => 'in_range', prorettype => 'bool',
  1043. proargtypes => 'int2 int2 int2 bool bool', prosrc => 'in_range_int2_int2' },
  1044. { oid => '4139', descr => 'window RANGE support',
  1045. proname => 'in_range', prorettype => 'bool',
  1046. proargtypes => 'float8 float8 float8 bool bool',
  1047. prosrc => 'in_range_float8_float8' },
  1048. { oid => '4140', descr => 'window RANGE support',
  1049. proname => 'in_range', prorettype => 'bool',
  1050. proargtypes => 'float4 float4 float8 bool bool',
  1051. prosrc => 'in_range_float4_float8' },
  1052. { oid => '4141', descr => 'window RANGE support',
  1053. proname => 'in_range', prorettype => 'bool',
  1054. proargtypes => 'numeric numeric numeric bool bool',
  1055. prosrc => 'in_range_numeric_numeric' },
  1056. { oid => '361',
  1057. proname => 'lseg_distance', prorettype => 'float8',
  1058. proargtypes => 'lseg lseg', prosrc => 'lseg_distance' },
  1059. { oid => '362',
  1060. proname => 'lseg_interpt', prorettype => 'point', proargtypes => 'lseg lseg',
  1061. prosrc => 'lseg_interpt' },
  1062. { oid => '363',
  1063. proname => 'dist_ps', prorettype => 'float8', proargtypes => 'point lseg',
  1064. prosrc => 'dist_ps' },
  1065. { oid => '380',
  1066. proname => 'dist_sp', prorettype => 'float8', proargtypes => 'lseg point',
  1067. prosrc => 'dist_sp' },
  1068. { oid => '364',
  1069. proname => 'dist_pb', prorettype => 'float8', proargtypes => 'point box',
  1070. prosrc => 'dist_pb' },
  1071. { oid => '357',
  1072. proname => 'dist_bp', prorettype => 'float8', proargtypes => 'box point',
  1073. prosrc => 'dist_bp' },
  1074. { oid => '365',
  1075. proname => 'dist_sb', prorettype => 'float8', proargtypes => 'lseg box',
  1076. prosrc => 'dist_sb' },
  1077. { oid => '381',
  1078. proname => 'dist_bs', prorettype => 'float8', proargtypes => 'box lseg',
  1079. prosrc => 'dist_bs' },
  1080. { oid => '366',
  1081. proname => 'close_ps', prorettype => 'point', proargtypes => 'point lseg',
  1082. prosrc => 'close_ps' },
  1083. { oid => '367',
  1084. proname => 'close_pb', prorettype => 'point', proargtypes => 'point box',
  1085. prosrc => 'close_pb' },
  1086. { oid => '368',
  1087. proname => 'close_sb', prorettype => 'point', proargtypes => 'lseg box',
  1088. prosrc => 'close_sb' },
  1089. { oid => '369',
  1090. proname => 'on_ps', prorettype => 'bool', proargtypes => 'point lseg',
  1091. prosrc => 'on_ps' },
  1092. { oid => '370',
  1093. proname => 'path_distance', prorettype => 'float8',
  1094. proargtypes => 'path path', prosrc => 'path_distance' },
  1095. { oid => '371',
  1096. proname => 'dist_ppath', prorettype => 'float8', proargtypes => 'point path',
  1097. prosrc => 'dist_ppath' },
  1098. { oid => '421',
  1099. proname => 'dist_pathp', prorettype => 'float8', proargtypes => 'path point',
  1100. prosrc => 'dist_pathp' },
  1101. { oid => '372',
  1102. proname => 'on_sb', prorettype => 'bool', proargtypes => 'lseg box',
  1103. prosrc => 'on_sb' },
  1104. { oid => '373',
  1105. proname => 'inter_sb', prorettype => 'bool', proargtypes => 'lseg box',
  1106. prosrc => 'inter_sb' },
  1107. # OIDS 400 - 499
  1108. { oid => '401', descr => 'convert char(n) to text',
  1109. proname => 'text', prorettype => 'text', proargtypes => 'bpchar',
  1110. prosrc => 'rtrim1' },
  1111. { oid => '406', descr => 'convert name to text',
  1112. proname => 'text', proleakproof => 't', prorettype => 'text',
  1113. proargtypes => 'name', prosrc => 'name_text' },
  1114. { oid => '407', descr => 'convert text to name',
  1115. proname => 'name', proleakproof => 't', prorettype => 'name',
  1116. proargtypes => 'text', prosrc => 'text_name' },
  1117. { oid => '408', descr => 'convert name to char(n)',
  1118. proname => 'bpchar', prorettype => 'bpchar', proargtypes => 'name',
  1119. prosrc => 'name_bpchar' },
  1120. { oid => '409', descr => 'convert char(n) to name',
  1121. proname => 'name', proleakproof => 't', prorettype => 'name',
  1122. proargtypes => 'bpchar', prosrc => 'bpchar_name' },
  1123. { oid => '449', descr => 'hash',
  1124. proname => 'hashint2', prorettype => 'int4', proargtypes => 'int2',
  1125. prosrc => 'hashint2' },
  1126. { oid => '441', descr => 'hash',
  1127. proname => 'hashint2extended', prorettype => 'int8',
  1128. proargtypes => 'int2 int8', prosrc => 'hashint2extended' },
  1129. { oid => '450', descr => 'hash',
  1130. proname => 'hashint4', prorettype => 'int4', proargtypes => 'int4',
  1131. prosrc => 'hashint4' },
  1132. { oid => '425', descr => 'hash',
  1133. proname => 'hashint4extended', prorettype => 'int8',
  1134. proargtypes => 'int4 int8', prosrc => 'hashint4extended' },
  1135. { oid => '949', descr => 'hash',
  1136. proname => 'hashint8', prorettype => 'int4', proargtypes => 'int8',
  1137. prosrc => 'hashint8' },
  1138. { oid => '442', descr => 'hash',
  1139. proname => 'hashint8extended', prorettype => 'int8',
  1140. proargtypes => 'int8 int8', prosrc => 'hashint8extended' },
  1141. { oid => '451', descr => 'hash',
  1142. proname => 'hashfloat4', prorettype => 'int4', proargtypes => 'float4',
  1143. prosrc => 'hashfloat4' },
  1144. { oid => '443', descr => 'hash',
  1145. proname => 'hashfloat4extended', prorettype => 'int8',
  1146. proargtypes => 'float4 int8', prosrc => 'hashfloat4extended' },
  1147. { oid => '452', descr => 'hash',
  1148. proname => 'hashfloat8', prorettype => 'int4', proargtypes => 'float8',
  1149. prosrc => 'hashfloat8' },
  1150. { oid => '444', descr => 'hash',
  1151. proname => 'hashfloat8extended', prorettype => 'int8',
  1152. proargtypes => 'float8 int8', prosrc => 'hashfloat8extended' },
  1153. { oid => '453', descr => 'hash',
  1154. proname => 'hashoid', prorettype => 'int4', proargtypes => 'oid',
  1155. prosrc => 'hashoid' },
  1156. { oid => '445', descr => 'hash',
  1157. proname => 'hashoidextended', prorettype => 'int8', proargtypes => 'oid int8',
  1158. prosrc => 'hashoidextended' },
  1159. { oid => '454', descr => 'hash',
  1160. proname => 'hashchar', prorettype => 'int4', proargtypes => 'char',
  1161. prosrc => 'hashchar' },
  1162. { oid => '446', descr => 'hash',
  1163. proname => 'hashcharextended', prorettype => 'int8',
  1164. proargtypes => 'char int8', prosrc => 'hashcharextended' },
  1165. { oid => '455', descr => 'hash',
  1166. proname => 'hashname', prorettype => 'int4', proargtypes => 'name',
  1167. prosrc => 'hashname' },
  1168. { oid => '447', descr => 'hash',
  1169. proname => 'hashnameextended', prorettype => 'int8',
  1170. proargtypes => 'name int8', prosrc => 'hashnameextended' },
  1171. { oid => '400', descr => 'hash',
  1172. proname => 'hashtext', prorettype => 'int4', proargtypes => 'text',
  1173. prosrc => 'hashtext' },
  1174. { oid => '448', descr => 'hash',
  1175. proname => 'hashtextextended', prorettype => 'int8',
  1176. proargtypes => 'text int8', prosrc => 'hashtextextended' },
  1177. { oid => '456', descr => 'hash',
  1178. proname => 'hashvarlena', prorettype => 'int4', proargtypes => 'internal',
  1179. prosrc => 'hashvarlena' },
  1180. { oid => '772', descr => 'hash',
  1181. proname => 'hashvarlenaextended', prorettype => 'int8',
  1182. proargtypes => 'internal int8', prosrc => 'hashvarlenaextended' },
  1183. { oid => '457', descr => 'hash',
  1184. proname => 'hashoidvector', prorettype => 'int4', proargtypes => 'oidvector',
  1185. prosrc => 'hashoidvector' },
  1186. { oid => '776', descr => 'hash',
  1187. proname => 'hashoidvectorextended', prorettype => 'int8',
  1188. proargtypes => 'oidvector int8', prosrc => 'hashoidvectorextended' },
  1189. { oid => '329', descr => 'hash',
  1190. proname => 'hash_aclitem', prorettype => 'int4', proargtypes => 'aclitem',
  1191. prosrc => 'hash_aclitem' },
  1192. { oid => '777', descr => 'hash',
  1193. proname => 'hash_aclitem_extended', prorettype => 'int8',
  1194. proargtypes => 'aclitem int8', prosrc => 'hash_aclitem_extended' },
  1195. { oid => '399', descr => 'hash',
  1196. proname => 'hashmacaddr', prorettype => 'int4', proargtypes => 'macaddr',
  1197. prosrc => 'hashmacaddr' },
  1198. { oid => '778', descr => 'hash',
  1199. proname => 'hashmacaddrextended', prorettype => 'int8',
  1200. proargtypes => 'macaddr int8', prosrc => 'hashmacaddrextended' },
  1201. { oid => '422', descr => 'hash',
  1202. proname => 'hashinet', prorettype => 'int4', proargtypes => 'inet',
  1203. prosrc => 'hashinet' },
  1204. { oid => '779', descr => 'hash',
  1205. proname => 'hashinetextended', prorettype => 'int8',
  1206. proargtypes => 'inet int8', prosrc => 'hashinetextended' },
  1207. { oid => '432', descr => 'hash',
  1208. proname => 'hash_numeric', prorettype => 'int4', proargtypes => 'numeric',
  1209. prosrc => 'hash_numeric' },
  1210. { oid => '780', descr => 'hash',
  1211. proname => 'hash_numeric_extended', prorettype => 'int8',
  1212. proargtypes => 'numeric int8', prosrc => 'hash_numeric_extended' },
  1213. { oid => '328', descr => 'hash',
  1214. proname => 'hashmacaddr8', prorettype => 'int4', proargtypes => 'macaddr8',
  1215. prosrc => 'hashmacaddr8' },
  1216. { oid => '781', descr => 'hash',
  1217. proname => 'hashmacaddr8extended', prorettype => 'int8',
  1218. proargtypes => 'macaddr8 int8', prosrc => 'hashmacaddr8extended' },
  1219. { oid => '438', descr => 'count the number of NULL arguments',
  1220. proname => 'num_nulls', provariadic => 'any', proisstrict => 'f',
  1221. prorettype => 'int4', proargtypes => 'any', proallargtypes => '{any}',
  1222. proargmodes => '{v}', prosrc => 'pg_num_nulls' },
  1223. { oid => '440', descr => 'count the number of non-NULL arguments',
  1224. proname => 'num_nonnulls', provariadic => 'any', proisstrict => 'f',
  1225. prorettype => 'int4', proargtypes => 'any', proallargtypes => '{any}',
  1226. proargmodes => '{v}', prosrc => 'pg_num_nonnulls' },
  1227. { oid => '458', descr => 'larger of two',
  1228. proname => 'text_larger', proleakproof => 't', prorettype => 'text',
  1229. proargtypes => 'text text', prosrc => 'text_larger' },
  1230. { oid => '459', descr => 'smaller of two',
  1231. proname => 'text_smaller', proleakproof => 't', prorettype => 'text',
  1232. proargtypes => 'text text', prosrc => 'text_smaller' },
  1233. { oid => '460', descr => 'I/O',
  1234. proname => 'int8in', prorettype => 'int8', proargtypes => 'cstring',
  1235. prosrc => 'int8in' },
  1236. { oid => '461', descr => 'I/O',
  1237. proname => 'int8out', prorettype => 'cstring', proargtypes => 'int8',
  1238. prosrc => 'int8out' },
  1239. { oid => '462',
  1240. proname => 'int8um', prorettype => 'int8', proargtypes => 'int8',
  1241. prosrc => 'int8um' },
  1242. { oid => '463',
  1243. proname => 'int8pl', prorettype => 'int8', proargtypes => 'int8 int8',
  1244. prosrc => 'int8pl' },
  1245. { oid => '464',
  1246. proname => 'int8mi', prorettype => 'int8', proargtypes => 'int8 int8',
  1247. prosrc => 'int8mi' },
  1248. { oid => '465',
  1249. proname => 'int8mul', prorettype => 'int8', proargtypes => 'int8 int8',
  1250. prosrc => 'int8mul' },
  1251. { oid => '466',
  1252. proname => 'int8div', prorettype => 'int8', proargtypes => 'int8 int8',
  1253. prosrc => 'int8div' },
  1254. { oid => '467',
  1255. proname => 'int8eq', proleakproof => 't', prorettype => 'bool',
  1256. proargtypes => 'int8 int8', prosrc => 'int8eq' },
  1257. { oid => '468',
  1258. proname => 'int8ne', proleakproof => 't', prorettype => 'bool',
  1259. proargtypes => 'int8 int8', prosrc => 'int8ne' },
  1260. { oid => '469',
  1261. proname => 'int8lt', proleakproof => 't', prorettype => 'bool',
  1262. proargtypes => 'int8 int8', prosrc => 'int8lt' },
  1263. { oid => '470',
  1264. proname => 'int8gt', proleakproof => 't', prorettype => 'bool',
  1265. proargtypes => 'int8 int8', prosrc => 'int8gt' },
  1266. { oid => '471',
  1267. proname => 'int8le', proleakproof => 't', prorettype => 'bool',
  1268. proargtypes => 'int8 int8', prosrc => 'int8le' },
  1269. { oid => '472',
  1270. proname => 'int8ge', proleakproof => 't', prorettype => 'bool',
  1271. proargtypes => 'int8 int8', prosrc => 'int8ge' },
  1272. { oid => '474',
  1273. proname => 'int84eq', proleakproof => 't', prorettype => 'bool',
  1274. proargtypes => 'int8 int4', prosrc => 'int84eq' },
  1275. { oid => '475',
  1276. proname => 'int84ne', proleakproof => 't', prorettype => 'bool',
  1277. proargtypes => 'int8 int4', prosrc => 'int84ne' },
  1278. { oid => '476',
  1279. proname => 'int84lt', proleakproof => 't', prorettype => 'bool',
  1280. proargtypes => 'int8 int4', prosrc => 'int84lt' },
  1281. { oid => '477',
  1282. proname => 'int84gt', proleakproof => 't', prorettype => 'bool',
  1283. proargtypes => 'int8 int4', prosrc => 'int84gt' },
  1284. { oid => '478',
  1285. proname => 'int84le', proleakproof => 't', prorettype => 'bool',
  1286. proargtypes => 'int8 int4', prosrc => 'int84le' },
  1287. { oid => '479',
  1288. proname => 'int84ge', proleakproof => 't', prorettype => 'bool',
  1289. proargtypes => 'int8 int4', prosrc => 'int84ge' },
  1290. { oid => '480', descr => 'convert int8 to int4',
  1291. proname => 'int4', prorettype => 'int4', proargtypes => 'int8',
  1292. prosrc => 'int84' },
  1293. { oid => '481', descr => 'convert int4 to int8',
  1294. proname => 'int8', proleakproof => 't', prorettype => 'int8',
  1295. proargtypes => 'int4', prosrc => 'int48' },
  1296. { oid => '482', descr => 'convert int8 to float8',
  1297. proname => 'float8', proleakproof => 't', prorettype => 'float8',
  1298. proargtypes => 'int8', prosrc => 'i8tod' },
  1299. { oid => '483', descr => 'convert float8 to int8',
  1300. proname => 'int8', prorettype => 'int8', proargtypes => 'float8',
  1301. prosrc => 'dtoi8' },
  1302. # OIDS 500 - 599
  1303. # OIDS 600 - 699
  1304. { oid => '626', descr => 'hash',
  1305. proname => 'hash_array', prorettype => 'int4', proargtypes => 'anyarray',
  1306. prosrc => 'hash_array' },
  1307. { oid => '782', descr => 'hash',
  1308. proname => 'hash_array_extended', prorettype => 'int8',
  1309. proargtypes => 'anyarray int8', prosrc => 'hash_array_extended' },
  1310. { oid => '652', descr => 'convert int8 to float4',
  1311. proname => 'float4', proleakproof => 't', prorettype => 'float4',
  1312. proargtypes => 'int8', prosrc => 'i8tof' },
  1313. { oid => '653', descr => 'convert float4 to int8',
  1314. proname => 'int8', prorettype => 'int8', proargtypes => 'float4',
  1315. prosrc => 'ftoi8' },
  1316. { oid => '714', descr => 'convert int8 to int2',
  1317. proname => 'int2', prorettype => 'int2', proargtypes => 'int8',
  1318. prosrc => 'int82' },
  1319. { oid => '754', descr => 'convert int2 to int8',
  1320. proname => 'int8', proleakproof => 't', prorettype => 'int8',
  1321. proargtypes => 'int2', prosrc => 'int28' },
  1322. { oid => '655',
  1323. proname => 'namelt', proleakproof => 't', prorettype => 'bool',
  1324. proargtypes => 'name name', prosrc => 'namelt' },
  1325. { oid => '656',
  1326. proname => 'namele', proleakproof => 't', prorettype => 'bool',
  1327. proargtypes => 'name name', prosrc => 'namele' },
  1328. { oid => '657',
  1329. proname => 'namegt', proleakproof => 't', prorettype => 'bool',
  1330. proargtypes => 'name name', prosrc => 'namegt' },
  1331. { oid => '658',
  1332. proname => 'namege', proleakproof => 't', prorettype => 'bool',
  1333. proargtypes => 'name name', prosrc => 'namege' },
  1334. { oid => '659',
  1335. proname => 'namene', proleakproof => 't', prorettype => 'bool',
  1336. proargtypes => 'name name', prosrc => 'namene' },
  1337. { oid => '668', descr => 'adjust char() to typmod length',
  1338. proname => 'bpchar', prorettype => 'bpchar',
  1339. proargtypes => 'bpchar int4 bool', prosrc => 'bpchar' },
  1340. { oid => '3097', descr => 'planner support for varchar length coercion',
  1341. proname => 'varchar_support', prorettype => 'internal',
  1342. proargtypes => 'internal', prosrc => 'varchar_support' },
  1343. { oid => '669', descr => 'adjust varchar() to typmod length',
  1344. proname => 'varchar', prosupport => 'varchar_support',
  1345. prorettype => 'varchar', proargtypes => 'varchar int4 bool',
  1346. prosrc => 'varchar' },
  1347. { oid => '619',
  1348. proname => 'oidvectorne', proleakproof => 't', prorettype => 'bool',
  1349. proargtypes => 'oidvector oidvector', prosrc => 'oidvectorne' },
  1350. { oid => '677',
  1351. proname => 'oidvectorlt', proleakproof => 't', prorettype => 'bool',
  1352. proargtypes => 'oidvector oidvector', prosrc => 'oidvectorlt' },
  1353. { oid => '678',
  1354. proname => 'oidvectorle', proleakproof => 't', prorettype => 'bool',
  1355. proargtypes => 'oidvector oidvector', prosrc => 'oidvectorle' },
  1356. { oid => '679',
  1357. proname => 'oidvectoreq', proleakproof => 't', prorettype => 'bool',
  1358. proargtypes => 'oidvector oidvector', prosrc => 'oidvectoreq' },
  1359. { oid => '680',
  1360. proname => 'oidvectorge', proleakproof => 't', prorettype => 'bool',
  1361. proargtypes => 'oidvector oidvector', prosrc => 'oidvectorge' },
  1362. { oid => '681',
  1363. proname => 'oidvectorgt', proleakproof => 't', prorettype => 'bool',
  1364. proargtypes => 'oidvector oidvector', prosrc => 'oidvectorgt' },
  1365. # OIDS 700 - 799
  1366. { oid => '710', descr => 'deprecated, use current_user instead',
  1367. proname => 'getpgusername', provolatile => 's', prorettype => 'name',
  1368. proargtypes => '', prosrc => 'current_user' },
  1369. { oid => '716',
  1370. proname => 'oidlt', proleakproof => 't', prorettype => 'bool',
  1371. proargtypes => 'oid oid', prosrc => 'oidlt' },
  1372. { oid => '717',
  1373. proname => 'oidle', proleakproof => 't', prorettype => 'bool',
  1374. proargtypes => 'oid oid', prosrc => 'oidle' },
  1375. { oid => '720', descr => 'octet length',
  1376. proname => 'octet_length', prorettype => 'int4', proargtypes => 'bytea',
  1377. prosrc => 'byteaoctetlen' },
  1378. { oid => '721', descr => 'get byte',
  1379. proname => 'get_byte', prorettype => 'int4', proargtypes => 'bytea int4',
  1380. prosrc => 'byteaGetByte' },
  1381. { oid => '722', descr => 'set byte',
  1382. proname => 'set_byte', prorettype => 'bytea',
  1383. proargtypes => 'bytea int4 int4', prosrc => 'byteaSetByte' },
  1384. { oid => '723', descr => 'get bit',
  1385. proname => 'get_bit', prorettype => 'int4', proargtypes => 'bytea int8',
  1386. prosrc => 'byteaGetBit' },
  1387. { oid => '724', descr => 'set bit',
  1388. proname => 'set_bit', prorettype => 'bytea', proargtypes => 'bytea int8 int4',
  1389. prosrc => 'byteaSetBit' },
  1390. { oid => '749', descr => 'substitute portion of string',
  1391. proname => 'overlay', prorettype => 'bytea',
  1392. proargtypes => 'bytea bytea int4 int4', prosrc => 'byteaoverlay' },
  1393. { oid => '752', descr => 'substitute portion of string',
  1394. proname => 'overlay', prorettype => 'bytea',
  1395. proargtypes => 'bytea bytea int4', prosrc => 'byteaoverlay_no_len' },
  1396. { oid => '6163', descr => 'number of set bits',
  1397. proname => 'bit_count', prorettype => 'int8', proargtypes => 'bytea',
  1398. prosrc => 'bytea_bit_count' },
  1399. { oid => '725',
  1400. proname => 'dist_pl', prorettype => 'float8', proargtypes => 'point line',
  1401. prosrc => 'dist_pl' },
  1402. { oid => '702',
  1403. proname => 'dist_lp', prorettype => 'float8', proargtypes => 'line point',
  1404. prosrc => 'dist_lp' },
  1405. { oid => '727',
  1406. proname => 'dist_sl', prorettype => 'float8', proargtypes => 'lseg line',
  1407. prosrc => 'dist_sl' },
  1408. { oid => '704',
  1409. proname => 'dist_ls', prorettype => 'float8', proargtypes => 'line lseg',
  1410. prosrc => 'dist_ls' },
  1411. { oid => '728',
  1412. proname => 'dist_cpoly', prorettype => 'float8',
  1413. proargtypes => 'circle polygon', prosrc => 'dist_cpoly' },
  1414. { oid => '785',
  1415. proname => 'dist_polyc', prorettype => 'float8',
  1416. proargtypes => 'polygon circle', prosrc => 'dist_polyc' },
  1417. { oid => '729',
  1418. proname => 'poly_distance', prorettype => 'float8',
  1419. proargtypes => 'polygon polygon', prosrc => 'poly_distance' },
  1420. { oid => '3275',
  1421. proname => 'dist_ppoly', prorettype => 'float8',
  1422. proargtypes => 'point polygon', prosrc => 'dist_ppoly' },
  1423. { oid => '3292',
  1424. proname => 'dist_polyp', prorettype => 'float8',
  1425. proargtypes => 'polygon point', prosrc => 'dist_polyp' },
  1426. { oid => '3290',
  1427. proname => 'dist_cpoint', prorettype => 'float8',
  1428. proargtypes => 'circle point', prosrc => 'dist_cpoint' },
  1429. { oid => '740',
  1430. proname => 'text_lt', proleakproof => 't', prorettype => 'bool',
  1431. proargtypes => 'text text', prosrc => 'text_lt' },
  1432. { oid => '741',
  1433. proname => 'text_le', proleakproof => 't', prorettype => 'bool',
  1434. proargtypes => 'text text', prosrc => 'text_le' },
  1435. { oid => '742',
  1436. proname => 'text_gt', proleakproof => 't', prorettype => 'bool',
  1437. proargtypes => 'text text', prosrc => 'text_gt' },
  1438. { oid => '743',
  1439. proname => 'text_ge', proleakproof => 't', prorettype => 'bool',
  1440. proargtypes => 'text text', prosrc => 'text_ge' },
  1441. { oid => '745', descr => 'current user name',
  1442. proname => 'current_user', provolatile => 's', prorettype => 'name',
  1443. proargtypes => '', prosrc => 'current_user' },
  1444. { oid => '746', descr => 'session user name',
  1445. proname => 'session_user', provolatile => 's', prorettype => 'name',
  1446. proargtypes => '', prosrc => 'session_user' },
  1447. { oid => '6311', descr => 'system user name',
  1448. proname => 'system_user', provolatile => 's', prorettype => 'text',
  1449. proargtypes => '', prosrc => 'system_user' },
  1450. { oid => '744',
  1451. proname => 'array_eq', prorettype => 'bool',
  1452. proargtypes => 'anyarray anyarray', prosrc => 'array_eq' },
  1453. { oid => '390',
  1454. proname => 'array_ne', prorettype => 'bool',
  1455. proargtypes => 'anyarray anyarray', prosrc => 'array_ne' },
  1456. { oid => '391',
  1457. proname => 'array_lt', prorettype => 'bool',
  1458. proargtypes => 'anyarray anyarray', prosrc => 'array_lt' },
  1459. { oid => '392',
  1460. proname => 'array_gt', prorettype => 'bool',
  1461. proargtypes => 'anyarray anyarray', prosrc => 'array_gt' },
  1462. { oid => '393',
  1463. proname => 'array_le', prorettype => 'bool',
  1464. proargtypes => 'anyarray anyarray', prosrc => 'array_le' },
  1465. { oid => '396',
  1466. proname => 'array_ge', prorettype => 'bool',
  1467. proargtypes => 'anyarray anyarray', prosrc => 'array_ge' },
  1468. { oid => '747', descr => 'array dimensions',
  1469. proname => 'array_dims', prorettype => 'text', proargtypes => 'anyarray',
  1470. prosrc => 'array_dims' },
  1471. { oid => '748', descr => 'number of array dimensions',
  1472. proname => 'array_ndims', prorettype => 'int4', proargtypes => 'anyarray',
  1473. prosrc => 'array_ndims' },
  1474. { oid => '750', descr => 'I/O',
  1475. proname => 'array_in', provolatile => 's', prorettype => 'anyarray',
  1476. proargtypes => 'cstring oid int4', prosrc => 'array_in' },
  1477. { oid => '751', descr => 'I/O',
  1478. proname => 'array_out', provolatile => 's', prorettype => 'cstring',
  1479. proargtypes => 'anyarray', prosrc => 'array_out' },
  1480. { oid => '2091', descr => 'array lower dimension',
  1481. proname => 'array_lower', prorettype => 'int4',
  1482. proargtypes => 'anyarray int4', prosrc => 'array_lower' },
  1483. { oid => '2092', descr => 'array upper dimension',
  1484. proname => 'array_upper', prorettype => 'int4',
  1485. proargtypes => 'anyarray int4', prosrc => 'array_upper' },
  1486. { oid => '2176', descr => 'array length',
  1487. proname => 'array_length', prorettype => 'int4',
  1488. proargtypes => 'anyarray int4', prosrc => 'array_length' },
  1489. { oid => '3179', descr => 'array cardinality',
  1490. proname => 'cardinality', prorettype => 'int4', proargtypes => 'anyarray',
  1491. prosrc => 'array_cardinality' },
  1492. { oid => '378', descr => 'append element onto end of array',
  1493. proname => 'array_append', proisstrict => 'f',
  1494. prorettype => 'anycompatiblearray',
  1495. proargtypes => 'anycompatiblearray anycompatible', prosrc => 'array_append' },
  1496. { oid => '379', descr => 'prepend element onto front of array',
  1497. proname => 'array_prepend', proisstrict => 'f',
  1498. prorettype => 'anycompatiblearray',
  1499. proargtypes => 'anycompatible anycompatiblearray',
  1500. prosrc => 'array_prepend' },
  1501. { oid => '383',
  1502. proname => 'array_cat', proisstrict => 'f',
  1503. prorettype => 'anycompatiblearray',
  1504. proargtypes => 'anycompatiblearray anycompatiblearray',
  1505. prosrc => 'array_cat' },
  1506. { oid => '394', descr => 'split delimited text',
  1507. proname => 'string_to_array', proisstrict => 'f', prorettype => '_text',
  1508. proargtypes => 'text text', prosrc => 'text_to_array' },
  1509. { oid => '376', descr => 'split delimited text, with null string',
  1510. proname => 'string_to_array', proisstrict => 'f', prorettype => '_text',
  1511. proargtypes => 'text text text', prosrc => 'text_to_array_null' },
  1512. { oid => '6160', descr => 'split delimited text',
  1513. proname => 'string_to_table', prorows => '1000', proisstrict => 'f',
  1514. proretset => 't', prorettype => 'text', proargtypes => 'text text',
  1515. prosrc => 'text_to_table' },
  1516. { oid => '6161', descr => 'split delimited text, with null string',
  1517. proname => 'string_to_table', prorows => '1000', proisstrict => 'f',
  1518. proretset => 't', prorettype => 'text', proargtypes => 'text text text',
  1519. prosrc => 'text_to_table_null' },
  1520. { oid => '395',
  1521. descr => 'concatenate array elements, using delimiter, into text',
  1522. proname => 'array_to_string', provolatile => 's', prorettype => 'text',
  1523. proargtypes => 'anyarray text', prosrc => 'array_to_text' },
  1524. { oid => '384',
  1525. descr => 'concatenate array elements, using delimiter and null string, into text',
  1526. proname => 'array_to_string', proisstrict => 'f', provolatile => 's',
  1527. prorettype => 'text', proargtypes => 'anyarray text text',
  1528. prosrc => 'array_to_text_null' },
  1529. { oid => '515', descr => 'larger of two',
  1530. proname => 'array_larger', prorettype => 'anyarray',
  1531. proargtypes => 'anyarray anyarray', prosrc => 'array_larger' },
  1532. { oid => '516', descr => 'smaller of two',
  1533. proname => 'array_smaller', prorettype => 'anyarray',
  1534. proargtypes => 'anyarray anyarray', prosrc => 'array_smaller' },
  1535. { oid => '3277', descr => 'returns an offset of value in array',
  1536. proname => 'array_position', proisstrict => 'f', prorettype => 'int4',
  1537. proargtypes => 'anycompatiblearray anycompatible',
  1538. prosrc => 'array_position' },
  1539. { oid => '3278',
  1540. descr => 'returns an offset of value in array with start index',
  1541. proname => 'array_position', proisstrict => 'f', prorettype => 'int4',
  1542. proargtypes => 'anycompatiblearray anycompatible int4',
  1543. prosrc => 'array_position_start' },
  1544. { oid => '3279',
  1545. descr => 'returns an array of offsets of some value in array',
  1546. proname => 'array_positions', proisstrict => 'f', prorettype => '_int4',
  1547. proargtypes => 'anycompatiblearray anycompatible',
  1548. prosrc => 'array_positions' },
  1549. { oid => '1191', descr => 'array subscripts generator',
  1550. proname => 'generate_subscripts', prorows => '1000', proretset => 't',
  1551. prorettype => 'int4', proargtypes => 'anyarray int4 bool',
  1552. prosrc => 'generate_subscripts' },
  1553. { oid => '1192', descr => 'array subscripts generator',
  1554. proname => 'generate_subscripts', prorows => '1000', proretset => 't',
  1555. prorettype => 'int4', proargtypes => 'anyarray int4',
  1556. prosrc => 'generate_subscripts_nodir' },
  1557. { oid => '1193', descr => 'array constructor with value',
  1558. proname => 'array_fill', proisstrict => 'f', prorettype => 'anyarray',
  1559. proargtypes => 'anyelement _int4', prosrc => 'array_fill' },
  1560. { oid => '1286', descr => 'array constructor with value',
  1561. proname => 'array_fill', proisstrict => 'f', prorettype => 'anyarray',
  1562. proargtypes => 'anyelement _int4 _int4',
  1563. prosrc => 'array_fill_with_lower_bounds' },
  1564. { oid => '2331', descr => 'expand array to set of rows',
  1565. proname => 'unnest', prorows => '100', prosupport => 'array_unnest_support',
  1566. proretset => 't', prorettype => 'anyelement', proargtypes => 'anyarray',
  1567. prosrc => 'array_unnest' },
  1568. { oid => '3996', descr => 'planner support for array_unnest',
  1569. proname => 'array_unnest_support', prorettype => 'internal',
  1570. proargtypes => 'internal', prosrc => 'array_unnest_support' },
  1571. { oid => '3167',
  1572. descr => 'remove any occurrences of an element from an array',
  1573. proname => 'array_remove', proisstrict => 'f',
  1574. prorettype => 'anycompatiblearray',
  1575. proargtypes => 'anycompatiblearray anycompatible', prosrc => 'array_remove' },
  1576. { oid => '3168', descr => 'replace any occurrences of an element in an array',
  1577. proname => 'array_replace', proisstrict => 'f',
  1578. prorettype => 'anycompatiblearray',
  1579. proargtypes => 'anycompatiblearray anycompatible anycompatible',
  1580. prosrc => 'array_replace' },
  1581. { oid => '2333', descr => 'aggregate transition function',
  1582. proname => 'array_agg_transfn', proisstrict => 'f', prorettype => 'internal',
  1583. proargtypes => 'internal anynonarray', prosrc => 'array_agg_transfn' },
  1584. { oid => '6293', descr => 'aggregate combine function',
  1585. proname => 'array_agg_combine', proisstrict => 'f', prorettype => 'internal',
  1586. proargtypes => 'internal internal', prosrc => 'array_agg_combine' },
  1587. { oid => '6294', descr => 'aggregate serial function',
  1588. proname => 'array_agg_serialize', prorettype => 'bytea',
  1589. proargtypes => 'internal', prosrc => 'array_agg_serialize' },
  1590. { oid => '6295', descr => 'aggregate deserial function',
  1591. proname => 'array_agg_deserialize', prorettype => 'internal',
  1592. proargtypes => 'bytea internal', prosrc => 'array_agg_deserialize' },
  1593. { oid => '2334', descr => 'aggregate final function',
  1594. proname => 'array_agg_finalfn', proisstrict => 'f', prorettype => 'anyarray',
  1595. proargtypes => 'internal anynonarray', prosrc => 'array_agg_finalfn' },
  1596. { oid => '2335', descr => 'concatenate aggregate input into an array',
  1597. proname => 'array_agg', prokind => 'a', proisstrict => 'f',
  1598. prorettype => 'anyarray', proargtypes => 'anynonarray',
  1599. prosrc => 'aggregate_dummy' },
  1600. { oid => '4051', descr => 'aggregate transition function',
  1601. proname => 'array_agg_array_transfn', proisstrict => 'f',
  1602. prorettype => 'internal', proargtypes => 'internal anyarray',
  1603. prosrc => 'array_agg_array_transfn' },
  1604. { oid => '6296', descr => 'aggregate combine function',
  1605. proname => 'array_agg_array_combine', proisstrict => 'f',
  1606. prorettype => 'internal', proargtypes => 'internal internal',
  1607. prosrc => 'array_agg_array_combine' },
  1608. { oid => '6297', descr => 'aggregate serial function',
  1609. proname => 'array_agg_array_serialize', prorettype => 'bytea',
  1610. proargtypes => 'internal', prosrc => 'array_agg_array_serialize' },
  1611. { oid => '6298', descr => 'aggregate deserial function',
  1612. proname => 'array_agg_array_deserialize', prorettype => 'internal',
  1613. proargtypes => 'bytea internal', prosrc => 'array_agg_array_deserialize' },
  1614. { oid => '4052', descr => 'aggregate final function',
  1615. proname => 'array_agg_array_finalfn', proisstrict => 'f',
  1616. prorettype => 'anyarray', proargtypes => 'internal anyarray',
  1617. prosrc => 'array_agg_array_finalfn' },
  1618. { oid => '4053', descr => 'concatenate aggregate input into an array',
  1619. proname => 'array_agg', prokind => 'a', proisstrict => 'f',
  1620. prorettype => 'anyarray', proargtypes => 'anyarray',
  1621. prosrc => 'aggregate_dummy' },
  1622. { oid => '3218',
  1623. descr => 'bucket number of operand given a sorted array of bucket lower bounds',
  1624. proname => 'width_bucket', prorettype => 'int4',
  1625. proargtypes => 'anycompatible anycompatiblearray',
  1626. prosrc => 'width_bucket_array' },
  1627. { oid => '6172', descr => 'remove last N elements of array',
  1628. proname => 'trim_array', prorettype => 'anyarray',
  1629. proargtypes => 'anyarray int4', prosrc => 'trim_array' },
  1630. { oid => '6215', descr => 'shuffle array',
  1631. proname => 'array_shuffle', provolatile => 'v', prorettype => 'anyarray',
  1632. proargtypes => 'anyarray', prosrc => 'array_shuffle' },
  1633. { oid => '6216', descr => 'take samples from array',
  1634. proname => 'array_sample', provolatile => 'v', prorettype => 'anyarray',
  1635. proargtypes => 'anyarray int4', prosrc => 'array_sample' },
  1636. { oid => '3816', descr => 'array typanalyze',
  1637. proname => 'array_typanalyze', provolatile => 's', prorettype => 'bool',
  1638. proargtypes => 'internal', prosrc => 'array_typanalyze' },
  1639. { oid => '3817',
  1640. descr => 'restriction selectivity for array-containment operators',
  1641. proname => 'arraycontsel', provolatile => 's', prorettype => 'float8',
  1642. proargtypes => 'internal oid internal int4', prosrc => 'arraycontsel' },
  1643. { oid => '3818', descr => 'join selectivity for array-containment operators',
  1644. proname => 'arraycontjoinsel', provolatile => 's', prorettype => 'float8',
  1645. proargtypes => 'internal oid internal int2 internal',
  1646. prosrc => 'arraycontjoinsel' },
  1647. { oid => '764', descr => 'large object import',
  1648. proname => 'lo_import', provolatile => 'v', proparallel => 'u',
  1649. prorettype => 'oid', proargtypes => 'text', prosrc => 'be_lo_import' },
  1650. { oid => '767', descr => 'large object import',
  1651. proname => 'lo_import', provolatile => 'v', proparallel => 'u',
  1652. prorettype => 'oid', proargtypes => 'text oid',
  1653. prosrc => 'be_lo_import_with_oid' },
  1654. { oid => '765', descr => 'large object export',
  1655. proname => 'lo_export', provolatile => 'v', proparallel => 'u',
  1656. prorettype => 'int4', proargtypes => 'oid text', prosrc => 'be_lo_export' },
  1657. { oid => '766', descr => 'increment',
  1658. proname => 'int4inc', prorettype => 'int4', proargtypes => 'int4',
  1659. prosrc => 'int4inc' },
  1660. { oid => '768', descr => 'larger of two',
  1661. proname => 'int4larger', prorettype => 'int4', proargtypes => 'int4 int4',
  1662. prosrc => 'int4larger' },
  1663. { oid => '769', descr => 'smaller of two',
  1664. proname => 'int4smaller', prorettype => 'int4', proargtypes => 'int4 int4',
  1665. prosrc => 'int4smaller' },
  1666. { oid => '770', descr => 'larger of two',
  1667. proname => 'int2larger', prorettype => 'int2', proargtypes => 'int2 int2',
  1668. prosrc => 'int2larger' },
  1669. { oid => '771', descr => 'smaller of two',
  1670. proname => 'int2smaller', prorettype => 'int2', proargtypes => 'int2 int2',
  1671. prosrc => 'int2smaller' },
  1672. # OIDS 800 - 899
  1673. { oid => '846',
  1674. proname => 'cash_mul_flt4', prorettype => 'money',
  1675. proargtypes => 'money float4', prosrc => 'cash_mul_flt4' },
  1676. { oid => '847',
  1677. proname => 'cash_div_flt4', prorettype => 'money',
  1678. proargtypes => 'money float4', prosrc => 'cash_div_flt4' },
  1679. { oid => '848',
  1680. proname => 'flt4_mul_cash', prorettype => 'money',
  1681. proargtypes => 'float4 money', prosrc => 'flt4_mul_cash' },
  1682. { oid => '849', descr => 'position of substring',
  1683. proname => 'position', prorettype => 'int4', proargtypes => 'text text',
  1684. prosrc => 'textpos' },
  1685. { oid => '850',
  1686. proname => 'textlike', prosupport => 'textlike_support', prorettype => 'bool',
  1687. proargtypes => 'text text', prosrc => 'textlike' },
  1688. { oid => '1023', descr => 'planner support for textlike',
  1689. proname => 'textlike_support', prorettype => 'internal',
  1690. proargtypes => 'internal', prosrc => 'textlike_support' },
  1691. { oid => '851',
  1692. proname => 'textnlike', prorettype => 'bool', proargtypes => 'text text',
  1693. prosrc => 'textnlike' },
  1694. { oid => '852',
  1695. proname => 'int48eq', proleakproof => 't', prorettype => 'bool',
  1696. proargtypes => 'int4 int8', prosrc => 'int48eq' },
  1697. { oid => '853',
  1698. proname => 'int48ne', proleakproof => 't', prorettype => 'bool',
  1699. proargtypes => 'int4 int8', prosrc => 'int48ne' },
  1700. { oid => '854',
  1701. proname => 'int48lt', proleakproof => 't', prorettype => 'bool',
  1702. proargtypes => 'int4 int8', prosrc => 'int48lt' },
  1703. { oid => '855',
  1704. proname => 'int48gt', proleakproof => 't', prorettype => 'bool',
  1705. proargtypes => 'int4 int8', prosrc => 'int48gt' },
  1706. { oid => '856',
  1707. proname => 'int48le', proleakproof => 't', prorettype => 'bool',
  1708. proargtypes => 'int4 int8', prosrc => 'int48le' },
  1709. { oid => '857',
  1710. proname => 'int48ge', proleakproof => 't', prorettype => 'bool',
  1711. proargtypes => 'int4 int8', prosrc => 'int48ge' },
  1712. { oid => '858',
  1713. proname => 'namelike', prosupport => 'textlike_support', prorettype => 'bool',
  1714. proargtypes => 'name text', prosrc => 'namelike' },
  1715. { oid => '859',
  1716. proname => 'namenlike', prorettype => 'bool', proargtypes => 'name text',
  1717. prosrc => 'namenlike' },
  1718. { oid => '860', descr => 'convert char to char(n)',
  1719. proname => 'bpchar', prorettype => 'bpchar', proargtypes => 'char',
  1720. prosrc => 'char_bpchar' },
  1721. { oid => '861', descr => 'name of the current database',
  1722. proname => 'current_database', provolatile => 's', prorettype => 'name',
  1723. proargtypes => '', prosrc => 'current_database' },
  1724. { oid => '817', descr => 'get the currently executing query',
  1725. proname => 'current_query', proisstrict => 'f', provolatile => 'v',
  1726. proparallel => 'r', prorettype => 'text', proargtypes => '',
  1727. prosrc => 'current_query' },
  1728. { oid => '3399',
  1729. proname => 'int8_mul_cash', prorettype => 'money',
  1730. proargtypes => 'int8 money', prosrc => 'int8_mul_cash' },
  1731. { oid => '862',
  1732. proname => 'int4_mul_cash', prorettype => 'money',
  1733. proargtypes => 'int4 money', prosrc => 'int4_mul_cash' },
  1734. { oid => '863',
  1735. proname => 'int2_mul_cash', prorettype => 'money',
  1736. proargtypes => 'int2 money', prosrc => 'int2_mul_cash' },
  1737. { oid => '3344',
  1738. proname => 'cash_mul_int8', prorettype => 'money',
  1739. proargtypes => 'money int8', prosrc => 'cash_mul_int8' },
  1740. { oid => '3345',
  1741. proname => 'cash_div_int8', prorettype => 'money',
  1742. proargtypes => 'money int8', prosrc => 'cash_div_int8' },
  1743. { oid => '864',
  1744. proname => 'cash_mul_int4', prorettype => 'money',
  1745. proargtypes => 'money int4', prosrc => 'cash_mul_int4' },
  1746. { oid => '865',
  1747. proname => 'cash_div_int4', prorettype => 'money',
  1748. proargtypes => 'money int4', prosrc => 'cash_div_int4' },
  1749. { oid => '866',
  1750. proname => 'cash_mul_int2', prorettype => 'money',
  1751. proargtypes => 'money int2', prosrc => 'cash_mul_int2' },
  1752. { oid => '867',
  1753. proname => 'cash_div_int2', prorettype => 'money',
  1754. proargtypes => 'money int2', prosrc => 'cash_div_int2' },
  1755. { oid => '886', descr => 'I/O',
  1756. proname => 'cash_in', provolatile => 's', prorettype => 'money',
  1757. proargtypes => 'cstring', prosrc => 'cash_in' },
  1758. { oid => '887', descr => 'I/O',
  1759. proname => 'cash_out', provolatile => 's', prorettype => 'cstring',
  1760. proargtypes => 'money', prosrc => 'cash_out' },
  1761. { oid => '888',
  1762. proname => 'cash_eq', proleakproof => 't', prorettype => 'bool',
  1763. proargtypes => 'money money', prosrc => 'cash_eq' },
  1764. { oid => '889',
  1765. proname => 'cash_ne', proleakproof => 't', prorettype => 'bool',
  1766. proargtypes => 'money money', prosrc => 'cash_ne' },
  1767. { oid => '890',
  1768. proname => 'cash_lt', proleakproof => 't', prorettype => 'bool',
  1769. proargtypes => 'money money', prosrc => 'cash_lt' },
  1770. { oid => '891',
  1771. proname => 'cash_le', proleakproof => 't', prorettype => 'bool',
  1772. proargtypes => 'money money', prosrc => 'cash_le' },
  1773. { oid => '892',
  1774. proname => 'cash_gt', proleakproof => 't', prorettype => 'bool',
  1775. proargtypes => 'money money', prosrc => 'cash_gt' },
  1776. { oid => '893',
  1777. proname => 'cash_ge', proleakproof => 't', prorettype => 'bool',
  1778. proargtypes => 'money money', prosrc => 'cash_ge' },
  1779. { oid => '894',
  1780. proname => 'cash_pl', prorettype => 'money', proargtypes => 'money money',
  1781. prosrc => 'cash_pl' },
  1782. { oid => '895',
  1783. proname => 'cash_mi', prorettype => 'money', proargtypes => 'money money',
  1784. prosrc => 'cash_mi' },
  1785. { oid => '896',
  1786. proname => 'cash_mul_flt8', prorettype => 'money',
  1787. proargtypes => 'money float8', prosrc => 'cash_mul_flt8' },
  1788. { oid => '897',
  1789. proname => 'cash_div_flt8', prorettype => 'money',
  1790. proargtypes => 'money float8', prosrc => 'cash_div_flt8' },
  1791. { oid => '898', descr => 'larger of two',
  1792. proname => 'cashlarger', prorettype => 'money', proargtypes => 'money money',
  1793. prosrc => 'cashlarger' },
  1794. { oid => '899', descr => 'smaller of two',
  1795. proname => 'cashsmaller', prorettype => 'money', proargtypes => 'money money',
  1796. prosrc => 'cashsmaller' },
  1797. { oid => '919',
  1798. proname => 'flt8_mul_cash', prorettype => 'money',
  1799. proargtypes => 'float8 money', prosrc => 'flt8_mul_cash' },
  1800. { oid => '935', descr => 'output money amount as words',
  1801. proname => 'cash_words', prorettype => 'text', proargtypes => 'money',
  1802. prosrc => 'cash_words' },
  1803. { oid => '3822',
  1804. proname => 'cash_div_cash', prorettype => 'float8',
  1805. proargtypes => 'money money', prosrc => 'cash_div_cash' },
  1806. { oid => '3823', descr => 'convert money to numeric',
  1807. proname => 'numeric', provolatile => 's', prorettype => 'numeric',
  1808. proargtypes => 'money', prosrc => 'cash_numeric' },
  1809. { oid => '3824', descr => 'convert numeric to money',
  1810. proname => 'money', provolatile => 's', prorettype => 'money',
  1811. proargtypes => 'numeric', prosrc => 'numeric_cash' },
  1812. { oid => '3811', descr => 'convert int4 to money',
  1813. proname => 'money', provolatile => 's', prorettype => 'money',
  1814. proargtypes => 'int4', prosrc => 'int4_cash' },
  1815. { oid => '3812', descr => 'convert int8 to money',
  1816. proname => 'money', provolatile => 's', prorettype => 'money',
  1817. proargtypes => 'int8', prosrc => 'int8_cash' },
  1818. # OIDS 900 - 999
  1819. { oid => '940', descr => 'modulus',
  1820. proname => 'mod', prorettype => 'int2', proargtypes => 'int2 int2',
  1821. prosrc => 'int2mod' },
  1822. { oid => '941', descr => 'modulus',
  1823. proname => 'mod', prorettype => 'int4', proargtypes => 'int4 int4',
  1824. prosrc => 'int4mod' },
  1825. { oid => '945',
  1826. proname => 'int8mod', prorettype => 'int8', proargtypes => 'int8 int8',
  1827. prosrc => 'int8mod' },
  1828. { oid => '947', descr => 'modulus',
  1829. proname => 'mod', prorettype => 'int8', proargtypes => 'int8 int8',
  1830. prosrc => 'int8mod' },
  1831. { oid => '5044', descr => 'greatest common divisor',
  1832. proname => 'gcd', prorettype => 'int4', proargtypes => 'int4 int4',
  1833. prosrc => 'int4gcd' },
  1834. { oid => '5045', descr => 'greatest common divisor',
  1835. proname => 'gcd', prorettype => 'int8', proargtypes => 'int8 int8',
  1836. prosrc => 'int8gcd' },
  1837. { oid => '5046', descr => 'least common multiple',
  1838. proname => 'lcm', prorettype => 'int4', proargtypes => 'int4 int4',
  1839. prosrc => 'int4lcm' },
  1840. { oid => '5047', descr => 'least common multiple',
  1841. proname => 'lcm', prorettype => 'int8', proargtypes => 'int8 int8',
  1842. prosrc => 'int8lcm' },
  1843. { oid => '944', descr => 'convert text to char',
  1844. proname => 'char', prorettype => 'char', proargtypes => 'text',
  1845. prosrc => 'text_char' },
  1846. { oid => '946', descr => 'convert char to text',
  1847. proname => 'text', prorettype => 'text', proargtypes => 'char',
  1848. prosrc => 'char_text' },
  1849. { oid => '952', descr => 'large object open',
  1850. proname => 'lo_open', provolatile => 'v', proparallel => 'u',
  1851. prorettype => 'int4', proargtypes => 'oid int4', prosrc => 'be_lo_open' },
  1852. { oid => '953', descr => 'large object close',
  1853. proname => 'lo_close', provolatile => 'v', proparallel => 'u',
  1854. prorettype => 'int4', proargtypes => 'int4', prosrc => 'be_lo_close' },
  1855. { oid => '954', descr => 'large object read',
  1856. proname => 'loread', provolatile => 'v', proparallel => 'u',
  1857. prorettype => 'bytea', proargtypes => 'int4 int4', prosrc => 'be_loread' },
  1858. { oid => '955', descr => 'large object write',
  1859. proname => 'lowrite', provolatile => 'v', proparallel => 'u',
  1860. prorettype => 'int4', proargtypes => 'int4 bytea', prosrc => 'be_lowrite' },
  1861. { oid => '956', descr => 'large object seek',
  1862. proname => 'lo_lseek', provolatile => 'v', proparallel => 'u',
  1863. prorettype => 'int4', proargtypes => 'int4 int4 int4',
  1864. prosrc => 'be_lo_lseek' },
  1865. { oid => '3170', descr => 'large object seek (64 bit)',
  1866. proname => 'lo_lseek64', provolatile => 'v', proparallel => 'u',
  1867. prorettype => 'int8', proargtypes => 'int4 int8 int4',
  1868. prosrc => 'be_lo_lseek64' },
  1869. { oid => '957', descr => 'large object create',
  1870. proname => 'lo_creat', provolatile => 'v', proparallel => 'u',
  1871. prorettype => 'oid', proargtypes => 'int4', prosrc => 'be_lo_creat' },
  1872. { oid => '715', descr => 'large object create',
  1873. proname => 'lo_create', provolatile => 'v', proparallel => 'u',
  1874. prorettype => 'oid', proargtypes => 'oid', prosrc => 'be_lo_create' },
  1875. { oid => '958', descr => 'large object position',
  1876. proname => 'lo_tell', provolatile => 'v', proparallel => 'u',
  1877. prorettype => 'int4', proargtypes => 'int4', prosrc => 'be_lo_tell' },
  1878. { oid => '3171', descr => 'large object position (64 bit)',
  1879. proname => 'lo_tell64', provolatile => 'v', proparallel => 'u',
  1880. prorettype => 'int8', proargtypes => 'int4', prosrc => 'be_lo_tell64' },
  1881. { oid => '1004', descr => 'truncate large object',
  1882. proname => 'lo_truncate', provolatile => 'v', proparallel => 'u',
  1883. prorettype => 'int4', proargtypes => 'int4 int4',
  1884. prosrc => 'be_lo_truncate' },
  1885. { oid => '3172', descr => 'truncate large object (64 bit)',
  1886. proname => 'lo_truncate64', provolatile => 'v', proparallel => 'u',
  1887. prorettype => 'int4', proargtypes => 'int4 int8',
  1888. prosrc => 'be_lo_truncate64' },
  1889. { oid => '3457', descr => 'create new large object with given content',
  1890. proname => 'lo_from_bytea', provolatile => 'v', proparallel => 'u',
  1891. prorettype => 'oid', proargtypes => 'oid bytea',
  1892. prosrc => 'be_lo_from_bytea' },
  1893. { oid => '3458', descr => 'read entire large object',
  1894. proname => 'lo_get', provolatile => 'v', proparallel => 'u',
  1895. prorettype => 'bytea', proargtypes => 'oid', prosrc => 'be_lo_get' },
  1896. { oid => '3459', descr => 'read large object from offset for length',
  1897. proname => 'lo_get', provolatile => 'v', proparallel => 'u',
  1898. prorettype => 'bytea', proargtypes => 'oid int8 int4',
  1899. prosrc => 'be_lo_get_fragment' },
  1900. { oid => '3460', descr => 'write data at offset',
  1901. proname => 'lo_put', provolatile => 'v', proparallel => 'u',
  1902. prorettype => 'void', proargtypes => 'oid int8 bytea',
  1903. prosrc => 'be_lo_put' },
  1904. { oid => '959',
  1905. proname => 'on_pl', prorettype => 'bool', proargtypes => 'point line',
  1906. prosrc => 'on_pl' },
  1907. { oid => '960',
  1908. proname => 'on_sl', prorettype => 'bool', proargtypes => 'lseg line',
  1909. prosrc => 'on_sl' },
  1910. { oid => '961',
  1911. proname => 'close_pl', prorettype => 'point', proargtypes => 'point line',
  1912. prosrc => 'close_pl' },
  1913. { oid => '964', descr => 'large object unlink (delete)',
  1914. proname => 'lo_unlink', provolatile => 'v', proparallel => 'u',
  1915. prorettype => 'int4', proargtypes => 'oid', prosrc => 'be_lo_unlink' },
  1916. { oid => '973',
  1917. proname => 'path_inter', prorettype => 'bool', proargtypes => 'path path',
  1918. prosrc => 'path_inter' },
  1919. { oid => '975', descr => 'box area',
  1920. proname => 'area', prorettype => 'float8', proargtypes => 'box',
  1921. prosrc => 'box_area' },
  1922. { oid => '976', descr => 'box width',
  1923. proname => 'width', prorettype => 'float8', proargtypes => 'box',
  1924. prosrc => 'box_width' },
  1925. { oid => '977', descr => 'box height',
  1926. proname => 'height', prorettype => 'float8', proargtypes => 'box',
  1927. prosrc => 'box_height' },
  1928. { oid => '978',
  1929. proname => 'box_distance', prorettype => 'float8', proargtypes => 'box box',
  1930. prosrc => 'box_distance' },
  1931. { oid => '979', descr => 'area of a closed path',
  1932. proname => 'area', prorettype => 'float8', proargtypes => 'path',
  1933. prosrc => 'path_area' },
  1934. { oid => '980',
  1935. proname => 'box_intersect', prorettype => 'box', proargtypes => 'box box',
  1936. prosrc => 'box_intersect' },
  1937. { oid => '4067', descr => 'bounding box of two boxes',
  1938. proname => 'bound_box', prorettype => 'box', proargtypes => 'box box',
  1939. prosrc => 'boxes_bound_box' },
  1940. { oid => '981', descr => 'box diagonal',
  1941. proname => 'diagonal', prorettype => 'lseg', proargtypes => 'box',
  1942. prosrc => 'box_diagonal' },
  1943. { oid => '982',
  1944. proname => 'path_n_lt', prorettype => 'bool', proargtypes => 'path path',
  1945. prosrc => 'path_n_lt' },
  1946. { oid => '983',
  1947. proname => 'path_n_gt', prorettype => 'bool', proargtypes => 'path path',
  1948. prosrc => 'path_n_gt' },
  1949. { oid => '984',
  1950. proname => 'path_n_eq', prorettype => 'bool', proargtypes => 'path path',
  1951. prosrc => 'path_n_eq' },
  1952. { oid => '985',
  1953. proname => 'path_n_le', prorettype => 'bool', proargtypes => 'path path',
  1954. prosrc => 'path_n_le' },
  1955. { oid => '986',
  1956. proname => 'path_n_ge', prorettype => 'bool', proargtypes => 'path path',
  1957. prosrc => 'path_n_ge' },
  1958. { oid => '987',
  1959. proname => 'path_length', prorettype => 'float8', proargtypes => 'path',
  1960. prosrc => 'path_length' },
  1961. { oid => '988',
  1962. proname => 'point_ne', prorettype => 'bool', proargtypes => 'point point',
  1963. prosrc => 'point_ne' },
  1964. { oid => '989',
  1965. proname => 'point_vert', prorettype => 'bool', proargtypes => 'point point',
  1966. prosrc => 'point_vert' },
  1967. { oid => '990',
  1968. proname => 'point_horiz', prorettype => 'bool', proargtypes => 'point point',
  1969. prosrc => 'point_horiz' },
  1970. { oid => '991',
  1971. proname => 'point_distance', prorettype => 'float8',
  1972. proargtypes => 'point point', prosrc => 'point_distance' },
  1973. { oid => '992', descr => 'slope between points',
  1974. proname => 'slope', prorettype => 'float8', proargtypes => 'point point',
  1975. prosrc => 'point_slope' },
  1976. { oid => '993', descr => 'convert points to line segment',
  1977. proname => 'lseg', prorettype => 'lseg', proargtypes => 'point point',
  1978. prosrc => 'lseg_construct' },
  1979. { oid => '994',
  1980. proname => 'lseg_intersect', prorettype => 'bool', proargtypes => 'lseg lseg',
  1981. prosrc => 'lseg_intersect' },
  1982. { oid => '995',
  1983. proname => 'lseg_parallel', prorettype => 'bool', proargtypes => 'lseg lseg',
  1984. prosrc => 'lseg_parallel' },
  1985. { oid => '996',
  1986. proname => 'lseg_perp', prorettype => 'bool', proargtypes => 'lseg lseg',
  1987. prosrc => 'lseg_perp' },
  1988. { oid => '997',
  1989. proname => 'lseg_vertical', prorettype => 'bool', proargtypes => 'lseg',
  1990. prosrc => 'lseg_vertical' },
  1991. { oid => '998',
  1992. proname => 'lseg_horizontal', prorettype => 'bool', proargtypes => 'lseg',
  1993. prosrc => 'lseg_horizontal' },
  1994. { oid => '999',
  1995. proname => 'lseg_eq', proleakproof => 't', prorettype => 'bool',
  1996. proargtypes => 'lseg lseg', prosrc => 'lseg_eq' },
  1997. # OIDS 1000 - 1999
  1998. { oid => '1026', descr => 'adjust timestamp to new time zone',
  1999. proname => 'timezone', prorettype => 'timestamp',
  2000. proargtypes => 'interval timestamptz', prosrc => 'timestamptz_izone' },
  2001. { oid => '1031', descr => 'I/O',
  2002. proname => 'aclitemin', provolatile => 's', prorettype => 'aclitem',
  2003. proargtypes => 'cstring', prosrc => 'aclitemin' },
  2004. { oid => '1032', descr => 'I/O',
  2005. proname => 'aclitemout', provolatile => 's', prorettype => 'cstring',
  2006. proargtypes => 'aclitem', prosrc => 'aclitemout' },
  2007. { oid => '1035', descr => 'add/update ACL item',
  2008. proname => 'aclinsert', prorettype => '_aclitem',
  2009. proargtypes => '_aclitem aclitem', prosrc => 'aclinsert' },
  2010. { oid => '1036', descr => 'remove ACL item',
  2011. proname => 'aclremove', prorettype => '_aclitem',
  2012. proargtypes => '_aclitem aclitem', prosrc => 'aclremove' },
  2013. { oid => '1037', descr => 'contains',
  2014. proname => 'aclcontains', prorettype => 'bool',
  2015. proargtypes => '_aclitem aclitem', prosrc => 'aclcontains' },
  2016. { oid => '1062',
  2017. proname => 'aclitemeq', prorettype => 'bool',
  2018. proargtypes => 'aclitem aclitem', prosrc => 'aclitem_eq' },
  2019. { oid => '1365', descr => 'make ACL item',
  2020. proname => 'makeaclitem', prorettype => 'aclitem',
  2021. proargtypes => 'oid oid text bool', prosrc => 'makeaclitem' },
  2022. { oid => '3943',
  2023. descr => 'show hardwired default privileges, primarily for use by the information schema',
  2024. proname => 'acldefault', prorettype => '_aclitem', proargtypes => 'char oid',
  2025. prosrc => 'acldefault_sql' },
  2026. { oid => '1689',
  2027. descr => 'convert ACL item array to table, primarily for use by information schema',
  2028. proname => 'aclexplode', prorows => '10', proretset => 't',
  2029. provolatile => 's', prorettype => 'record', proargtypes => '_aclitem',
  2030. proallargtypes => '{_aclitem,oid,oid,text,bool}',
  2031. proargmodes => '{i,o,o,o,o}',
  2032. proargnames => '{acl,grantor,grantee,privilege_type,is_grantable}',
  2033. prosrc => 'aclexplode' },
  2034. { oid => '1044', descr => 'I/O',
  2035. proname => 'bpcharin', prorettype => 'bpchar',
  2036. proargtypes => 'cstring oid int4', prosrc => 'bpcharin' },
  2037. { oid => '1045', descr => 'I/O',
  2038. proname => 'bpcharout', prorettype => 'cstring', proargtypes => 'bpchar',
  2039. prosrc => 'bpcharout' },
  2040. { oid => '2913', descr => 'I/O typmod',
  2041. proname => 'bpchartypmodin', prorettype => 'int4', proargtypes => '_cstring',
  2042. prosrc => 'bpchartypmodin' },
  2043. { oid => '2914', descr => 'I/O typmod',
  2044. proname => 'bpchartypmodout', prorettype => 'cstring', proargtypes => 'int4',
  2045. prosrc => 'bpchartypmodout' },
  2046. { oid => '1046', descr => 'I/O',
  2047. proname => 'varcharin', prorettype => 'varchar',
  2048. proargtypes => 'cstring oid int4', prosrc => 'varcharin' },
  2049. { oid => '1047', descr => 'I/O',
  2050. proname => 'varcharout', prorettype => 'cstring', proargtypes => 'varchar',
  2051. prosrc => 'varcharout' },
  2052. { oid => '2915', descr => 'I/O typmod',
  2053. proname => 'varchartypmodin', prorettype => 'int4', proargtypes => '_cstring',
  2054. prosrc => 'varchartypmodin' },
  2055. { oid => '2916', descr => 'I/O typmod',
  2056. proname => 'varchartypmodout', prorettype => 'cstring', proargtypes => 'int4',
  2057. prosrc => 'varchartypmodout' },
  2058. { oid => '1048',
  2059. proname => 'bpchareq', proleakproof => 't', prorettype => 'bool',
  2060. proargtypes => 'bpchar bpchar', prosrc => 'bpchareq' },
  2061. { oid => '1049',
  2062. proname => 'bpcharlt', proleakproof => 't', prorettype => 'bool',
  2063. proargtypes => 'bpchar bpchar', prosrc => 'bpcharlt' },
  2064. { oid => '1050',
  2065. proname => 'bpcharle', proleakproof => 't', prorettype => 'bool',
  2066. proargtypes => 'bpchar bpchar', prosrc => 'bpcharle' },
  2067. { oid => '1051',
  2068. proname => 'bpchargt', proleakproof => 't', prorettype => 'bool',
  2069. proargtypes => 'bpchar bpchar', prosrc => 'bpchargt' },
  2070. { oid => '1052',
  2071. proname => 'bpcharge', proleakproof => 't', prorettype => 'bool',
  2072. proargtypes => 'bpchar bpchar', prosrc => 'bpcharge' },
  2073. { oid => '1053',
  2074. proname => 'bpcharne', proleakproof => 't', prorettype => 'bool',
  2075. proargtypes => 'bpchar bpchar', prosrc => 'bpcharne' },
  2076. { oid => '1063', descr => 'larger of two',
  2077. proname => 'bpchar_larger', proleakproof => 't', prorettype => 'bpchar',
  2078. proargtypes => 'bpchar bpchar', prosrc => 'bpchar_larger' },
  2079. { oid => '1064', descr => 'smaller of two',
  2080. proname => 'bpchar_smaller', proleakproof => 't', prorettype => 'bpchar',
  2081. proargtypes => 'bpchar bpchar', prosrc => 'bpchar_smaller' },
  2082. { oid => '1078', descr => 'less-equal-greater',
  2083. proname => 'bpcharcmp', proleakproof => 't', prorettype => 'int4',
  2084. proargtypes => 'bpchar bpchar', prosrc => 'bpcharcmp' },
  2085. { oid => '3328', descr => 'sort support',
  2086. proname => 'bpchar_sortsupport', prorettype => 'void',
  2087. proargtypes => 'internal', prosrc => 'bpchar_sortsupport' },
  2088. { oid => '1080', descr => 'hash',
  2089. proname => 'hashbpchar', prorettype => 'int4', proargtypes => 'bpchar',
  2090. prosrc => 'hashbpchar' },
  2091. { oid => '972', descr => 'hash',
  2092. proname => 'hashbpcharextended', prorettype => 'int8',
  2093. proargtypes => 'bpchar int8', prosrc => 'hashbpcharextended' },
  2094. { oid => '1081', descr => 'format a type oid and atttypmod to canonical SQL',
  2095. proname => 'format_type', proisstrict => 'f', provolatile => 's',
  2096. prorettype => 'text', proargtypes => 'oid int4', prosrc => 'format_type' },
  2097. { oid => '1084', descr => 'I/O',
  2098. proname => 'date_in', provolatile => 's', prorettype => 'date',
  2099. proargtypes => 'cstring', prosrc => 'date_in' },
  2100. { oid => '1085', descr => 'I/O',
  2101. proname => 'date_out', provolatile => 's', prorettype => 'cstring',
  2102. proargtypes => 'date', prosrc => 'date_out' },
  2103. { oid => '1086',
  2104. proname => 'date_eq', proleakproof => 't', prorettype => 'bool',
  2105. proargtypes => 'date date', prosrc => 'date_eq' },
  2106. { oid => '1087',
  2107. proname => 'date_lt', proleakproof => 't', prorettype => 'bool',
  2108. proargtypes => 'date date', prosrc => 'date_lt' },
  2109. { oid => '1088',
  2110. proname => 'date_le', proleakproof => 't', prorettype => 'bool',
  2111. proargtypes => 'date date', prosrc => 'date_le' },
  2112. { oid => '1089',
  2113. proname => 'date_gt', proleakproof => 't', prorettype => 'bool',
  2114. proargtypes => 'date date', prosrc => 'date_gt' },
  2115. { oid => '1090',
  2116. proname => 'date_ge', proleakproof => 't', prorettype => 'bool',
  2117. proargtypes => 'date date', prosrc => 'date_ge' },
  2118. { oid => '1091',
  2119. proname => 'date_ne', proleakproof => 't', prorettype => 'bool',
  2120. proargtypes => 'date date', prosrc => 'date_ne' },
  2121. { oid => '1092', descr => 'less-equal-greater',
  2122. proname => 'date_cmp', proleakproof => 't', prorettype => 'int4',
  2123. proargtypes => 'date date', prosrc => 'date_cmp' },
  2124. { oid => '3136', descr => 'sort support',
  2125. proname => 'date_sortsupport', prorettype => 'void',
  2126. proargtypes => 'internal', prosrc => 'date_sortsupport' },
  2127. { oid => '4133', descr => 'window RANGE support',
  2128. proname => 'in_range', prorettype => 'bool',
  2129. proargtypes => 'date date interval bool bool',
  2130. prosrc => 'in_range_date_interval' },
  2131. # OIDS 1100 - 1199
  2132. { oid => '1102',
  2133. proname => 'time_lt', proleakproof => 't', prorettype => 'bool',
  2134. proargtypes => 'time time', prosrc => 'time_lt' },
  2135. { oid => '1103',
  2136. proname => 'time_le', proleakproof => 't', prorettype => 'bool',
  2137. proargtypes => 'time time', prosrc => 'time_le' },
  2138. { oid => '1104',
  2139. proname => 'time_gt', proleakproof => 't', prorettype => 'bool',
  2140. proargtypes => 'time time', prosrc => 'time_gt' },
  2141. { oid => '1105',
  2142. proname => 'time_ge', proleakproof => 't', prorettype => 'bool',
  2143. proargtypes => 'time time', prosrc => 'time_ge' },
  2144. { oid => '1106',
  2145. proname => 'time_ne', proleakproof => 't', prorettype => 'bool',
  2146. proargtypes => 'time time', prosrc => 'time_ne' },
  2147. { oid => '1107', descr => 'less-equal-greater',
  2148. proname => 'time_cmp', proleakproof => 't', prorettype => 'int4',
  2149. proargtypes => 'time time', prosrc => 'time_cmp' },
  2150. { oid => '1138', descr => 'larger of two',
  2151. proname => 'date_larger', prorettype => 'date', proargtypes => 'date date',
  2152. prosrc => 'date_larger' },
  2153. { oid => '1139', descr => 'smaller of two',
  2154. proname => 'date_smaller', prorettype => 'date', proargtypes => 'date date',
  2155. prosrc => 'date_smaller' },
  2156. { oid => '1140',
  2157. proname => 'date_mi', prorettype => 'int4', proargtypes => 'date date',
  2158. prosrc => 'date_mi' },
  2159. { oid => '1141',
  2160. proname => 'date_pli', prorettype => 'date', proargtypes => 'date int4',
  2161. prosrc => 'date_pli' },
  2162. { oid => '1142',
  2163. proname => 'date_mii', prorettype => 'date', proargtypes => 'date int4',
  2164. prosrc => 'date_mii' },
  2165. { oid => '1143', descr => 'I/O',
  2166. proname => 'time_in', provolatile => 's', prorettype => 'time',
  2167. proargtypes => 'cstring oid int4', prosrc => 'time_in' },
  2168. { oid => '1144', descr => 'I/O',
  2169. proname => 'time_out', prorettype => 'cstring', proargtypes => 'time',
  2170. prosrc => 'time_out' },
  2171. { oid => '2909', descr => 'I/O typmod',
  2172. proname => 'timetypmodin', prorettype => 'int4', proargtypes => '_cstring',
  2173. prosrc => 'timetypmodin' },
  2174. { oid => '2910', descr => 'I/O typmod',
  2175. proname => 'timetypmodout', prorettype => 'cstring', proargtypes => 'int4',
  2176. prosrc => 'timetypmodout' },
  2177. { oid => '1145',
  2178. proname => 'time_eq', proleakproof => 't', prorettype => 'bool',
  2179. proargtypes => 'time time', prosrc => 'time_eq' },
  2180. { oid => '1146',
  2181. proname => 'circle_add_pt', prorettype => 'circle',
  2182. proargtypes => 'circle point', prosrc => 'circle_add_pt' },
  2183. { oid => '1147',
  2184. proname => 'circle_sub_pt', prorettype => 'circle',
  2185. proargtypes => 'circle point', prosrc => 'circle_sub_pt' },
  2186. { oid => '1148',
  2187. proname => 'circle_mul_pt', prorettype => 'circle',
  2188. proargtypes => 'circle point', prosrc => 'circle_mul_pt' },
  2189. { oid => '1149',
  2190. proname => 'circle_div_pt', prorettype => 'circle',
  2191. proargtypes => 'circle point', prosrc => 'circle_div_pt' },
  2192. { oid => '1150', descr => 'I/O',
  2193. proname => 'timestamptz_in', provolatile => 's', prorettype => 'timestamptz',
  2194. proargtypes => 'cstring oid int4', prosrc => 'timestamptz_in' },
  2195. { oid => '1151', descr => 'I/O',
  2196. proname => 'timestamptz_out', provolatile => 's', prorettype => 'cstring',
  2197. proargtypes => 'timestamptz', prosrc => 'timestamptz_out' },
  2198. { oid => '2907', descr => 'I/O typmod',
  2199. proname => 'timestamptztypmodin', prorettype => 'int4',
  2200. proargtypes => '_cstring', prosrc => 'timestamptztypmodin' },
  2201. { oid => '2908', descr => 'I/O typmod',
  2202. proname => 'timestamptztypmodout', prorettype => 'cstring',
  2203. proargtypes => 'int4', prosrc => 'timestamptztypmodout' },
  2204. { oid => '1152',
  2205. proname => 'timestamptz_eq', proleakproof => 't', prorettype => 'bool',
  2206. proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_eq' },
  2207. { oid => '1153',
  2208. proname => 'timestamptz_ne', proleakproof => 't', prorettype => 'bool',
  2209. proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_ne' },
  2210. { oid => '1154',
  2211. proname => 'timestamptz_lt', proleakproof => 't', prorettype => 'bool',
  2212. proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_lt' },
  2213. { oid => '1155',
  2214. proname => 'timestamptz_le', proleakproof => 't', prorettype => 'bool',
  2215. proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_le' },
  2216. { oid => '1156',
  2217. proname => 'timestamptz_ge', proleakproof => 't', prorettype => 'bool',
  2218. proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_ge' },
  2219. { oid => '1157',
  2220. proname => 'timestamptz_gt', proleakproof => 't', prorettype => 'bool',
  2221. proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_gt' },
  2222. { oid => '1158', descr => 'convert UNIX epoch to timestamptz',
  2223. proname => 'to_timestamp', prorettype => 'timestamptz',
  2224. proargtypes => 'float8', prosrc => 'float8_timestamptz' },
  2225. { oid => '1159', descr => 'adjust timestamp to new time zone',
  2226. proname => 'timezone', prorettype => 'timestamp',
  2227. proargtypes => 'text timestamptz', prosrc => 'timestamptz_zone' },
  2228. { oid => '1160', descr => 'I/O',
  2229. proname => 'interval_in', provolatile => 's', prorettype => 'interval',
  2230. proargtypes => 'cstring oid int4', prosrc => 'interval_in' },
  2231. { oid => '1161', descr => 'I/O',
  2232. proname => 'interval_out', provolatile => 's', prorettype => 'cstring',
  2233. proargtypes => 'interval', prosrc => 'interval_out' },
  2234. { oid => '2903', descr => 'I/O typmod',
  2235. proname => 'intervaltypmodin', prorettype => 'int4',
  2236. proargtypes => '_cstring', prosrc => 'intervaltypmodin' },
  2237. { oid => '2904', descr => 'I/O typmod',
  2238. proname => 'intervaltypmodout', prorettype => 'cstring',
  2239. proargtypes => 'int4', prosrc => 'intervaltypmodout' },
  2240. { oid => '1162',
  2241. proname => 'interval_eq', proleakproof => 't', prorettype => 'bool',
  2242. proargtypes => 'interval interval', prosrc => 'interval_eq' },
  2243. { oid => '1163',
  2244. proname => 'interval_ne', proleakproof => 't', prorettype => 'bool',
  2245. proargtypes => 'interval interval', prosrc => 'interval_ne' },
  2246. { oid => '1164',
  2247. proname => 'interval_lt', proleakproof => 't', prorettype => 'bool',
  2248. proargtypes => 'interval interval', prosrc => 'interval_lt' },
  2249. { oid => '1165',
  2250. proname => 'interval_le', proleakproof => 't', prorettype => 'bool',
  2251. proargtypes => 'interval interval', prosrc => 'interval_le' },
  2252. { oid => '1166',
  2253. proname => 'interval_ge', proleakproof => 't', prorettype => 'bool',
  2254. proargtypes => 'interval interval', prosrc => 'interval_ge' },
  2255. { oid => '1167',
  2256. proname => 'interval_gt', proleakproof => 't', prorettype => 'bool',
  2257. proargtypes => 'interval interval', prosrc => 'interval_gt' },
  2258. { oid => '1168',
  2259. proname => 'interval_um', prorettype => 'interval', proargtypes => 'interval',
  2260. prosrc => 'interval_um' },
  2261. { oid => '1169',
  2262. proname => 'interval_pl', prorettype => 'interval',
  2263. proargtypes => 'interval interval', prosrc => 'interval_pl' },
  2264. { oid => '1170',
  2265. proname => 'interval_mi', prorettype => 'interval',
  2266. proargtypes => 'interval interval', prosrc => 'interval_mi' },
  2267. { oid => '1171', descr => 'extract field from timestamp with time zone',
  2268. proname => 'date_part', provolatile => 's', prorettype => 'float8',
  2269. proargtypes => 'text timestamptz', prosrc => 'timestamptz_part' },
  2270. { oid => '6203', descr => 'extract field from timestamp with time zone',
  2271. proname => 'extract', provolatile => 's', prorettype => 'numeric',
  2272. proargtypes => 'text timestamptz', prosrc => 'extract_timestamptz' },
  2273. { oid => '1172', descr => 'extract field from interval',
  2274. proname => 'date_part', prorettype => 'float8',
  2275. proargtypes => 'text interval', prosrc => 'interval_part' },
  2276. { oid => '6204', descr => 'extract field from interval',
  2277. proname => 'extract', prorettype => 'numeric', proargtypes => 'text interval',
  2278. prosrc => 'extract_interval' },
  2279. { oid => '1174', descr => 'convert date to timestamp with time zone',
  2280. proname => 'timestamptz', provolatile => 's', prorettype => 'timestamptz',
  2281. proargtypes => 'date', prosrc => 'date_timestamptz' },
  2282. { oid => '2711',
  2283. descr => 'promote groups of 24 hours to numbers of days and promote groups of 30 days to numbers of months',
  2284. proname => 'justify_interval', prorettype => 'interval',
  2285. proargtypes => 'interval', prosrc => 'interval_justify_interval' },
  2286. { oid => '1175', descr => 'promote groups of 24 hours to numbers of days',
  2287. proname => 'justify_hours', prorettype => 'interval',
  2288. proargtypes => 'interval', prosrc => 'interval_justify_hours' },
  2289. { oid => '1295', descr => 'promote groups of 30 days to numbers of months',
  2290. proname => 'justify_days', prorettype => 'interval',
  2291. proargtypes => 'interval', prosrc => 'interval_justify_days' },
  2292. { oid => '1176', descr => 'convert date and time to timestamp with time zone',
  2293. proname => 'timestamptz', prolang => 'sql', provolatile => 's',
  2294. prorettype => 'timestamptz', proargtypes => 'date time',
  2295. prosrc => 'see system_functions.sql' },
  2296. { oid => '1178', descr => 'convert timestamp with time zone to date',
  2297. proname => 'date', provolatile => 's', prorettype => 'date',
  2298. proargtypes => 'timestamptz', prosrc => 'timestamptz_date' },
  2299. { oid => '1181',
  2300. descr => 'age of a transaction ID, in transactions before current transaction',
  2301. proname => 'age', provolatile => 's', proparallel => 'r',
  2302. prorettype => 'int4', proargtypes => 'xid', prosrc => 'xid_age' },
  2303. { oid => '3939',
  2304. descr => 'age of a multi-transaction ID, in multi-transactions before current multi-transaction',
  2305. proname => 'mxid_age', provolatile => 's', prorettype => 'int4',
  2306. proargtypes => 'xid', prosrc => 'mxid_age' },
  2307. { oid => '1188',
  2308. proname => 'timestamptz_mi', prorettype => 'interval',
  2309. proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_mi' },
  2310. { oid => '1189',
  2311. proname => 'timestamptz_pl_interval', provolatile => 's',
  2312. prorettype => 'timestamptz', proargtypes => 'timestamptz interval',
  2313. prosrc => 'timestamptz_pl_interval' },
  2314. { oid => '6221', descr => 'add interval to timestamp with time zone',
  2315. proname => 'date_add', provolatile => 's', prorettype => 'timestamptz',
  2316. proargtypes => 'timestamptz interval', prosrc => 'timestamptz_pl_interval' },
  2317. { oid => '6222',
  2318. descr => 'add interval to timestamp with time zone in specified time zone',
  2319. proname => 'date_add', prorettype => 'timestamptz',
  2320. proargtypes => 'timestamptz interval text',
  2321. prosrc => 'timestamptz_pl_interval_at_zone' },
  2322. { oid => '1190',
  2323. proname => 'timestamptz_mi_interval', provolatile => 's',
  2324. prorettype => 'timestamptz', proargtypes => 'timestamptz interval',
  2325. prosrc => 'timestamptz_mi_interval' },
  2326. { oid => '6223', descr => 'subtract interval from timestamp with time zone',
  2327. proname => 'date_subtract', provolatile => 's', prorettype => 'timestamptz',
  2328. proargtypes => 'timestamptz interval', prosrc => 'timestamptz_mi_interval' },
  2329. { oid => '6273',
  2330. descr => 'subtract interval from timestamp with time zone in specified time zone',
  2331. proname => 'date_subtract', prorettype => 'timestamptz',
  2332. proargtypes => 'timestamptz interval text',
  2333. prosrc => 'timestamptz_mi_interval_at_zone' },
  2334. { oid => '1195', descr => 'smaller of two',
  2335. proname => 'timestamptz_smaller', prorettype => 'timestamptz',
  2336. proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_smaller' },
  2337. { oid => '1196', descr => 'larger of two',
  2338. proname => 'timestamptz_larger', prorettype => 'timestamptz',
  2339. proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_larger' },
  2340. { oid => '1197', descr => 'smaller of two',
  2341. proname => 'interval_smaller', prorettype => 'interval',
  2342. proargtypes => 'interval interval', prosrc => 'interval_smaller' },
  2343. { oid => '1198', descr => 'larger of two',
  2344. proname => 'interval_larger', prorettype => 'interval',
  2345. proargtypes => 'interval interval', prosrc => 'interval_larger' },
  2346. { oid => '1199', descr => 'date difference preserving months and years',
  2347. proname => 'age', prorettype => 'interval',
  2348. proargtypes => 'timestamptz timestamptz', prosrc => 'timestamptz_age' },
  2349. # OIDS 1200 - 1299
  2350. { oid => '3918', descr => 'planner support for interval length coercion',
  2351. proname => 'interval_support', prorettype => 'internal',
  2352. proargtypes => 'internal', prosrc => 'interval_support' },
  2353. { oid => '1200', descr => 'adjust interval precision',
  2354. proname => 'interval', prosupport => 'interval_support',
  2355. prorettype => 'interval', proargtypes => 'interval int4',
  2356. prosrc => 'interval_scale' },
  2357. { oid => '1215', descr => 'get description for object id and catalog name',
  2358. proname => 'obj_description', prolang => 'sql', procost => '100',
  2359. provolatile => 's', prorettype => 'text', proargtypes => 'oid name',
  2360. prosrc => 'see system_functions.sql' },
  2361. { oid => '1216', descr => 'get description for table column',
  2362. proname => 'col_description', prolang => 'sql', procost => '100',
  2363. provolatile => 's', prorettype => 'text', proargtypes => 'oid int4',
  2364. prosrc => 'see system_functions.sql' },
  2365. { oid => '1993',
  2366. descr => 'get description for object id and shared catalog name',
  2367. proname => 'shobj_description', prolang => 'sql', procost => '100',
  2368. provolatile => 's', prorettype => 'text', proargtypes => 'oid name',
  2369. prosrc => 'see system_functions.sql' },
  2370. { oid => '1217',
  2371. descr => 'truncate timestamp with time zone to specified units',
  2372. proname => 'date_trunc', provolatile => 's', prorettype => 'timestamptz',
  2373. proargtypes => 'text timestamptz', prosrc => 'timestamptz_trunc' },
  2374. { oid => '1284',
  2375. descr => 'truncate timestamp with time zone to specified units in specified time zone',
  2376. proname => 'date_trunc', prorettype => 'timestamptz',
  2377. proargtypes => 'text timestamptz text', prosrc => 'timestamptz_trunc_zone' },
  2378. { oid => '1218', descr => 'truncate interval to specified units',
  2379. proname => 'date_trunc', prorettype => 'interval',
  2380. proargtypes => 'text interval', prosrc => 'interval_trunc' },
  2381. { oid => '1219', descr => 'increment',
  2382. proname => 'int8inc', prorettype => 'int8', proargtypes => 'int8',
  2383. prosrc => 'int8inc' },
  2384. { oid => '3546', descr => 'decrement',
  2385. proname => 'int8dec', prorettype => 'int8', proargtypes => 'int8',
  2386. prosrc => 'int8dec' },
  2387. { oid => '2804', descr => 'increment, ignores second argument',
  2388. proname => 'int8inc_any', prorettype => 'int8', proargtypes => 'int8 any',
  2389. prosrc => 'int8inc_any' },
  2390. { oid => '3547', descr => 'decrement, ignores second argument',
  2391. proname => 'int8dec_any', prorettype => 'int8', proargtypes => 'int8 any',
  2392. prosrc => 'int8dec_any' },
  2393. { oid => '1230',
  2394. proname => 'int8abs', prorettype => 'int8', proargtypes => 'int8',
  2395. prosrc => 'int8abs' },
  2396. { oid => '1236', descr => 'larger of two',
  2397. proname => 'int8larger', prorettype => 'int8', proargtypes => 'int8 int8',
  2398. prosrc => 'int8larger' },
  2399. { oid => '1237', descr => 'smaller of two',
  2400. proname => 'int8smaller', prorettype => 'int8', proargtypes => 'int8 int8',
  2401. prosrc => 'int8smaller' },
  2402. { oid => '1238',
  2403. proname => 'texticregexeq', prosupport => 'texticregexeq_support',
  2404. prorettype => 'bool', proargtypes => 'text text', prosrc => 'texticregexeq' },
  2405. { oid => '1024', descr => 'planner support for texticregexeq',
  2406. proname => 'texticregexeq_support', prorettype => 'internal',
  2407. proargtypes => 'internal', prosrc => 'texticregexeq_support' },
  2408. { oid => '1239',
  2409. proname => 'texticregexne', prorettype => 'bool', proargtypes => 'text text',
  2410. prosrc => 'texticregexne' },
  2411. { oid => '1240',
  2412. proname => 'nameicregexeq', prosupport => 'texticregexeq_support',
  2413. prorettype => 'bool', proargtypes => 'name text', prosrc => 'nameicregexeq' },
  2414. { oid => '1241',
  2415. proname => 'nameicregexne', prorettype => 'bool', proargtypes => 'name text',
  2416. prosrc => 'nameicregexne' },
  2417. { oid => '1251',
  2418. proname => 'int4abs', prorettype => 'int4', proargtypes => 'int4',
  2419. prosrc => 'int4abs' },
  2420. { oid => '1253',
  2421. proname => 'int2abs', prorettype => 'int2', proargtypes => 'int2',
  2422. prosrc => 'int2abs' },
  2423. { oid => '1271', descr => 'intervals overlap?',
  2424. proname => 'overlaps', proisstrict => 'f', prorettype => 'bool',
  2425. proargtypes => 'timetz timetz timetz timetz', prosrc => 'overlaps_timetz' },
  2426. { oid => '1272',
  2427. proname => 'datetime_pl', prorettype => 'timestamp',
  2428. proargtypes => 'date time', prosrc => 'datetime_timestamp' },
  2429. { oid => '1273', descr => 'extract field from time with time zone',
  2430. proname => 'date_part', prorettype => 'float8', proargtypes => 'text timetz',
  2431. prosrc => 'timetz_part' },
  2432. { oid => '6201', descr => 'extract field from time with time zone',
  2433. proname => 'extract', prorettype => 'numeric', proargtypes => 'text timetz',
  2434. prosrc => 'extract_timetz' },
  2435. { oid => '1274',
  2436. proname => 'int84pl', prorettype => 'int8', proargtypes => 'int8 int4',
  2437. prosrc => 'int84pl' },
  2438. { oid => '1275',
  2439. proname => 'int84mi', prorettype => 'int8', proargtypes => 'int8 int4',
  2440. prosrc => 'int84mi' },
  2441. { oid => '1276',
  2442. proname => 'int84mul', prorettype => 'int8', proargtypes => 'int8 int4',
  2443. prosrc => 'int84mul' },
  2444. { oid => '1277',
  2445. proname => 'int84div', prorettype => 'int8', proargtypes => 'int8 int4',
  2446. prosrc => 'int84div' },
  2447. { oid => '1278',
  2448. proname => 'int48pl', prorettype => 'int8', proargtypes => 'int4 int8',
  2449. prosrc => 'int48pl' },
  2450. { oid => '1279',
  2451. proname => 'int48mi', prorettype => 'int8', proargtypes => 'int4 int8',
  2452. prosrc => 'int48mi' },
  2453. { oid => '1280',
  2454. proname => 'int48mul', prorettype => 'int8', proargtypes => 'int4 int8',
  2455. prosrc => 'int48mul' },
  2456. { oid => '1281',
  2457. proname => 'int48div', prorettype => 'int8', proargtypes => 'int4 int8',
  2458. prosrc => 'int48div' },
  2459. { oid => '837',
  2460. proname => 'int82pl', prorettype => 'int8', proargtypes => 'int8 int2',
  2461. prosrc => 'int82pl' },
  2462. { oid => '838',
  2463. proname => 'int82mi', prorettype => 'int8', proargtypes => 'int8 int2',
  2464. prosrc => 'int82mi' },
  2465. { oid => '839',
  2466. proname => 'int82mul', prorettype => 'int8', proargtypes => 'int8 int2',
  2467. prosrc => 'int82mul' },
  2468. { oid => '840',
  2469. proname => 'int82div', prorettype => 'int8', proargtypes => 'int8 int2',
  2470. prosrc => 'int82div' },
  2471. { oid => '841',
  2472. proname => 'int28pl', prorettype => 'int8', proargtypes => 'int2 int8',
  2473. prosrc => 'int28pl' },
  2474. { oid => '942',
  2475. proname => 'int28mi', prorettype => 'int8', proargtypes => 'int2 int8',
  2476. prosrc => 'int28mi' },
  2477. { oid => '943',
  2478. proname => 'int28mul', prorettype => 'int8', proargtypes => 'int2 int8',
  2479. prosrc => 'int28mul' },
  2480. { oid => '948',
  2481. proname => 'int28div', prorettype => 'int8', proargtypes => 'int2 int8',
  2482. prosrc => 'int28div' },
  2483. { oid => '1287', descr => 'convert int8 to oid',
  2484. proname => 'oid', prorettype => 'oid', proargtypes => 'int8',
  2485. prosrc => 'i8tooid' },
  2486. { oid => '1288', descr => 'convert oid to int8',
  2487. proname => 'int8', proleakproof => 't', prorettype => 'int8',
  2488. proargtypes => 'oid', prosrc => 'oidtoi8' },
  2489. { oid => '1291',
  2490. descr => 'trigger to suppress updates when new and old records match',
  2491. proname => 'suppress_redundant_updates_trigger', provolatile => 'v',
  2492. prorettype => 'trigger', proargtypes => '',
  2493. prosrc => 'suppress_redundant_updates_trigger' },
  2494. { oid => '1292',
  2495. proname => 'tideq', proleakproof => 't', prorettype => 'bool',
  2496. proargtypes => 'tid tid', prosrc => 'tideq' },
  2497. { oid => '1294', descr => 'latest tid of a tuple',
  2498. proname => 'currtid2', provolatile => 'v', proparallel => 'u',
  2499. prorettype => 'tid', proargtypes => 'text tid',
  2500. prosrc => 'currtid_byrelname' },
  2501. { oid => '1265',
  2502. proname => 'tidne', proleakproof => 't', prorettype => 'bool',
  2503. proargtypes => 'tid tid', prosrc => 'tidne' },
  2504. { oid => '2790',
  2505. proname => 'tidgt', proleakproof => 't', prorettype => 'bool',
  2506. proargtypes => 'tid tid', prosrc => 'tidgt' },
  2507. { oid => '2791',
  2508. proname => 'tidlt', proleakproof => 't', prorettype => 'bool',
  2509. proargtypes => 'tid tid', prosrc => 'tidlt' },
  2510. { oid => '2792',
  2511. proname => 'tidge', proleakproof => 't', prorettype => 'bool',
  2512. proargtypes => 'tid tid', prosrc => 'tidge' },
  2513. { oid => '2793',
  2514. proname => 'tidle', proleakproof => 't', prorettype => 'bool',
  2515. proargtypes => 'tid tid', prosrc => 'tidle' },
  2516. { oid => '2794', descr => 'less-equal-greater',
  2517. proname => 'bttidcmp', proleakproof => 't', prorettype => 'int4',
  2518. proargtypes => 'tid tid', prosrc => 'bttidcmp' },
  2519. { oid => '2795', descr => 'larger of two',
  2520. proname => 'tidlarger', prorettype => 'tid', proargtypes => 'tid tid',
  2521. prosrc => 'tidlarger' },
  2522. { oid => '2796', descr => 'smaller of two',
  2523. proname => 'tidsmaller', prorettype => 'tid', proargtypes => 'tid tid',
  2524. prosrc => 'tidsmaller' },
  2525. { oid => '2233', descr => 'hash',
  2526. proname => 'hashtid', prorettype => 'int4', proargtypes => 'tid',
  2527. prosrc => 'hashtid' },
  2528. { oid => '2234', descr => 'hash',
  2529. proname => 'hashtidextended', prorettype => 'int8', proargtypes => 'tid int8',
  2530. prosrc => 'hashtidextended' },
  2531. { oid => '1296',
  2532. proname => 'timedate_pl', prolang => 'sql', prorettype => 'timestamp',
  2533. proargtypes => 'time date', prosrc => 'see system_functions.sql' },
  2534. { oid => '1297',
  2535. proname => 'datetimetz_pl', prorettype => 'timestamptz',
  2536. proargtypes => 'date timetz', prosrc => 'datetimetz_timestamptz' },
  2537. { oid => '1298',
  2538. proname => 'timetzdate_pl', prolang => 'sql', prorettype => 'timestamptz',
  2539. proargtypes => 'timetz date', prosrc => 'see system_functions.sql' },
  2540. { oid => '1299', descr => 'current transaction time',
  2541. proname => 'now', provolatile => 's', prorettype => 'timestamptz',
  2542. proargtypes => '', prosrc => 'now' },
  2543. { oid => '2647', descr => 'current transaction time',
  2544. proname => 'transaction_timestamp', provolatile => 's',
  2545. prorettype => 'timestamptz', proargtypes => '', prosrc => 'now' },
  2546. { oid => '2648', descr => 'current statement time',
  2547. proname => 'statement_timestamp', provolatile => 's',
  2548. prorettype => 'timestamptz', proargtypes => '',
  2549. prosrc => 'statement_timestamp' },
  2550. { oid => '2649', descr => 'current clock time',
  2551. proname => 'clock_timestamp', provolatile => 'v', prorettype => 'timestamptz',
  2552. proargtypes => '', prosrc => 'clock_timestamp' },
  2553. # OIDS 1300 - 1399
  2554. { oid => '1300',
  2555. descr => 'restriction selectivity for position-comparison operators',
  2556. proname => 'positionsel', provolatile => 's', prorettype => 'float8',
  2557. proargtypes => 'internal oid internal int4', prosrc => 'positionsel' },
  2558. { oid => '1301',
  2559. descr => 'join selectivity for position-comparison operators',
  2560. proname => 'positionjoinsel', provolatile => 's', prorettype => 'float8',
  2561. proargtypes => 'internal oid internal int2 internal',
  2562. prosrc => 'positionjoinsel' },
  2563. { oid => '1302',
  2564. descr => 'restriction selectivity for containment comparison operators',
  2565. proname => 'contsel', provolatile => 's', prorettype => 'float8',
  2566. proargtypes => 'internal oid internal int4', prosrc => 'contsel' },
  2567. { oid => '1303',
  2568. descr => 'join selectivity for containment comparison operators',
  2569. proname => 'contjoinsel', provolatile => 's', prorettype => 'float8',
  2570. proargtypes => 'internal oid internal int2 internal',
  2571. prosrc => 'contjoinsel' },
  2572. { oid => '1304', descr => 'intervals overlap?',
  2573. proname => 'overlaps', proisstrict => 'f', prorettype => 'bool',
  2574. proargtypes => 'timestamptz timestamptz timestamptz timestamptz',
  2575. prosrc => 'overlaps_timestamp' },
  2576. { oid => '1305', descr => 'intervals overlap?',
  2577. proname => 'overlaps', prolang => 'sql', proisstrict => 'f',
  2578. provolatile => 's', prorettype => 'bool',
  2579. proargtypes => 'timestamptz interval timestamptz interval',
  2580. prosrc => 'see system_functions.sql' },
  2581. { oid => '1306', descr => 'intervals overlap?',
  2582. proname => 'overlaps', prolang => 'sql', proisstrict => 'f',
  2583. provolatile => 's', prorettype => 'bool',
  2584. proargtypes => 'timestamptz timestamptz timestamptz interval',
  2585. prosrc => 'see system_functions.sql' },
  2586. { oid => '1307', descr => 'intervals overlap?',
  2587. proname => 'overlaps', prolang => 'sql', proisstrict => 'f',
  2588. provolatile => 's', prorettype => 'bool',
  2589. proargtypes => 'timestamptz interval timestamptz timestamptz',
  2590. prosrc => 'see system_functions.sql' },
  2591. { oid => '1308', descr => 'intervals overlap?',
  2592. proname => 'overlaps', proisstrict => 'f', prorettype => 'bool',
  2593. proargtypes => 'time time time time', prosrc => 'overlaps_time' },
  2594. { oid => '1309', descr => 'intervals overlap?',
  2595. proname => 'overlaps', prolang => 'sql', proisstrict => 'f',
  2596. prorettype => 'bool', proargtypes => 'time interval time interval',
  2597. prosrc => 'see system_functions.sql' },
  2598. { oid => '1310', descr => 'intervals overlap?',
  2599. proname => 'overlaps', prolang => 'sql', proisstrict => 'f',
  2600. prorettype => 'bool', proargtypes => 'time time time interval',
  2601. prosrc => 'see system_functions.sql' },
  2602. { oid => '1311', descr => 'intervals overlap?',
  2603. proname => 'overlaps', prolang => 'sql', proisstrict => 'f',
  2604. prorettype => 'bool', proargtypes => 'time interval time time',
  2605. prosrc => 'see system_functions.sql' },
  2606. { oid => '1312', descr => 'I/O',
  2607. proname => 'timestamp_in', provolatile => 's', prorettype => 'timestamp',
  2608. proargtypes => 'cstring oid int4', prosrc => 'timestamp_in' },
  2609. { oid => '1313', descr => 'I/O',
  2610. proname => 'timestamp_out', provolatile => 's', prorettype => 'cstring',
  2611. proargtypes => 'timestamp', prosrc => 'timestamp_out' },
  2612. { oid => '2905', descr => 'I/O typmod',
  2613. proname => 'timestamptypmodin', prorettype => 'int4',
  2614. proargtypes => '_cstring', prosrc => 'timestamptypmodin' },
  2615. { oid => '2906', descr => 'I/O typmod',
  2616. proname => 'timestamptypmodout', prorettype => 'cstring',
  2617. proargtypes => 'int4', prosrc => 'timestamptypmodout' },
  2618. { oid => '1314', descr => 'less-equal-greater',
  2619. proname => 'timestamptz_cmp', proleakproof => 't', prorettype => 'int4',
  2620. proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_cmp' },
  2621. { oid => '1315', descr => 'less-equal-greater',
  2622. proname => 'interval_cmp', proleakproof => 't', prorettype => 'int4',
  2623. proargtypes => 'interval interval', prosrc => 'interval_cmp' },
  2624. { oid => '1316', descr => 'convert timestamp to time',
  2625. proname => 'time', prorettype => 'time', proargtypes => 'timestamp',
  2626. prosrc => 'timestamp_time' },
  2627. { oid => '1317', descr => 'length',
  2628. proname => 'length', prorettype => 'int4', proargtypes => 'text',
  2629. prosrc => 'textlen' },
  2630. { oid => '1318', descr => 'character length',
  2631. proname => 'length', prorettype => 'int4', proargtypes => 'bpchar',
  2632. prosrc => 'bpcharlen' },
  2633. { oid => '1319',
  2634. proname => 'xideqint4', proleakproof => 't', prorettype => 'bool',
  2635. proargtypes => 'xid int4', prosrc => 'xideq' },
  2636. { oid => '3309',
  2637. proname => 'xidneqint4', proleakproof => 't', prorettype => 'bool',
  2638. proargtypes => 'xid int4', prosrc => 'xidneq' },
  2639. { oid => '1326',
  2640. proname => 'interval_div', prorettype => 'interval',
  2641. proargtypes => 'interval float8', prosrc => 'interval_div' },
  2642. { oid => '1339', descr => 'base 10 logarithm',
  2643. proname => 'dlog10', prorettype => 'float8', proargtypes => 'float8',
  2644. prosrc => 'dlog10' },
  2645. { oid => '1340', descr => 'base 10 logarithm',
  2646. proname => 'log', prorettype => 'float8', proargtypes => 'float8',
  2647. prosrc => 'dlog10' },
  2648. { oid => '1194', descr => 'base 10 logarithm',
  2649. proname => 'log10', prorettype => 'float8', proargtypes => 'float8',
  2650. prosrc => 'dlog10' },
  2651. { oid => '1341', descr => 'natural logarithm',
  2652. proname => 'ln', prorettype => 'float8', proargtypes => 'float8',
  2653. prosrc => 'dlog1' },
  2654. { oid => '1342', descr => 'round to nearest integer',
  2655. proname => 'round', prorettype => 'float8', proargtypes => 'float8',
  2656. prosrc => 'dround' },
  2657. { oid => '1343', descr => 'truncate to integer',
  2658. proname => 'trunc', prorettype => 'float8', proargtypes => 'float8',
  2659. prosrc => 'dtrunc' },
  2660. { oid => '1344', descr => 'square root',
  2661. proname => 'sqrt', prorettype => 'float8', proargtypes => 'float8',
  2662. prosrc => 'dsqrt' },
  2663. { oid => '1345', descr => 'cube root',
  2664. proname => 'cbrt', prorettype => 'float8', proargtypes => 'float8',
  2665. prosrc => 'dcbrt' },
  2666. { oid => '1346', descr => 'exponentiation',
  2667. proname => 'pow', prorettype => 'float8', proargtypes => 'float8 float8',
  2668. prosrc => 'dpow' },
  2669. { oid => '1368', descr => 'exponentiation',
  2670. proname => 'power', prorettype => 'float8', proargtypes => 'float8 float8',
  2671. prosrc => 'dpow' },
  2672. { oid => '1347', descr => 'natural exponential (e^x)',
  2673. proname => 'exp', prorettype => 'float8', proargtypes => 'float8',
  2674. prosrc => 'dexp' },
  2675. # This form of obj_description is now deprecated, since it will fail if
  2676. # OIDs are not unique across system catalogs. Use the other form instead.
  2677. { oid => '1348', descr => 'deprecated, use two-argument form instead',
  2678. proname => 'obj_description', prolang => 'sql', procost => '100',
  2679. provolatile => 's', prorettype => 'text', proargtypes => 'oid',
  2680. prosrc => 'see system_functions.sql' },
  2681. { oid => '1349', descr => 'print type names of oidvector field',
  2682. proname => 'oidvectortypes', provolatile => 's', prorettype => 'text',
  2683. proargtypes => 'oidvector', prosrc => 'oidvectortypes' },
  2684. { oid => '1350', descr => 'I/O',
  2685. proname => 'timetz_in', provolatile => 's', prorettype => 'timetz',
  2686. proargtypes => 'cstring oid int4', prosrc => 'timetz_in' },
  2687. { oid => '1351', descr => 'I/O',
  2688. proname => 'timetz_out', prorettype => 'cstring', proargtypes => 'timetz',
  2689. prosrc => 'timetz_out' },
  2690. { oid => '2911', descr => 'I/O typmod',
  2691. proname => 'timetztypmodin', prorettype => 'int4', proargtypes => '_cstring',
  2692. prosrc => 'timetztypmodin' },
  2693. { oid => '2912', descr => 'I/O typmod',
  2694. proname => 'timetztypmodout', prorettype => 'cstring', proargtypes => 'int4',
  2695. prosrc => 'timetztypmodout' },
  2696. { oid => '1352',
  2697. proname => 'timetz_eq', proleakproof => 't', prorettype => 'bool',
  2698. proargtypes => 'timetz timetz', prosrc => 'timetz_eq' },
  2699. { oid => '1353',
  2700. proname => 'timetz_ne', proleakproof => 't', prorettype => 'bool',
  2701. proargtypes => 'timetz timetz', prosrc => 'timetz_ne' },
  2702. { oid => '1354',
  2703. proname => 'timetz_lt', proleakproof => 't', prorettype => 'bool',
  2704. proargtypes => 'timetz timetz', prosrc => 'timetz_lt' },
  2705. { oid => '1355',
  2706. proname => 'timetz_le', proleakproof => 't', prorettype => 'bool',
  2707. proargtypes => 'timetz timetz', prosrc => 'timetz_le' },
  2708. { oid => '1356',
  2709. proname => 'timetz_ge', proleakproof => 't', prorettype => 'bool',
  2710. proargtypes => 'timetz timetz', prosrc => 'timetz_ge' },
  2711. { oid => '1357',
  2712. proname => 'timetz_gt', proleakproof => 't', prorettype => 'bool',
  2713. proargtypes => 'timetz timetz', prosrc => 'timetz_gt' },
  2714. { oid => '1358', descr => 'less-equal-greater',
  2715. proname => 'timetz_cmp', proleakproof => 't', prorettype => 'int4',
  2716. proargtypes => 'timetz timetz', prosrc => 'timetz_cmp' },
  2717. { oid => '1359',
  2718. descr => 'convert date and time with time zone to timestamp with time zone',
  2719. proname => 'timestamptz', prorettype => 'timestamptz',
  2720. proargtypes => 'date timetz', prosrc => 'datetimetz_timestamptz' },
  2721. { oid => '1367', descr => 'character length',
  2722. proname => 'character_length', prorettype => 'int4', proargtypes => 'bpchar',
  2723. prosrc => 'bpcharlen' },
  2724. { oid => '1369', descr => 'character length',
  2725. proname => 'character_length', prorettype => 'int4', proargtypes => 'text',
  2726. prosrc => 'textlen' },
  2727. { oid => '1370', descr => 'convert time to interval',
  2728. proname => 'interval', proleakproof => 't', prorettype => 'interval',
  2729. proargtypes => 'time', prosrc => 'time_interval' },
  2730. { oid => '1372', descr => 'character length',
  2731. proname => 'char_length', prorettype => 'int4', proargtypes => 'bpchar',
  2732. prosrc => 'bpcharlen' },
  2733. { oid => '1374', descr => 'octet length',
  2734. proname => 'octet_length', prorettype => 'int4', proargtypes => 'text',
  2735. prosrc => 'textoctetlen' },
  2736. { oid => '1375', descr => 'octet length',
  2737. proname => 'octet_length', prorettype => 'int4', proargtypes => 'bpchar',
  2738. prosrc => 'bpcharoctetlen' },
  2739. { oid => '1377', descr => 'larger of two',
  2740. proname => 'time_larger', prorettype => 'time', proargtypes => 'time time',
  2741. prosrc => 'time_larger' },
  2742. { oid => '1378', descr => 'smaller of two',
  2743. proname => 'time_smaller', prorettype => 'time', proargtypes => 'time time',
  2744. prosrc => 'time_smaller' },
  2745. { oid => '1379', descr => 'larger of two',
  2746. proname => 'timetz_larger', prorettype => 'timetz',
  2747. proargtypes => 'timetz timetz', prosrc => 'timetz_larger' },
  2748. { oid => '1380', descr => 'smaller of two',
  2749. proname => 'timetz_smaller', prorettype => 'timetz',
  2750. proargtypes => 'timetz timetz', prosrc => 'timetz_smaller' },
  2751. { oid => '1381', descr => 'character length',
  2752. proname => 'char_length', prorettype => 'int4', proargtypes => 'text',
  2753. prosrc => 'textlen' },
  2754. { oid => '1384', descr => 'extract field from date',
  2755. proname => 'date_part', prolang => 'sql', prorettype => 'float8',
  2756. proargtypes => 'text date', prosrc => 'see system_functions.sql' },
  2757. { oid => '6199', descr => 'extract field from date',
  2758. proname => 'extract', prorettype => 'numeric', proargtypes => 'text date',
  2759. prosrc => 'extract_date' },
  2760. { oid => '1385', descr => 'extract field from time',
  2761. proname => 'date_part', prorettype => 'float8', proargtypes => 'text time',
  2762. prosrc => 'time_part' },
  2763. { oid => '6200', descr => 'extract field from time',
  2764. proname => 'extract', prorettype => 'numeric', proargtypes => 'text time',
  2765. prosrc => 'extract_time' },
  2766. { oid => '1386',
  2767. descr => 'date difference from today preserving months and years',
  2768. proname => 'age', prolang => 'sql', provolatile => 's',
  2769. prorettype => 'interval', proargtypes => 'timestamptz',
  2770. prosrc => 'see system_functions.sql' },
  2771. { oid => '1388',
  2772. descr => 'convert timestamp with time zone to time with time zone',
  2773. proname => 'timetz', provolatile => 's', prorettype => 'timetz',
  2774. proargtypes => 'timestamptz', prosrc => 'timestamptz_timetz' },
  2775. { oid => '1373', descr => 'finite date?',
  2776. proname => 'isfinite', prorettype => 'bool', proargtypes => 'date',
  2777. prosrc => 'date_finite' },
  2778. { oid => '1389', descr => 'finite timestamp?',
  2779. proname => 'isfinite', prorettype => 'bool', proargtypes => 'timestamptz',
  2780. prosrc => 'timestamp_finite' },
  2781. { oid => '1390', descr => 'finite interval?',
  2782. proname => 'isfinite', prorettype => 'bool', proargtypes => 'interval',
  2783. prosrc => 'interval_finite' },
  2784. { oid => '1376', descr => 'factorial',
  2785. proname => 'factorial', prorettype => 'numeric', proargtypes => 'int8',
  2786. prosrc => 'numeric_fac' },
  2787. { oid => '1394', descr => 'absolute value',
  2788. proname => 'abs', prorettype => 'float4', proargtypes => 'float4',
  2789. prosrc => 'float4abs' },
  2790. { oid => '1395', descr => 'absolute value',
  2791. proname => 'abs', prorettype => 'float8', proargtypes => 'float8',
  2792. prosrc => 'float8abs' },
  2793. { oid => '1396', descr => 'absolute value',
  2794. proname => 'abs', prorettype => 'int8', proargtypes => 'int8',
  2795. prosrc => 'int8abs' },
  2796. { oid => '1397', descr => 'absolute value',
  2797. proname => 'abs', prorettype => 'int4', proargtypes => 'int4',
  2798. prosrc => 'int4abs' },
  2799. { oid => '1398', descr => 'absolute value',
  2800. proname => 'abs', prorettype => 'int2', proargtypes => 'int2',
  2801. prosrc => 'int2abs' },
  2802. # OIDS 1400 - 1499
  2803. { oid => '1400', descr => 'convert varchar to name',
  2804. proname => 'name', proleakproof => 't', prorettype => 'name',
  2805. proargtypes => 'varchar', prosrc => 'text_name' },
  2806. { oid => '1401', descr => 'convert name to varchar',
  2807. proname => 'varchar', proleakproof => 't', prorettype => 'varchar',
  2808. proargtypes => 'name', prosrc => 'name_text' },
  2809. { oid => '1402', descr => 'current schema name',
  2810. proname => 'current_schema', provolatile => 's', proparallel => 'u',
  2811. prorettype => 'name', proargtypes => '', prosrc => 'current_schema' },
  2812. { oid => '1403', descr => 'current schema search list',
  2813. proname => 'current_schemas', provolatile => 's', proparallel => 'u',
  2814. prorettype => '_name', proargtypes => 'bool', prosrc => 'current_schemas' },
  2815. { oid => '1404', descr => 'substitute portion of string',
  2816. proname => 'overlay', prorettype => 'text',
  2817. proargtypes => 'text text int4 int4', prosrc => 'textoverlay' },
  2818. { oid => '1405', descr => 'substitute portion of string',
  2819. proname => 'overlay', prorettype => 'text', proargtypes => 'text text int4',
  2820. prosrc => 'textoverlay_no_len' },
  2821. { oid => '1406', descr => 'vertically aligned',
  2822. proname => 'isvertical', prorettype => 'bool', proargtypes => 'point point',
  2823. prosrc => 'point_vert' },
  2824. { oid => '1407', descr => 'horizontally aligned',
  2825. proname => 'ishorizontal', prorettype => 'bool', proargtypes => 'point point',
  2826. prosrc => 'point_horiz' },
  2827. { oid => '1408', descr => 'parallel',
  2828. proname => 'isparallel', prorettype => 'bool', proargtypes => 'lseg lseg',
  2829. prosrc => 'lseg_parallel' },
  2830. { oid => '1409', descr => 'perpendicular',
  2831. proname => 'isperp', prorettype => 'bool', proargtypes => 'lseg lseg',
  2832. prosrc => 'lseg_perp' },
  2833. { oid => '1410', descr => 'vertical',
  2834. proname => 'isvertical', prorettype => 'bool', proargtypes => 'lseg',
  2835. prosrc => 'lseg_vertical' },
  2836. { oid => '1411', descr => 'horizontal',
  2837. proname => 'ishorizontal', prorettype => 'bool', proargtypes => 'lseg',
  2838. prosrc => 'lseg_horizontal' },
  2839. { oid => '1412', descr => 'parallel',
  2840. proname => 'isparallel', prorettype => 'bool', proargtypes => 'line line',
  2841. prosrc => 'line_parallel' },
  2842. { oid => '1413', descr => 'perpendicular',
  2843. proname => 'isperp', prorettype => 'bool', proargtypes => 'line line',
  2844. prosrc => 'line_perp' },
  2845. { oid => '1414', descr => 'vertical',
  2846. proname => 'isvertical', prorettype => 'bool', proargtypes => 'line',
  2847. prosrc => 'line_vertical' },
  2848. { oid => '1415', descr => 'horizontal',
  2849. proname => 'ishorizontal', prorettype => 'bool', proargtypes => 'line',
  2850. prosrc => 'line_horizontal' },
  2851. { oid => '1416', descr => 'center of',
  2852. proname => 'point', prorettype => 'point', proargtypes => 'circle',
  2853. prosrc => 'circle_center' },
  2854. { oid => '1419', descr => 'convert interval to time',
  2855. proname => 'time', prorettype => 'time', proargtypes => 'interval',
  2856. prosrc => 'interval_time' },
  2857. { oid => '1421', descr => 'convert points to box',
  2858. proname => 'box', prorettype => 'box', proargtypes => 'point point',
  2859. prosrc => 'points_box' },
  2860. { oid => '1422',
  2861. proname => 'box_add', prorettype => 'box', proargtypes => 'box point',
  2862. prosrc => 'box_add' },
  2863. { oid => '1423',
  2864. proname => 'box_sub', prorettype => 'box', proargtypes => 'box point',
  2865. prosrc => 'box_sub' },
  2866. { oid => '1424',
  2867. proname => 'box_mul', prorettype => 'box', proargtypes => 'box point',
  2868. prosrc => 'box_mul' },
  2869. { oid => '1425',
  2870. proname => 'box_div', prorettype => 'box', proargtypes => 'box point',
  2871. prosrc => 'box_div' },
  2872. { oid => '1426',
  2873. proname => 'path_contain_pt', prolang => 'sql', prorettype => 'bool',
  2874. proargtypes => 'path point', prosrc => 'see system_functions.sql' },
  2875. { oid => '1428',
  2876. proname => 'poly_contain_pt', prorettype => 'bool',
  2877. proargtypes => 'polygon point', prosrc => 'poly_contain_pt' },
  2878. { oid => '1429',
  2879. proname => 'pt_contained_poly', prorettype => 'bool',
  2880. proargtypes => 'point polygon', prosrc => 'pt_contained_poly' },
  2881. { oid => '1430', descr => 'path closed?',
  2882. proname => 'isclosed', prorettype => 'bool', proargtypes => 'path',
  2883. prosrc => 'path_isclosed' },
  2884. { oid => '1431', descr => 'path open?',
  2885. proname => 'isopen', prorettype => 'bool', proargtypes => 'path',
  2886. prosrc => 'path_isopen' },
  2887. { oid => '1432',
  2888. proname => 'path_npoints', prorettype => 'int4', proargtypes => 'path',
  2889. prosrc => 'path_npoints' },
  2890. # pclose and popen might better be named close and open, but that crashes initdb.
  2891. # - thomas 97/04/20
  2892. { oid => '1433', descr => 'close path',
  2893. proname => 'pclose', prorettype => 'path', proargtypes => 'path',
  2894. prosrc => 'path_close' },
  2895. { oid => '1434', descr => 'open path',
  2896. proname => 'popen', prorettype => 'path', proargtypes => 'path',
  2897. prosrc => 'path_open' },
  2898. { oid => '1435',
  2899. proname => 'path_add', prorettype => 'path', proargtypes => 'path path',
  2900. prosrc => 'path_add' },
  2901. { oid => '1436',
  2902. proname => 'path_add_pt', prorettype => 'path', proargtypes => 'path point',
  2903. prosrc => 'path_add_pt' },
  2904. { oid => '1437',
  2905. proname => 'path_sub_pt', prorettype => 'path', proargtypes => 'path point',
  2906. prosrc => 'path_sub_pt' },
  2907. { oid => '1438',
  2908. proname => 'path_mul_pt', prorettype => 'path', proargtypes => 'path point',
  2909. prosrc => 'path_mul_pt' },
  2910. { oid => '1439',
  2911. proname => 'path_div_pt', prorettype => 'path', proargtypes => 'path point',
  2912. prosrc => 'path_div_pt' },
  2913. { oid => '1440', descr => 'convert x, y to point',
  2914. proname => 'point', prorettype => 'point', proargtypes => 'float8 float8',
  2915. prosrc => 'construct_point' },
  2916. { oid => '1441',
  2917. proname => 'point_add', prorettype => 'point', proargtypes => 'point point',
  2918. prosrc => 'point_add' },
  2919. { oid => '1442',
  2920. proname => 'point_sub', prorettype => 'point', proargtypes => 'point point',
  2921. prosrc => 'point_sub' },
  2922. { oid => '1443',
  2923. proname => 'point_mul', prorettype => 'point', proargtypes => 'point point',
  2924. prosrc => 'point_mul' },
  2925. { oid => '1444',
  2926. proname => 'point_div', prorettype => 'point', proargtypes => 'point point',
  2927. prosrc => 'point_div' },
  2928. { oid => '1445',
  2929. proname => 'poly_npoints', prorettype => 'int4', proargtypes => 'polygon',
  2930. prosrc => 'poly_npoints' },
  2931. { oid => '1446', descr => 'convert polygon to bounding box',
  2932. proname => 'box', prorettype => 'box', proargtypes => 'polygon',
  2933. prosrc => 'poly_box' },
  2934. { oid => '1447', descr => 'convert polygon to path',
  2935. proname => 'path', prorettype => 'path', proargtypes => 'polygon',
  2936. prosrc => 'poly_path' },
  2937. { oid => '1448', descr => 'convert box to polygon',
  2938. proname => 'polygon', prorettype => 'polygon', proargtypes => 'box',
  2939. prosrc => 'box_poly' },
  2940. { oid => '1449', descr => 'convert path to polygon',
  2941. proname => 'polygon', prorettype => 'polygon', proargtypes => 'path',
  2942. prosrc => 'path_poly' },
  2943. { oid => '1450', descr => 'I/O',
  2944. proname => 'circle_in', prorettype => 'circle', proargtypes => 'cstring',
  2945. prosrc => 'circle_in' },
  2946. { oid => '1451', descr => 'I/O',
  2947. proname => 'circle_out', prorettype => 'cstring', proargtypes => 'circle',
  2948. prosrc => 'circle_out' },
  2949. { oid => '1452',
  2950. proname => 'circle_same', prorettype => 'bool',
  2951. proargtypes => 'circle circle', prosrc => 'circle_same' },
  2952. { oid => '1453',
  2953. proname => 'circle_contain', prorettype => 'bool',
  2954. proargtypes => 'circle circle', prosrc => 'circle_contain' },
  2955. { oid => '1454',
  2956. proname => 'circle_left', prorettype => 'bool',
  2957. proargtypes => 'circle circle', prosrc => 'circle_left' },
  2958. { oid => '1455',
  2959. proname => 'circle_overleft', prorettype => 'bool',
  2960. proargtypes => 'circle circle', prosrc => 'circle_overleft' },
  2961. { oid => '1456',
  2962. proname => 'circle_overright', prorettype => 'bool',
  2963. proargtypes => 'circle circle', prosrc => 'circle_overright' },
  2964. { oid => '1457',
  2965. proname => 'circle_right', prorettype => 'bool',
  2966. proargtypes => 'circle circle', prosrc => 'circle_right' },
  2967. { oid => '1458',
  2968. proname => 'circle_contained', prorettype => 'bool',
  2969. proargtypes => 'circle circle', prosrc => 'circle_contained' },
  2970. { oid => '1459',
  2971. proname => 'circle_overlap', prorettype => 'bool',
  2972. proargtypes => 'circle circle', prosrc => 'circle_overlap' },
  2973. { oid => '1460',
  2974. proname => 'circle_below', prorettype => 'bool',
  2975. proargtypes => 'circle circle', prosrc => 'circle_below' },
  2976. { oid => '1461',
  2977. proname => 'circle_above', prorettype => 'bool',
  2978. proargtypes => 'circle circle', prosrc => 'circle_above' },
  2979. { oid => '1462',
  2980. proname => 'circle_eq', proleakproof => 't', prorettype => 'bool',
  2981. proargtypes => 'circle circle', prosrc => 'circle_eq' },
  2982. { oid => '1463',
  2983. proname => 'circle_ne', proleakproof => 't', prorettype => 'bool',
  2984. proargtypes => 'circle circle', prosrc => 'circle_ne' },
  2985. { oid => '1464',
  2986. proname => 'circle_lt', proleakproof => 't', prorettype => 'bool',
  2987. proargtypes => 'circle circle', prosrc => 'circle_lt' },
  2988. { oid => '1465',
  2989. proname => 'circle_gt', proleakproof => 't', prorettype => 'bool',
  2990. proargtypes => 'circle circle', prosrc => 'circle_gt' },
  2991. { oid => '1466',
  2992. proname => 'circle_le', proleakproof => 't', prorettype => 'bool',
  2993. proargtypes => 'circle circle', prosrc => 'circle_le' },
  2994. { oid => '1467',
  2995. proname => 'circle_ge', proleakproof => 't', prorettype => 'bool',
  2996. proargtypes => 'circle circle', prosrc => 'circle_ge' },
  2997. { oid => '1468', descr => 'area of circle',
  2998. proname => 'area', prorettype => 'float8', proargtypes => 'circle',
  2999. prosrc => 'circle_area' },
  3000. { oid => '1469', descr => 'diameter of circle',
  3001. proname => 'diameter', prorettype => 'float8', proargtypes => 'circle',
  3002. prosrc => 'circle_diameter' },
  3003. { oid => '1470', descr => 'radius of circle',
  3004. proname => 'radius', prorettype => 'float8', proargtypes => 'circle',
  3005. prosrc => 'circle_radius' },
  3006. { oid => '1471',
  3007. proname => 'circle_distance', prorettype => 'float8',
  3008. proargtypes => 'circle circle', prosrc => 'circle_distance' },
  3009. { oid => '1472',
  3010. proname => 'circle_center', prorettype => 'point', proargtypes => 'circle',
  3011. prosrc => 'circle_center' },
  3012. { oid => '1473', descr => 'convert point and radius to circle',
  3013. proname => 'circle', prorettype => 'circle', proargtypes => 'point float8',
  3014. prosrc => 'cr_circle' },
  3015. { oid => '1474', descr => 'convert polygon to circle',
  3016. proname => 'circle', prorettype => 'circle', proargtypes => 'polygon',
  3017. prosrc => 'poly_circle' },
  3018. { oid => '1475', descr => 'convert vertex count and circle to polygon',
  3019. proname => 'polygon', prorettype => 'polygon', proargtypes => 'int4 circle',
  3020. prosrc => 'circle_poly' },
  3021. { oid => '1476',
  3022. proname => 'dist_pc', prorettype => 'float8', proargtypes => 'point circle',
  3023. prosrc => 'dist_pc' },
  3024. { oid => '1477',
  3025. proname => 'circle_contain_pt', prorettype => 'bool',
  3026. proargtypes => 'circle point', prosrc => 'circle_contain_pt' },
  3027. { oid => '1478',
  3028. proname => 'pt_contained_circle', prorettype => 'bool',
  3029. proargtypes => 'point circle', prosrc => 'pt_contained_circle' },
  3030. { oid => '4091', descr => 'convert point to empty box',
  3031. proname => 'box', prorettype => 'box', proargtypes => 'point',
  3032. prosrc => 'point_box' },
  3033. { oid => '1479', descr => 'convert box to circle',
  3034. proname => 'circle', prorettype => 'circle', proargtypes => 'box',
  3035. prosrc => 'box_circle' },
  3036. { oid => '1480', descr => 'convert circle to box',
  3037. proname => 'box', prorettype => 'box', proargtypes => 'circle',
  3038. prosrc => 'circle_box' },
  3039. { oid => '1482',
  3040. proname => 'lseg_ne', proleakproof => 't', prorettype => 'bool',
  3041. proargtypes => 'lseg lseg', prosrc => 'lseg_ne' },
  3042. { oid => '1483',
  3043. proname => 'lseg_lt', proleakproof => 't', prorettype => 'bool',
  3044. proargtypes => 'lseg lseg', prosrc => 'lseg_lt' },
  3045. { oid => '1484',
  3046. proname => 'lseg_le', proleakproof => 't', prorettype => 'bool',
  3047. proargtypes => 'lseg lseg', prosrc => 'lseg_le' },
  3048. { oid => '1485',
  3049. proname => 'lseg_gt', proleakproof => 't', prorettype => 'bool',
  3050. proargtypes => 'lseg lseg', prosrc => 'lseg_gt' },
  3051. { oid => '1486',
  3052. proname => 'lseg_ge', proleakproof => 't', prorettype => 'bool',
  3053. proargtypes => 'lseg lseg', prosrc => 'lseg_ge' },
  3054. { oid => '1487',
  3055. proname => 'lseg_length', prorettype => 'float8', proargtypes => 'lseg',
  3056. prosrc => 'lseg_length' },
  3057. { oid => '1488',
  3058. proname => 'close_ls', prorettype => 'point', proargtypes => 'line lseg',
  3059. prosrc => 'close_ls' },
  3060. { oid => '1489',
  3061. proname => 'close_lseg', prorettype => 'point', proargtypes => 'lseg lseg',
  3062. prosrc => 'close_lseg' },
  3063. { oid => '1490', descr => 'I/O',
  3064. proname => 'line_in', prorettype => 'line', proargtypes => 'cstring',
  3065. prosrc => 'line_in' },
  3066. { oid => '1491', descr => 'I/O',
  3067. proname => 'line_out', prorettype => 'cstring', proargtypes => 'line',
  3068. prosrc => 'line_out' },
  3069. { oid => '1492',
  3070. proname => 'line_eq', prorettype => 'bool', proargtypes => 'line line',
  3071. prosrc => 'line_eq' },
  3072. { oid => '1493', descr => 'construct line from points',
  3073. proname => 'line', prorettype => 'line', proargtypes => 'point point',
  3074. prosrc => 'line_construct_pp' },
  3075. { oid => '1494',
  3076. proname => 'line_interpt', prorettype => 'point', proargtypes => 'line line',
  3077. prosrc => 'line_interpt' },
  3078. { oid => '1495',
  3079. proname => 'line_intersect', prorettype => 'bool', proargtypes => 'line line',
  3080. prosrc => 'line_intersect' },
  3081. { oid => '1496',
  3082. proname => 'line_parallel', prorettype => 'bool', proargtypes => 'line line',
  3083. prosrc => 'line_parallel' },
  3084. { oid => '1497',
  3085. proname => 'line_perp', prorettype => 'bool', proargtypes => 'line line',
  3086. prosrc => 'line_perp' },
  3087. { oid => '1498',
  3088. proname => 'line_vertical', prorettype => 'bool', proargtypes => 'line',
  3089. prosrc => 'line_vertical' },
  3090. { oid => '1499',
  3091. proname => 'line_horizontal', prorettype => 'bool', proargtypes => 'line',
  3092. prosrc => 'line_horizontal' },
  3093. # OIDS 1500 - 1599
  3094. { oid => '1530', descr => 'distance between endpoints',
  3095. proname => 'length', prorettype => 'float8', proargtypes => 'lseg',
  3096. prosrc => 'lseg_length' },
  3097. { oid => '1531', descr => 'sum of path segments',
  3098. proname => 'length', prorettype => 'float8', proargtypes => 'path',
  3099. prosrc => 'path_length' },
  3100. { oid => '1532', descr => 'center of',
  3101. proname => 'point', prorettype => 'point', proargtypes => 'lseg',
  3102. prosrc => 'lseg_center' },
  3103. { oid => '1534', descr => 'center of',
  3104. proname => 'point', prorettype => 'point', proargtypes => 'box',
  3105. prosrc => 'box_center' },
  3106. { oid => '1540', descr => 'center of',
  3107. proname => 'point', prorettype => 'point', proargtypes => 'polygon',
  3108. prosrc => 'poly_center' },
  3109. { oid => '1541', descr => 'diagonal of',
  3110. proname => 'lseg', prorettype => 'lseg', proargtypes => 'box',
  3111. prosrc => 'box_diagonal' },
  3112. { oid => '1542', descr => 'center of',
  3113. proname => 'center', prorettype => 'point', proargtypes => 'box',
  3114. prosrc => 'box_center' },
  3115. { oid => '1543', descr => 'center of',
  3116. proname => 'center', prorettype => 'point', proargtypes => 'circle',
  3117. prosrc => 'circle_center' },
  3118. { oid => '1544', descr => 'convert circle to 12-vertex polygon',
  3119. proname => 'polygon', prolang => 'sql', prorettype => 'polygon',
  3120. proargtypes => 'circle', prosrc => 'see system_functions.sql' },
  3121. { oid => '1545', descr => 'number of points',
  3122. proname => 'npoints', prorettype => 'int4', proargtypes => 'path',
  3123. prosrc => 'path_npoints' },
  3124. { oid => '1556', descr => 'number of points',
  3125. proname => 'npoints', prorettype => 'int4', proargtypes => 'polygon',
  3126. prosrc => 'poly_npoints' },
  3127. { oid => '1564', descr => 'I/O',
  3128. proname => 'bit_in', prorettype => 'bit', proargtypes => 'cstring oid int4',
  3129. prosrc => 'bit_in' },
  3130. { oid => '1565', descr => 'I/O',
  3131. proname => 'bit_out', prorettype => 'cstring', proargtypes => 'bit',
  3132. prosrc => 'bit_out' },
  3133. { oid => '2919', descr => 'I/O typmod',
  3134. proname => 'bittypmodin', prorettype => 'int4', proargtypes => '_cstring',
  3135. prosrc => 'bittypmodin' },
  3136. { oid => '2920', descr => 'I/O typmod',
  3137. proname => 'bittypmodout', prorettype => 'cstring', proargtypes => 'int4',
  3138. prosrc => 'bittypmodout' },
  3139. { oid => '1569', descr => 'matches LIKE expression',
  3140. proname => 'like', prosupport => 'textlike_support', prorettype => 'bool',
  3141. proargtypes => 'text text', prosrc => 'textlike' },
  3142. { oid => '1570', descr => 'does not match LIKE expression',
  3143. proname => 'notlike', prorettype => 'bool', proargtypes => 'text text',
  3144. prosrc => 'textnlike' },
  3145. { oid => '1571', descr => 'matches LIKE expression',
  3146. proname => 'like', prosupport => 'textlike_support', prorettype => 'bool',
  3147. proargtypes => 'name text', prosrc => 'namelike' },
  3148. { oid => '1572', descr => 'does not match LIKE expression',
  3149. proname => 'notlike', prorettype => 'bool', proargtypes => 'name text',
  3150. prosrc => 'namenlike' },
  3151. # SEQUENCE functions
  3152. { oid => '1574', descr => 'sequence next value',
  3153. proname => 'nextval', provolatile => 'v', proparallel => 'u',
  3154. prorettype => 'int8', proargtypes => 'regclass', prosrc => 'nextval_oid' },
  3155. { oid => '1575', descr => 'sequence current value',
  3156. proname => 'currval', provolatile => 'v', proparallel => 'u',
  3157. prorettype => 'int8', proargtypes => 'regclass', prosrc => 'currval_oid' },
  3158. { oid => '1576', descr => 'set sequence value',
  3159. proname => 'setval', provolatile => 'v', proparallel => 'u',
  3160. prorettype => 'int8', proargtypes => 'regclass int8',
  3161. prosrc => 'setval_oid' },
  3162. { oid => '1765', descr => 'set sequence value and is_called status',
  3163. proname => 'setval', provolatile => 'v', proparallel => 'u',
  3164. prorettype => 'int8', proargtypes => 'regclass int8 bool',
  3165. prosrc => 'setval3_oid' },
  3166. { oid => '3078',
  3167. descr => 'sequence parameters, for use by information schema',
  3168. proname => 'pg_sequence_parameters', provolatile => 's',
  3169. prorettype => 'record', proargtypes => 'oid',
  3170. proallargtypes => '{oid,int8,int8,int8,int8,bool,int8,oid}',
  3171. proargmodes => '{i,o,o,o,o,o,o,o}',
  3172. proargnames => '{sequence_oid,start_value,minimum_value,maximum_value,increment,cycle_option,cache_size,data_type}',
  3173. prosrc => 'pg_sequence_parameters' },
  3174. { oid => '4032', descr => 'sequence last value',
  3175. proname => 'pg_sequence_last_value', provolatile => 'v', proparallel => 'u',
  3176. prorettype => 'int8', proargtypes => 'regclass',
  3177. prosrc => 'pg_sequence_last_value' },
  3178. { oid => '275', descr => 'return the next oid for a system table',
  3179. proname => 'pg_nextoid', provolatile => 'v', proparallel => 'u',
  3180. prorettype => 'oid', proargtypes => 'regclass name regclass',
  3181. prosrc => 'pg_nextoid' },
  3182. { oid => '6241', descr => 'stop making pinned objects during initdb',
  3183. proname => 'pg_stop_making_pinned_objects', provolatile => 'v',
  3184. proparallel => 'u', prorettype => 'void', proargtypes => '',
  3185. prosrc => 'pg_stop_making_pinned_objects' },
  3186. { oid => '1579', descr => 'I/O',
  3187. proname => 'varbit_in', prorettype => 'varbit',
  3188. proargtypes => 'cstring oid int4', prosrc => 'varbit_in' },
  3189. { oid => '1580', descr => 'I/O',
  3190. proname => 'varbit_out', prorettype => 'cstring', proargtypes => 'varbit',
  3191. prosrc => 'varbit_out' },
  3192. { oid => '2902', descr => 'I/O typmod',
  3193. proname => 'varbittypmodin', prorettype => 'int4', proargtypes => '_cstring',
  3194. prosrc => 'varbittypmodin' },
  3195. { oid => '2921', descr => 'I/O typmod',
  3196. proname => 'varbittypmodout', prorettype => 'cstring', proargtypes => 'int4',
  3197. prosrc => 'varbittypmodout' },
  3198. { oid => '1581',
  3199. proname => 'biteq', proleakproof => 't', prorettype => 'bool',
  3200. proargtypes => 'bit bit', prosrc => 'biteq' },
  3201. { oid => '1582',
  3202. proname => 'bitne', proleakproof => 't', prorettype => 'bool',
  3203. proargtypes => 'bit bit', prosrc => 'bitne' },
  3204. { oid => '1592',
  3205. proname => 'bitge', proleakproof => 't', prorettype => 'bool',
  3206. proargtypes => 'bit bit', prosrc => 'bitge' },
  3207. { oid => '1593',
  3208. proname => 'bitgt', proleakproof => 't', prorettype => 'bool',
  3209. proargtypes => 'bit bit', prosrc => 'bitgt' },
  3210. { oid => '1594',
  3211. proname => 'bitle', proleakproof => 't', prorettype => 'bool',
  3212. proargtypes => 'bit bit', prosrc => 'bitle' },
  3213. { oid => '1595',
  3214. proname => 'bitlt', proleakproof => 't', prorettype => 'bool',
  3215. proargtypes => 'bit bit', prosrc => 'bitlt' },
  3216. { oid => '1596', descr => 'less-equal-greater',
  3217. proname => 'bitcmp', proleakproof => 't', prorettype => 'int4',
  3218. proargtypes => 'bit bit', prosrc => 'bitcmp' },
  3219. { oid => '1598', descr => 'random value',
  3220. proname => 'random', provolatile => 'v', proparallel => 'r',
  3221. prorettype => 'float8', proargtypes => '', prosrc => 'drandom' },
  3222. { oid => '6212', descr => 'random value from normal distribution',
  3223. proname => 'random_normal', provolatile => 'v', proparallel => 'r',
  3224. prorettype => 'float8', proargtypes => 'float8 float8',
  3225. prosrc => 'drandom_normal' },
  3226. { oid => '1599', descr => 'set random seed',
  3227. proname => 'setseed', provolatile => 'v', proparallel => 'r',
  3228. prorettype => 'void', proargtypes => 'float8', prosrc => 'setseed' },
  3229. # OIDS 1600 - 1699
  3230. { oid => '1600', descr => 'arcsine',
  3231. proname => 'asin', prorettype => 'float8', proargtypes => 'float8',
  3232. prosrc => 'dasin' },
  3233. { oid => '1601', descr => 'arccosine',
  3234. proname => 'acos', prorettype => 'float8', proargtypes => 'float8',
  3235. prosrc => 'dacos' },
  3236. { oid => '1602', descr => 'arctangent',
  3237. proname => 'atan', prorettype => 'float8', proargtypes => 'float8',
  3238. prosrc => 'datan' },
  3239. { oid => '1603', descr => 'arctangent, two arguments',
  3240. proname => 'atan2', prorettype => 'float8', proargtypes => 'float8 float8',
  3241. prosrc => 'datan2' },
  3242. { oid => '1604', descr => 'sine',
  3243. proname => 'sin', prorettype => 'float8', proargtypes => 'float8',
  3244. prosrc => 'dsin' },
  3245. { oid => '1605', descr => 'cosine',
  3246. proname => 'cos', prorettype => 'float8', proargtypes => 'float8',
  3247. prosrc => 'dcos' },
  3248. { oid => '1606', descr => 'tangent',
  3249. proname => 'tan', prorettype => 'float8', proargtypes => 'float8',
  3250. prosrc => 'dtan' },
  3251. { oid => '1607', descr => 'cotangent',
  3252. proname => 'cot', prorettype => 'float8', proargtypes => 'float8',
  3253. prosrc => 'dcot' },
  3254. { oid => '2731', descr => 'arcsine, degrees',
  3255. proname => 'asind', prorettype => 'float8', proargtypes => 'float8',
  3256. prosrc => 'dasind' },
  3257. { oid => '2732', descr => 'arccosine, degrees',
  3258. proname => 'acosd', prorettype => 'float8', proargtypes => 'float8',
  3259. prosrc => 'dacosd' },
  3260. { oid => '2733', descr => 'arctangent, degrees',
  3261. proname => 'atand', prorettype => 'float8', proargtypes => 'float8',
  3262. prosrc => 'datand' },
  3263. { oid => '2734', descr => 'arctangent, two arguments, degrees',
  3264. proname => 'atan2d', prorettype => 'float8', proargtypes => 'float8 float8',
  3265. prosrc => 'datan2d' },
  3266. { oid => '2735', descr => 'sine, degrees',
  3267. proname => 'sind', prorettype => 'float8', proargtypes => 'float8',
  3268. prosrc => 'dsind' },
  3269. { oid => '2736', descr => 'cosine, degrees',
  3270. proname => 'cosd', prorettype => 'float8', proargtypes => 'float8',
  3271. prosrc => 'dcosd' },
  3272. { oid => '2737', descr => 'tangent, degrees',
  3273. proname => 'tand', prorettype => 'float8', proargtypes => 'float8',
  3274. prosrc => 'dtand' },
  3275. { oid => '2738', descr => 'cotangent, degrees',
  3276. proname => 'cotd', prorettype => 'float8', proargtypes => 'float8',
  3277. prosrc => 'dcotd' },
  3278. { oid => '1608', descr => 'radians to degrees',
  3279. proname => 'degrees', prorettype => 'float8', proargtypes => 'float8',
  3280. prosrc => 'degrees' },
  3281. { oid => '1609', descr => 'degrees to radians',
  3282. proname => 'radians', prorettype => 'float8', proargtypes => 'float8',
  3283. prosrc => 'radians' },
  3284. { oid => '1610', descr => 'PI',
  3285. proname => 'pi', prorettype => 'float8', proargtypes => '', prosrc => 'dpi' },
  3286. { oid => '2462', descr => 'hyperbolic sine',
  3287. proname => 'sinh', prorettype => 'float8', proargtypes => 'float8',
  3288. prosrc => 'dsinh' },
  3289. { oid => '2463', descr => 'hyperbolic cosine',
  3290. proname => 'cosh', prorettype => 'float8', proargtypes => 'float8',
  3291. prosrc => 'dcosh' },
  3292. { oid => '2464', descr => 'hyperbolic tangent',
  3293. proname => 'tanh', prorettype => 'float8', proargtypes => 'float8',
  3294. prosrc => 'dtanh' },
  3295. { oid => '2465', descr => 'inverse hyperbolic sine',
  3296. proname => 'asinh', prorettype => 'float8', proargtypes => 'float8',
  3297. prosrc => 'dasinh' },
  3298. { oid => '2466', descr => 'inverse hyperbolic cosine',
  3299. proname => 'acosh', prorettype => 'float8', proargtypes => 'float8',
  3300. prosrc => 'dacosh' },
  3301. { oid => '2467', descr => 'inverse hyperbolic tangent',
  3302. proname => 'atanh', prorettype => 'float8', proargtypes => 'float8',
  3303. prosrc => 'datanh' },
  3304. { oid => '6219', descr => 'error function',
  3305. proname => 'erf', prorettype => 'float8', proargtypes => 'float8',
  3306. prosrc => 'derf' },
  3307. { oid => '6220', descr => 'complementary error function',
  3308. proname => 'erfc', prorettype => 'float8', proargtypes => 'float8',
  3309. prosrc => 'derfc' },
  3310. { oid => '1618',
  3311. proname => 'interval_mul', prorettype => 'interval',
  3312. proargtypes => 'interval float8', prosrc => 'interval_mul' },
  3313. { oid => '1620', descr => 'convert first char to int4',
  3314. proname => 'ascii', prorettype => 'int4', proargtypes => 'text',
  3315. prosrc => 'ascii' },
  3316. { oid => '1621', descr => 'convert int4 to char',
  3317. proname => 'chr', prorettype => 'text', proargtypes => 'int4',
  3318. prosrc => 'chr' },
  3319. { oid => '1622', descr => 'replicate string n times',
  3320. proname => 'repeat', prorettype => 'text', proargtypes => 'text int4',
  3321. prosrc => 'repeat' },
  3322. { oid => '1623', descr => 'convert SQL regexp pattern to POSIX style',
  3323. proname => 'similar_escape', proisstrict => 'f', prorettype => 'text',
  3324. proargtypes => 'text text', prosrc => 'similar_escape' },
  3325. { oid => '1986', descr => 'convert SQL regexp pattern to POSIX style',
  3326. proname => 'similar_to_escape', prorettype => 'text',
  3327. proargtypes => 'text text', prosrc => 'similar_to_escape_2' },
  3328. { oid => '1987', descr => 'convert SQL regexp pattern to POSIX style',
  3329. proname => 'similar_to_escape', prorettype => 'text', proargtypes => 'text',
  3330. prosrc => 'similar_to_escape_1' },
  3331. { oid => '1624',
  3332. proname => 'mul_d_interval', prorettype => 'interval',
  3333. proargtypes => 'float8 interval', prosrc => 'mul_d_interval' },
  3334. { oid => '1631',
  3335. proname => 'bpcharlike', prosupport => 'textlike_support',
  3336. prorettype => 'bool', proargtypes => 'bpchar text', prosrc => 'textlike' },
  3337. { oid => '1632',
  3338. proname => 'bpcharnlike', prorettype => 'bool', proargtypes => 'bpchar text',
  3339. prosrc => 'textnlike' },
  3340. { oid => '1633',
  3341. proname => 'texticlike', prosupport => 'texticlike_support',
  3342. prorettype => 'bool', proargtypes => 'text text', prosrc => 'texticlike' },
  3343. { oid => '1025', descr => 'planner support for texticlike',
  3344. proname => 'texticlike_support', prorettype => 'internal',
  3345. proargtypes => 'internal', prosrc => 'texticlike_support' },
  3346. { oid => '1634',
  3347. proname => 'texticnlike', prorettype => 'bool', proargtypes => 'text text',
  3348. prosrc => 'texticnlike' },
  3349. { oid => '1635',
  3350. proname => 'nameiclike', prosupport => 'texticlike_support',
  3351. prorettype => 'bool', proargtypes => 'name text', prosrc => 'nameiclike' },
  3352. { oid => '1636',
  3353. proname => 'nameicnlike', prorettype => 'bool', proargtypes => 'name text',
  3354. prosrc => 'nameicnlike' },
  3355. { oid => '1637', descr => 'convert LIKE pattern to use backslash escapes',
  3356. proname => 'like_escape', prorettype => 'text', proargtypes => 'text text',
  3357. prosrc => 'like_escape' },
  3358. { oid => '1656',
  3359. proname => 'bpcharicregexeq', prosupport => 'texticregexeq_support',
  3360. prorettype => 'bool', proargtypes => 'bpchar text',
  3361. prosrc => 'texticregexeq' },
  3362. { oid => '1657',
  3363. proname => 'bpcharicregexne', prorettype => 'bool',
  3364. proargtypes => 'bpchar text', prosrc => 'texticregexne' },
  3365. { oid => '1658',
  3366. proname => 'bpcharregexeq', prosupport => 'textregexeq_support',
  3367. prorettype => 'bool', proargtypes => 'bpchar text', prosrc => 'textregexeq' },
  3368. { oid => '1659',
  3369. proname => 'bpcharregexne', prorettype => 'bool',
  3370. proargtypes => 'bpchar text', prosrc => 'textregexne' },
  3371. { oid => '1660',
  3372. proname => 'bpchariclike', prosupport => 'texticlike_support',
  3373. prorettype => 'bool', proargtypes => 'bpchar text', prosrc => 'texticlike' },
  3374. { oid => '1661',
  3375. proname => 'bpcharicnlike', prorettype => 'bool',
  3376. proargtypes => 'bpchar text', prosrc => 'texticnlike' },
  3377. # Oracle Compatibility Related Functions - By Edmund Mergl <E.Mergl@bawue.de>
  3378. { oid => '868', descr => 'position of substring',
  3379. proname => 'strpos', prorettype => 'int4', proargtypes => 'text text',
  3380. prosrc => 'textpos' },
  3381. { oid => '870', descr => 'lowercase',
  3382. proname => 'lower', prorettype => 'text', proargtypes => 'text',
  3383. prosrc => 'lower' },
  3384. { oid => '871', descr => 'uppercase',
  3385. proname => 'upper', prorettype => 'text', proargtypes => 'text',
  3386. prosrc => 'upper' },
  3387. { oid => '872', descr => 'capitalize each word',
  3388. proname => 'initcap', prorettype => 'text', proargtypes => 'text',
  3389. prosrc => 'initcap' },
  3390. { oid => '873', descr => 'left-pad string to length',
  3391. proname => 'lpad', prorettype => 'text', proargtypes => 'text int4 text',
  3392. prosrc => 'lpad' },
  3393. { oid => '874', descr => 'right-pad string to length',
  3394. proname => 'rpad', prorettype => 'text', proargtypes => 'text int4 text',
  3395. prosrc => 'rpad' },
  3396. { oid => '875', descr => 'trim selected characters from left end of string',
  3397. proname => 'ltrim', prorettype => 'text', proargtypes => 'text text',
  3398. prosrc => 'ltrim' },
  3399. { oid => '876', descr => 'trim selected characters from right end of string',
  3400. proname => 'rtrim', prorettype => 'text', proargtypes => 'text text',
  3401. prosrc => 'rtrim' },
  3402. { oid => '877', descr => 'extract portion of string',
  3403. proname => 'substr', prorettype => 'text', proargtypes => 'text int4 int4',
  3404. prosrc => 'text_substr' },
  3405. { oid => '878', descr => 'map a set of characters appearing in string',
  3406. proname => 'translate', prorettype => 'text', proargtypes => 'text text text',
  3407. prosrc => 'translate' },
  3408. { oid => '879', descr => 'left-pad string to length',
  3409. proname => 'lpad', prolang => 'sql', prorettype => 'text',
  3410. proargtypes => 'text int4', prosrc => 'see system_functions.sql' },
  3411. { oid => '880', descr => 'right-pad string to length',
  3412. proname => 'rpad', prolang => 'sql', prorettype => 'text',
  3413. proargtypes => 'text int4', prosrc => 'see system_functions.sql' },
  3414. { oid => '881', descr => 'trim spaces from left end of string',
  3415. proname => 'ltrim', prorettype => 'text', proargtypes => 'text',
  3416. prosrc => 'ltrim1' },
  3417. { oid => '882', descr => 'trim spaces from right end of string',
  3418. proname => 'rtrim', prorettype => 'text', proargtypes => 'text',
  3419. prosrc => 'rtrim1' },
  3420. { oid => '883', descr => 'extract portion of string',
  3421. proname => 'substr', prorettype => 'text', proargtypes => 'text int4',
  3422. prosrc => 'text_substr_no_len' },
  3423. { oid => '884', descr => 'trim selected characters from both ends of string',
  3424. proname => 'btrim', prorettype => 'text', proargtypes => 'text text',
  3425. prosrc => 'btrim' },
  3426. { oid => '885', descr => 'trim spaces from both ends of string',
  3427. proname => 'btrim', prorettype => 'text', proargtypes => 'text',
  3428. prosrc => 'btrim1' },
  3429. { oid => '936', descr => 'extract portion of string',
  3430. proname => 'substring', prorettype => 'text', proargtypes => 'text int4 int4',
  3431. prosrc => 'text_substr' },
  3432. { oid => '937', descr => 'extract portion of string',
  3433. proname => 'substring', prorettype => 'text', proargtypes => 'text int4',
  3434. prosrc => 'text_substr_no_len' },
  3435. { oid => '2087',
  3436. descr => 'replace all occurrences in string of old_substr with new_substr',
  3437. proname => 'replace', prorettype => 'text', proargtypes => 'text text text',
  3438. prosrc => 'replace_text' },
  3439. { oid => '2284', descr => 'replace text using regexp',
  3440. proname => 'regexp_replace', prorettype => 'text',
  3441. proargtypes => 'text text text', prosrc => 'textregexreplace_noopt' },
  3442. { oid => '2285', descr => 'replace text using regexp',
  3443. proname => 'regexp_replace', prorettype => 'text',
  3444. proargtypes => 'text text text text', prosrc => 'textregexreplace' },
  3445. { oid => '6251', descr => 'replace text using regexp',
  3446. proname => 'regexp_replace', prorettype => 'text',
  3447. proargtypes => 'text text text int4 int4 text',
  3448. prosrc => 'textregexreplace_extended' },
  3449. { oid => '6252', descr => 'replace text using regexp',
  3450. proname => 'regexp_replace', prorettype => 'text',
  3451. proargtypes => 'text text text int4 int4',
  3452. prosrc => 'textregexreplace_extended_no_flags' },
  3453. { oid => '6253', descr => 'replace text using regexp',
  3454. proname => 'regexp_replace', prorettype => 'text',
  3455. proargtypes => 'text text text int4',
  3456. prosrc => 'textregexreplace_extended_no_n' },
  3457. { oid => '3396', descr => 'find first match for regexp',
  3458. proname => 'regexp_match', prorettype => '_text', proargtypes => 'text text',
  3459. prosrc => 'regexp_match_no_flags' },
  3460. { oid => '3397', descr => 'find first match for regexp',
  3461. proname => 'regexp_match', prorettype => '_text',
  3462. proargtypes => 'text text text', prosrc => 'regexp_match' },
  3463. { oid => '2763', descr => 'find match(es) for regexp',
  3464. proname => 'regexp_matches', prorows => '1', proretset => 't',
  3465. prorettype => '_text', proargtypes => 'text text',
  3466. prosrc => 'regexp_matches_no_flags' },
  3467. { oid => '2764', descr => 'find match(es) for regexp',
  3468. proname => 'regexp_matches', prorows => '10', proretset => 't',
  3469. prorettype => '_text', proargtypes => 'text text text',
  3470. prosrc => 'regexp_matches' },
  3471. { oid => '6254', descr => 'count regexp matches',
  3472. proname => 'regexp_count', prorettype => 'int4', proargtypes => 'text text',
  3473. prosrc => 'regexp_count_no_start' },
  3474. { oid => '6255', descr => 'count regexp matches',
  3475. proname => 'regexp_count', prorettype => 'int4',
  3476. proargtypes => 'text text int4', prosrc => 'regexp_count_no_flags' },
  3477. { oid => '6256', descr => 'count regexp matches',
  3478. proname => 'regexp_count', prorettype => 'int4',
  3479. proargtypes => 'text text int4 text', prosrc => 'regexp_count' },
  3480. { oid => '6257', descr => 'position of regexp match',
  3481. proname => 'regexp_instr', prorettype => 'int4', proargtypes => 'text text',
  3482. prosrc => 'regexp_instr_no_start' },
  3483. { oid => '6258', descr => 'position of regexp match',
  3484. proname => 'regexp_instr', prorettype => 'int4',
  3485. proargtypes => 'text text int4', prosrc => 'regexp_instr_no_n' },
  3486. { oid => '6259', descr => 'position of regexp match',
  3487. proname => 'regexp_instr', prorettype => 'int4',
  3488. proargtypes => 'text text int4 int4', prosrc => 'regexp_instr_no_endoption' },
  3489. { oid => '6260', descr => 'position of regexp match',
  3490. proname => 'regexp_instr', prorettype => 'int4',
  3491. proargtypes => 'text text int4 int4 int4',
  3492. prosrc => 'regexp_instr_no_flags' },
  3493. { oid => '6261', descr => 'position of regexp match',
  3494. proname => 'regexp_instr', prorettype => 'int4',
  3495. proargtypes => 'text text int4 int4 int4 text',
  3496. prosrc => 'regexp_instr_no_subexpr' },
  3497. { oid => '6262', descr => 'position of regexp match',
  3498. proname => 'regexp_instr', prorettype => 'int4',
  3499. proargtypes => 'text text int4 int4 int4 text int4',
  3500. prosrc => 'regexp_instr' },
  3501. { oid => '6263', descr => 'test for regexp match',
  3502. proname => 'regexp_like', prorettype => 'bool', proargtypes => 'text text',
  3503. prosrc => 'regexp_like_no_flags' },
  3504. { oid => '6264', descr => 'test for regexp match',
  3505. proname => 'regexp_like', prorettype => 'bool',
  3506. proargtypes => 'text text text', prosrc => 'regexp_like' },
  3507. { oid => '6265', descr => 'extract substring that matches regexp',
  3508. proname => 'regexp_substr', prorettype => 'text', proargtypes => 'text text',
  3509. prosrc => 'regexp_substr_no_start' },
  3510. { oid => '6266', descr => 'extract substring that matches regexp',
  3511. proname => 'regexp_substr', prorettype => 'text',
  3512. proargtypes => 'text text int4', prosrc => 'regexp_substr_no_n' },
  3513. { oid => '6267', descr => 'extract substring that matches regexp',
  3514. proname => 'regexp_substr', prorettype => 'text',
  3515. proargtypes => 'text text int4 int4', prosrc => 'regexp_substr_no_flags' },
  3516. { oid => '6268', descr => 'extract substring that matches regexp',
  3517. proname => 'regexp_substr', prorettype => 'text',
  3518. proargtypes => 'text text int4 int4 text',
  3519. prosrc => 'regexp_substr_no_subexpr' },
  3520. { oid => '6269', descr => 'extract substring that matches regexp',
  3521. proname => 'regexp_substr', prorettype => 'text',
  3522. proargtypes => 'text text int4 int4 text int4', prosrc => 'regexp_substr' },
  3523. { oid => '2088', descr => 'split string by field_sep and return field_num',
  3524. proname => 'split_part', prorettype => 'text',
  3525. proargtypes => 'text text int4', prosrc => 'split_part' },
  3526. { oid => '2765', descr => 'split string by pattern',
  3527. proname => 'regexp_split_to_table', prorows => '1000', proretset => 't',
  3528. prorettype => 'text', proargtypes => 'text text',
  3529. prosrc => 'regexp_split_to_table_no_flags' },
  3530. { oid => '2766', descr => 'split string by pattern',
  3531. proname => 'regexp_split_to_table', prorows => '1000', proretset => 't',
  3532. prorettype => 'text', proargtypes => 'text text text',
  3533. prosrc => 'regexp_split_to_table' },
  3534. { oid => '2767', descr => 'split string by pattern',
  3535. proname => 'regexp_split_to_array', prorettype => '_text',
  3536. proargtypes => 'text text', prosrc => 'regexp_split_to_array_no_flags' },
  3537. { oid => '2768', descr => 'split string by pattern',
  3538. proname => 'regexp_split_to_array', prorettype => '_text',
  3539. proargtypes => 'text text text', prosrc => 'regexp_split_to_array' },
  3540. { oid => '2089', descr => 'convert int4 number to hex',
  3541. proname => 'to_hex', prorettype => 'text', proargtypes => 'int4',
  3542. prosrc => 'to_hex32' },
  3543. { oid => '2090', descr => 'convert int8 number to hex',
  3544. proname => 'to_hex', prorettype => 'text', proargtypes => 'int8',
  3545. prosrc => 'to_hex64' },
  3546. # for character set encoding support
  3547. # return database encoding name
  3548. { oid => '1039', descr => 'encoding name of current database',
  3549. proname => 'getdatabaseencoding', provolatile => 's', prorettype => 'name',
  3550. proargtypes => '', prosrc => 'getdatabaseencoding' },
  3551. # return client encoding name i.e. session encoding
  3552. { oid => '810', descr => 'encoding name of current database',
  3553. proname => 'pg_client_encoding', provolatile => 's', prorettype => 'name',
  3554. proargtypes => '', prosrc => 'pg_client_encoding' },
  3555. { oid => '1713', descr => 'length of string in specified encoding',
  3556. proname => 'length', provolatile => 's', prorettype => 'int4',
  3557. proargtypes => 'bytea name', prosrc => 'length_in_encoding' },
  3558. { oid => '1714',
  3559. descr => 'convert string with specified source encoding name',
  3560. proname => 'convert_from', provolatile => 's', prorettype => 'text',
  3561. proargtypes => 'bytea name', prosrc => 'pg_convert_from' },
  3562. { oid => '1717',
  3563. descr => 'convert string with specified destination encoding name',
  3564. proname => 'convert_to', provolatile => 's', prorettype => 'bytea',
  3565. proargtypes => 'text name', prosrc => 'pg_convert_to' },
  3566. { oid => '1813', descr => 'convert string with specified encoding names',
  3567. proname => 'convert', provolatile => 's', prorettype => 'bytea',
  3568. proargtypes => 'bytea name name', prosrc => 'pg_convert' },
  3569. { oid => '1264', descr => 'convert encoding name to encoding id',
  3570. proname => 'pg_char_to_encoding', provolatile => 's', prorettype => 'int4',
  3571. proargtypes => 'name', prosrc => 'PG_char_to_encoding' },
  3572. { oid => '1597', descr => 'convert encoding id to encoding name',
  3573. proname => 'pg_encoding_to_char', provolatile => 's', prorettype => 'name',
  3574. proargtypes => 'int4', prosrc => 'PG_encoding_to_char' },
  3575. { oid => '2319',
  3576. descr => 'maximum octet length of a character in given encoding',
  3577. proname => 'pg_encoding_max_length', prorettype => 'int4',
  3578. proargtypes => 'int4', prosrc => 'pg_encoding_max_length_sql' },
  3579. { oid => '1638',
  3580. proname => 'oidgt', proleakproof => 't', prorettype => 'bool',
  3581. proargtypes => 'oid oid', prosrc => 'oidgt' },
  3582. { oid => '1639',
  3583. proname => 'oidge', proleakproof => 't', prorettype => 'bool',
  3584. proargtypes => 'oid oid', prosrc => 'oidge' },
  3585. # System-view support functions
  3586. { oid => '1573', descr => 'source text of a rule',
  3587. proname => 'pg_get_ruledef', provolatile => 's', prorettype => 'text',
  3588. proargtypes => 'oid', prosrc => 'pg_get_ruledef' },
  3589. { oid => '1640', descr => 'select statement of a view',
  3590. proname => 'pg_get_viewdef', provolatile => 's', proparallel => 'r',
  3591. prorettype => 'text', proargtypes => 'text',
  3592. prosrc => 'pg_get_viewdef_name' },
  3593. { oid => '1641', descr => 'select statement of a view',
  3594. proname => 'pg_get_viewdef', provolatile => 's', proparallel => 'r',
  3595. prorettype => 'text', proargtypes => 'oid', prosrc => 'pg_get_viewdef' },
  3596. { oid => '1642', descr => 'role name by OID (with fallback)',
  3597. proname => 'pg_get_userbyid', provolatile => 's', prorettype => 'name',
  3598. proargtypes => 'oid', prosrc => 'pg_get_userbyid' },
  3599. { oid => '1643', descr => 'index description',
  3600. proname => 'pg_get_indexdef', provolatile => 's', prorettype => 'text',
  3601. proargtypes => 'oid', prosrc => 'pg_get_indexdef' },
  3602. { oid => '3415', descr => 'extended statistics object description',
  3603. proname => 'pg_get_statisticsobjdef', provolatile => 's',
  3604. prorettype => 'text', proargtypes => 'oid',
  3605. prosrc => 'pg_get_statisticsobjdef' },
  3606. { oid => '6174', descr => 'extended statistics columns',
  3607. proname => 'pg_get_statisticsobjdef_columns', provolatile => 's',
  3608. prorettype => 'text', proargtypes => 'oid',
  3609. prosrc => 'pg_get_statisticsobjdef_columns' },
  3610. { oid => '6173', descr => 'extended statistics expressions',
  3611. proname => 'pg_get_statisticsobjdef_expressions', provolatile => 's',
  3612. prorettype => '_text', proargtypes => 'oid',
  3613. prosrc => 'pg_get_statisticsobjdef_expressions' },
  3614. { oid => '3352', descr => 'partition key description',
  3615. proname => 'pg_get_partkeydef', provolatile => 's', prorettype => 'text',
  3616. proargtypes => 'oid', prosrc => 'pg_get_partkeydef' },
  3617. { oid => '3408', descr => 'partition constraint description',
  3618. proname => 'pg_get_partition_constraintdef', provolatile => 's',
  3619. prorettype => 'text', proargtypes => 'oid',
  3620. prosrc => 'pg_get_partition_constraintdef' },
  3621. { oid => '1662', descr => 'trigger description',
  3622. proname => 'pg_get_triggerdef', provolatile => 's', prorettype => 'text',
  3623. proargtypes => 'oid', prosrc => 'pg_get_triggerdef' },
  3624. { oid => '1387', descr => 'constraint description',
  3625. proname => 'pg_get_constraintdef', provolatile => 's', prorettype => 'text',
  3626. proargtypes => 'oid', prosrc => 'pg_get_constraintdef' },
  3627. { oid => '1716', descr => 'deparse an encoded expression',
  3628. proname => 'pg_get_expr', provolatile => 's', prorettype => 'text',
  3629. proargtypes => 'pg_node_tree oid', prosrc => 'pg_get_expr' },
  3630. { oid => '1665', descr => 'name of sequence for a serial column',
  3631. proname => 'pg_get_serial_sequence', provolatile => 's', prorettype => 'text',
  3632. proargtypes => 'text text', prosrc => 'pg_get_serial_sequence' },
  3633. { oid => '2098', descr => 'definition of a function',
  3634. proname => 'pg_get_functiondef', provolatile => 's', prorettype => 'text',
  3635. proargtypes => 'oid', prosrc => 'pg_get_functiondef' },
  3636. { oid => '2162', descr => 'argument list of a function',
  3637. proname => 'pg_get_function_arguments', provolatile => 's',
  3638. prorettype => 'text', proargtypes => 'oid',
  3639. prosrc => 'pg_get_function_arguments' },
  3640. { oid => '2232', descr => 'identity argument list of a function',
  3641. proname => 'pg_get_function_identity_arguments', provolatile => 's',
  3642. prorettype => 'text', proargtypes => 'oid',
  3643. prosrc => 'pg_get_function_identity_arguments' },
  3644. { oid => '2165', descr => 'result type of a function',
  3645. proname => 'pg_get_function_result', provolatile => 's', prorettype => 'text',
  3646. proargtypes => 'oid', prosrc => 'pg_get_function_result' },
  3647. { oid => '3808', descr => 'function argument default',
  3648. proname => 'pg_get_function_arg_default', provolatile => 's',
  3649. prorettype => 'text', proargtypes => 'oid int4',
  3650. prosrc => 'pg_get_function_arg_default' },
  3651. { oid => '6197', descr => 'function SQL body',
  3652. proname => 'pg_get_function_sqlbody', provolatile => 's',
  3653. prorettype => 'text', proargtypes => 'oid',
  3654. prosrc => 'pg_get_function_sqlbody' },
  3655. { oid => '1686', descr => 'list of SQL keywords',
  3656. proname => 'pg_get_keywords', procost => '10', prorows => '500',
  3657. proretset => 't', provolatile => 's', prorettype => 'record',
  3658. proargtypes => '', proallargtypes => '{text,char,bool,text,text}',
  3659. proargmodes => '{o,o,o,o,o}',
  3660. proargnames => '{word,catcode,barelabel,catdesc,baredesc}',
  3661. prosrc => 'pg_get_keywords' },
  3662. { oid => '6159', descr => 'list of catalog foreign key relationships',
  3663. proname => 'pg_get_catalog_foreign_keys', procost => '10', prorows => '250',
  3664. proretset => 't', provolatile => 's', prorettype => 'record',
  3665. proargtypes => '',
  3666. proallargtypes => '{regclass,_text,regclass,_text,bool,bool}',
  3667. proargmodes => '{o,o,o,o,o,o}',
  3668. proargnames => '{fktable,fkcols,pktable,pkcols,is_array,is_opt}',
  3669. prosrc => 'pg_get_catalog_foreign_keys' },
  3670. { oid => '2289', descr => 'convert generic options array to name/value table',
  3671. proname => 'pg_options_to_table', prorows => '3', proretset => 't',
  3672. provolatile => 's', prorettype => 'record', proargtypes => '_text',
  3673. proallargtypes => '{_text,text,text}', proargmodes => '{i,o,o}',
  3674. proargnames => '{options_array,option_name,option_value}',
  3675. prosrc => 'pg_options_to_table' },
  3676. { oid => '1619', descr => 'type of the argument',
  3677. proname => 'pg_typeof', proisstrict => 'f', provolatile => 's',
  3678. prorettype => 'regtype', proargtypes => 'any', prosrc => 'pg_typeof' },
  3679. { oid => '3162',
  3680. descr => 'collation of the argument; implementation of the COLLATION FOR expression',
  3681. proname => 'pg_collation_for', proisstrict => 'f', provolatile => 's',
  3682. prorettype => 'text', proargtypes => 'any', prosrc => 'pg_collation_for' },
  3683. { oid => '3842', descr => 'is a relation insertable/updatable/deletable',
  3684. proname => 'pg_relation_is_updatable', procost => '10', provolatile => 's',
  3685. prorettype => 'int4', proargtypes => 'regclass bool',
  3686. prosrc => 'pg_relation_is_updatable' },
  3687. { oid => '3843', descr => 'is a column updatable',
  3688. proname => 'pg_column_is_updatable', procost => '10', provolatile => 's',
  3689. prorettype => 'bool', proargtypes => 'regclass int2 bool',
  3690. prosrc => 'pg_column_is_updatable' },
  3691. { oid => '6120', descr => 'oid of replica identity index if any',
  3692. proname => 'pg_get_replica_identity_index', procost => '10',
  3693. provolatile => 's', prorettype => 'regclass', proargtypes => 'regclass',
  3694. prosrc => 'pg_get_replica_identity_index' },
  3695. # Deferrable unique constraint trigger
  3696. { oid => '1250', descr => 'deferred UNIQUE constraint check',
  3697. proname => 'unique_key_recheck', provolatile => 'v', prorettype => 'trigger',
  3698. proargtypes => '', prosrc => 'unique_key_recheck' },
  3699. # Generic referential integrity constraint triggers
  3700. { oid => '1644', descr => 'referential integrity FOREIGN KEY ... REFERENCES',
  3701. proname => 'RI_FKey_check_ins', provolatile => 'v', prorettype => 'trigger',
  3702. proargtypes => '', prosrc => 'RI_FKey_check_ins' },
  3703. { oid => '1645', descr => 'referential integrity FOREIGN KEY ... REFERENCES',
  3704. proname => 'RI_FKey_check_upd', provolatile => 'v', prorettype => 'trigger',
  3705. proargtypes => '', prosrc => 'RI_FKey_check_upd' },
  3706. { oid => '1646', descr => 'referential integrity ON DELETE CASCADE',
  3707. proname => 'RI_FKey_cascade_del', provolatile => 'v', prorettype => 'trigger',
  3708. proargtypes => '', prosrc => 'RI_FKey_cascade_del' },
  3709. { oid => '1647', descr => 'referential integrity ON UPDATE CASCADE',
  3710. proname => 'RI_FKey_cascade_upd', provolatile => 'v', prorettype => 'trigger',
  3711. proargtypes => '', prosrc => 'RI_FKey_cascade_upd' },
  3712. { oid => '1648', descr => 'referential integrity ON DELETE RESTRICT',
  3713. proname => 'RI_FKey_restrict_del', provolatile => 'v',
  3714. prorettype => 'trigger', proargtypes => '',
  3715. prosrc => 'RI_FKey_restrict_del' },
  3716. { oid => '1649', descr => 'referential integrity ON UPDATE RESTRICT',
  3717. proname => 'RI_FKey_restrict_upd', provolatile => 'v',
  3718. prorettype => 'trigger', proargtypes => '',
  3719. prosrc => 'RI_FKey_restrict_upd' },
  3720. { oid => '1650', descr => 'referential integrity ON DELETE SET NULL',
  3721. proname => 'RI_FKey_setnull_del', provolatile => 'v', prorettype => 'trigger',
  3722. proargtypes => '', prosrc => 'RI_FKey_setnull_del' },
  3723. { oid => '1651', descr => 'referential integrity ON UPDATE SET NULL',
  3724. proname => 'RI_FKey_setnull_upd', provolatile => 'v', prorettype => 'trigger',
  3725. proargtypes => '', prosrc => 'RI_FKey_setnull_upd' },
  3726. { oid => '1652', descr => 'referential integrity ON DELETE SET DEFAULT',
  3727. proname => 'RI_FKey_setdefault_del', provolatile => 'v',
  3728. prorettype => 'trigger', proargtypes => '',
  3729. prosrc => 'RI_FKey_setdefault_del' },
  3730. { oid => '1653', descr => 'referential integrity ON UPDATE SET DEFAULT',
  3731. proname => 'RI_FKey_setdefault_upd', provolatile => 'v',
  3732. prorettype => 'trigger', proargtypes => '',
  3733. prosrc => 'RI_FKey_setdefault_upd' },
  3734. { oid => '1654', descr => 'referential integrity ON DELETE NO ACTION',
  3735. proname => 'RI_FKey_noaction_del', provolatile => 'v',
  3736. prorettype => 'trigger', proargtypes => '',
  3737. prosrc => 'RI_FKey_noaction_del' },
  3738. { oid => '1655', descr => 'referential integrity ON UPDATE NO ACTION',
  3739. proname => 'RI_FKey_noaction_upd', provolatile => 'v',
  3740. prorettype => 'trigger', proargtypes => '',
  3741. prosrc => 'RI_FKey_noaction_upd' },
  3742. { oid => '1666',
  3743. proname => 'varbiteq', proleakproof => 't', prorettype => 'bool',
  3744. proargtypes => 'varbit varbit', prosrc => 'biteq' },
  3745. { oid => '1667',
  3746. proname => 'varbitne', proleakproof => 't', prorettype => 'bool',
  3747. proargtypes => 'varbit varbit', prosrc => 'bitne' },
  3748. { oid => '1668',
  3749. proname => 'varbitge', proleakproof => 't', prorettype => 'bool',
  3750. proargtypes => 'varbit varbit', prosrc => 'bitge' },
  3751. { oid => '1669',
  3752. proname => 'varbitgt', proleakproof => 't', prorettype => 'bool',
  3753. proargtypes => 'varbit varbit', prosrc => 'bitgt' },
  3754. { oid => '1670',
  3755. proname => 'varbitle', proleakproof => 't', prorettype => 'bool',
  3756. proargtypes => 'varbit varbit', prosrc => 'bitle' },
  3757. { oid => '1671',
  3758. proname => 'varbitlt', proleakproof => 't', prorettype => 'bool',
  3759. proargtypes => 'varbit varbit', prosrc => 'bitlt' },
  3760. { oid => '1672', descr => 'less-equal-greater',
  3761. proname => 'varbitcmp', proleakproof => 't', prorettype => 'int4',
  3762. proargtypes => 'varbit varbit', prosrc => 'bitcmp' },
  3763. # avoid the C names bitand and bitor, since they are C++ keywords
  3764. { oid => '1673',
  3765. proname => 'bitand', prorettype => 'bit', proargtypes => 'bit bit',
  3766. prosrc => 'bit_and' },
  3767. { oid => '1674',
  3768. proname => 'bitor', prorettype => 'bit', proargtypes => 'bit bit',
  3769. prosrc => 'bit_or' },
  3770. { oid => '1675',
  3771. proname => 'bitxor', prorettype => 'bit', proargtypes => 'bit bit',
  3772. prosrc => 'bitxor' },
  3773. { oid => '1676',
  3774. proname => 'bitnot', prorettype => 'bit', proargtypes => 'bit',
  3775. prosrc => 'bitnot' },
  3776. { oid => '1677',
  3777. proname => 'bitshiftleft', prorettype => 'bit', proargtypes => 'bit int4',
  3778. prosrc => 'bitshiftleft' },
  3779. { oid => '1678',
  3780. proname => 'bitshiftright', prorettype => 'bit', proargtypes => 'bit int4',
  3781. prosrc => 'bitshiftright' },
  3782. { oid => '1679',
  3783. proname => 'bitcat', prorettype => 'varbit', proargtypes => 'varbit varbit',
  3784. prosrc => 'bitcat' },
  3785. { oid => '1680', descr => 'extract portion of bitstring',
  3786. proname => 'substring', prorettype => 'bit', proargtypes => 'bit int4 int4',
  3787. prosrc => 'bitsubstr' },
  3788. { oid => '1681', descr => 'bitstring length',
  3789. proname => 'length', prorettype => 'int4', proargtypes => 'bit',
  3790. prosrc => 'bitlength' },
  3791. { oid => '1682', descr => 'octet length',
  3792. proname => 'octet_length', prorettype => 'int4', proargtypes => 'bit',
  3793. prosrc => 'bitoctetlength' },
  3794. { oid => '1683', descr => 'convert int4 to bitstring',
  3795. proname => 'bit', prorettype => 'bit', proargtypes => 'int4 int4',
  3796. prosrc => 'bitfromint4' },
  3797. { oid => '1684', descr => 'convert bitstring to int4',
  3798. proname => 'int4', prorettype => 'int4', proargtypes => 'bit',
  3799. prosrc => 'bittoint4' },
  3800. { oid => '1685', descr => 'adjust bit() to typmod length',
  3801. proname => 'bit', prorettype => 'bit', proargtypes => 'bit int4 bool',
  3802. prosrc => 'bit' },
  3803. { oid => '3158', descr => 'planner support for varbit length coercion',
  3804. proname => 'varbit_support', prorettype => 'internal',
  3805. proargtypes => 'internal', prosrc => 'varbit_support' },
  3806. { oid => '1687', descr => 'adjust varbit() to typmod length',
  3807. proname => 'varbit', prosupport => 'varbit_support', prorettype => 'varbit',
  3808. proargtypes => 'varbit int4 bool', prosrc => 'varbit' },
  3809. { oid => '1698', descr => 'position of sub-bitstring',
  3810. proname => 'position', prorettype => 'int4', proargtypes => 'bit bit',
  3811. prosrc => 'bitposition' },
  3812. { oid => '1699', descr => 'extract portion of bitstring',
  3813. proname => 'substring', prorettype => 'bit', proargtypes => 'bit int4',
  3814. prosrc => 'bitsubstr_no_len' },
  3815. { oid => '3030', descr => 'substitute portion of bitstring',
  3816. proname => 'overlay', prorettype => 'bit', proargtypes => 'bit bit int4 int4',
  3817. prosrc => 'bitoverlay' },
  3818. { oid => '3031', descr => 'substitute portion of bitstring',
  3819. proname => 'overlay', prorettype => 'bit', proargtypes => 'bit bit int4',
  3820. prosrc => 'bitoverlay_no_len' },
  3821. { oid => '3032', descr => 'get bit',
  3822. proname => 'get_bit', prorettype => 'int4', proargtypes => 'bit int4',
  3823. prosrc => 'bitgetbit' },
  3824. { oid => '3033', descr => 'set bit',
  3825. proname => 'set_bit', prorettype => 'bit', proargtypes => 'bit int4 int4',
  3826. prosrc => 'bitsetbit' },
  3827. { oid => '6162', descr => 'number of set bits',
  3828. proname => 'bit_count', prorettype => 'int8', proargtypes => 'bit',
  3829. prosrc => 'bit_bit_count' },
  3830. # for macaddr type support
  3831. { oid => '436', descr => 'I/O',
  3832. proname => 'macaddr_in', prorettype => 'macaddr', proargtypes => 'cstring',
  3833. prosrc => 'macaddr_in' },
  3834. { oid => '437', descr => 'I/O',
  3835. proname => 'macaddr_out', prorettype => 'cstring', proargtypes => 'macaddr',
  3836. prosrc => 'macaddr_out' },
  3837. { oid => '753', descr => 'MACADDR manufacturer fields',
  3838. proname => 'trunc', prorettype => 'macaddr', proargtypes => 'macaddr',
  3839. prosrc => 'macaddr_trunc' },
  3840. { oid => '830',
  3841. proname => 'macaddr_eq', proleakproof => 't', prorettype => 'bool',
  3842. proargtypes => 'macaddr macaddr', prosrc => 'macaddr_eq' },
  3843. { oid => '831',
  3844. proname => 'macaddr_lt', proleakproof => 't', prorettype => 'bool',
  3845. proargtypes => 'macaddr macaddr', prosrc => 'macaddr_lt' },
  3846. { oid => '832',
  3847. proname => 'macaddr_le', proleakproof => 't', prorettype => 'bool',
  3848. proargtypes => 'macaddr macaddr', prosrc => 'macaddr_le' },
  3849. { oid => '833',
  3850. proname => 'macaddr_gt', proleakproof => 't', prorettype => 'bool',
  3851. proargtypes => 'macaddr macaddr', prosrc => 'macaddr_gt' },
  3852. { oid => '834',
  3853. proname => 'macaddr_ge', proleakproof => 't', prorettype => 'bool',
  3854. proargtypes => 'macaddr macaddr', prosrc => 'macaddr_ge' },
  3855. { oid => '835',
  3856. proname => 'macaddr_ne', proleakproof => 't', prorettype => 'bool',
  3857. proargtypes => 'macaddr macaddr', prosrc => 'macaddr_ne' },
  3858. { oid => '836', descr => 'less-equal-greater',
  3859. proname => 'macaddr_cmp', proleakproof => 't', prorettype => 'int4',
  3860. proargtypes => 'macaddr macaddr', prosrc => 'macaddr_cmp' },
  3861. { oid => '3144',
  3862. proname => 'macaddr_not', prorettype => 'macaddr', proargtypes => 'macaddr',
  3863. prosrc => 'macaddr_not' },
  3864. { oid => '3145',
  3865. proname => 'macaddr_and', prorettype => 'macaddr',
  3866. proargtypes => 'macaddr macaddr', prosrc => 'macaddr_and' },
  3867. { oid => '3146',
  3868. proname => 'macaddr_or', prorettype => 'macaddr',
  3869. proargtypes => 'macaddr macaddr', prosrc => 'macaddr_or' },
  3870. { oid => '3359', descr => 'sort support',
  3871. proname => 'macaddr_sortsupport', prorettype => 'void',
  3872. proargtypes => 'internal', prosrc => 'macaddr_sortsupport' },
  3873. # for macaddr8 type support
  3874. { oid => '4110', descr => 'I/O',
  3875. proname => 'macaddr8_in', prorettype => 'macaddr8', proargtypes => 'cstring',
  3876. prosrc => 'macaddr8_in' },
  3877. { oid => '4111', descr => 'I/O',
  3878. proname => 'macaddr8_out', prorettype => 'cstring', proargtypes => 'macaddr8',
  3879. prosrc => 'macaddr8_out' },
  3880. { oid => '4112', descr => 'MACADDR8 manufacturer fields',
  3881. proname => 'trunc', prorettype => 'macaddr8', proargtypes => 'macaddr8',
  3882. prosrc => 'macaddr8_trunc' },
  3883. { oid => '4113',
  3884. proname => 'macaddr8_eq', proleakproof => 't', prorettype => 'bool',
  3885. proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_eq' },
  3886. { oid => '4114',
  3887. proname => 'macaddr8_lt', proleakproof => 't', prorettype => 'bool',
  3888. proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_lt' },
  3889. { oid => '4115',
  3890. proname => 'macaddr8_le', proleakproof => 't', prorettype => 'bool',
  3891. proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_le' },
  3892. { oid => '4116',
  3893. proname => 'macaddr8_gt', proleakproof => 't', prorettype => 'bool',
  3894. proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_gt' },
  3895. { oid => '4117',
  3896. proname => 'macaddr8_ge', proleakproof => 't', prorettype => 'bool',
  3897. proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_ge' },
  3898. { oid => '4118',
  3899. proname => 'macaddr8_ne', proleakproof => 't', prorettype => 'bool',
  3900. proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_ne' },
  3901. { oid => '4119', descr => 'less-equal-greater',
  3902. proname => 'macaddr8_cmp', proleakproof => 't', prorettype => 'int4',
  3903. proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_cmp' },
  3904. { oid => '4120',
  3905. proname => 'macaddr8_not', prorettype => 'macaddr8',
  3906. proargtypes => 'macaddr8', prosrc => 'macaddr8_not' },
  3907. { oid => '4121',
  3908. proname => 'macaddr8_and', prorettype => 'macaddr8',
  3909. proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_and' },
  3910. { oid => '4122',
  3911. proname => 'macaddr8_or', prorettype => 'macaddr8',
  3912. proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_or' },
  3913. { oid => '4123', descr => 'convert macaddr to macaddr8',
  3914. proname => 'macaddr8', proleakproof => 't', prorettype => 'macaddr8',
  3915. proargtypes => 'macaddr', prosrc => 'macaddrtomacaddr8' },
  3916. { oid => '4124', descr => 'convert macaddr8 to macaddr',
  3917. proname => 'macaddr', prorettype => 'macaddr', proargtypes => 'macaddr8',
  3918. prosrc => 'macaddr8tomacaddr' },
  3919. { oid => '4125', descr => 'set 7th bit in macaddr8',
  3920. proname => 'macaddr8_set7bit', prorettype => 'macaddr8',
  3921. proargtypes => 'macaddr8', prosrc => 'macaddr8_set7bit' },
  3922. # for inet type support
  3923. { oid => '910', descr => 'I/O',
  3924. proname => 'inet_in', prorettype => 'inet', proargtypes => 'cstring',
  3925. prosrc => 'inet_in' },
  3926. { oid => '911', descr => 'I/O',
  3927. proname => 'inet_out', prorettype => 'cstring', proargtypes => 'inet',
  3928. prosrc => 'inet_out' },
  3929. # for cidr type support
  3930. { oid => '1267', descr => 'I/O',
  3931. proname => 'cidr_in', prorettype => 'cidr', proargtypes => 'cstring',
  3932. prosrc => 'cidr_in' },
  3933. { oid => '1427', descr => 'I/O',
  3934. proname => 'cidr_out', prorettype => 'cstring', proargtypes => 'cidr',
  3935. prosrc => 'cidr_out' },
  3936. # these are used for both inet and cidr
  3937. { oid => '920',
  3938. proname => 'network_eq', proleakproof => 't', prorettype => 'bool',
  3939. proargtypes => 'inet inet', prosrc => 'network_eq' },
  3940. { oid => '921',
  3941. proname => 'network_lt', proleakproof => 't', prorettype => 'bool',
  3942. proargtypes => 'inet inet', prosrc => 'network_lt' },
  3943. { oid => '922',
  3944. proname => 'network_le', proleakproof => 't', prorettype => 'bool',
  3945. proargtypes => 'inet inet', prosrc => 'network_le' },
  3946. { oid => '923',
  3947. proname => 'network_gt', proleakproof => 't', prorettype => 'bool',
  3948. proargtypes => 'inet inet', prosrc => 'network_gt' },
  3949. { oid => '924',
  3950. proname => 'network_ge', proleakproof => 't', prorettype => 'bool',
  3951. proargtypes => 'inet inet', prosrc => 'network_ge' },
  3952. { oid => '925',
  3953. proname => 'network_ne', proleakproof => 't', prorettype => 'bool',
  3954. proargtypes => 'inet inet', prosrc => 'network_ne' },
  3955. { oid => '3562', descr => 'larger of two',
  3956. proname => 'network_larger', prorettype => 'inet', proargtypes => 'inet inet',
  3957. prosrc => 'network_larger' },
  3958. { oid => '3563', descr => 'smaller of two',
  3959. proname => 'network_smaller', prorettype => 'inet',
  3960. proargtypes => 'inet inet', prosrc => 'network_smaller' },
  3961. { oid => '926', descr => 'less-equal-greater',
  3962. proname => 'network_cmp', proleakproof => 't', prorettype => 'int4',
  3963. proargtypes => 'inet inet', prosrc => 'network_cmp' },
  3964. { oid => '927',
  3965. proname => 'network_sub', prosupport => 'network_subset_support',
  3966. prorettype => 'bool', proargtypes => 'inet inet', prosrc => 'network_sub' },
  3967. { oid => '928',
  3968. proname => 'network_subeq', prosupport => 'network_subset_support',
  3969. prorettype => 'bool', proargtypes => 'inet inet', prosrc => 'network_subeq' },
  3970. { oid => '929',
  3971. proname => 'network_sup', prosupport => 'network_subset_support',
  3972. prorettype => 'bool', proargtypes => 'inet inet', prosrc => 'network_sup' },
  3973. { oid => '930',
  3974. proname => 'network_supeq', prosupport => 'network_subset_support',
  3975. prorettype => 'bool', proargtypes => 'inet inet', prosrc => 'network_supeq' },
  3976. { oid => '1173', descr => 'planner support for network_sub/superset',
  3977. proname => 'network_subset_support', prorettype => 'internal',
  3978. proargtypes => 'internal', prosrc => 'network_subset_support' },
  3979. { oid => '3551',
  3980. proname => 'network_overlap', prorettype => 'bool',
  3981. proargtypes => 'inet inet', prosrc => 'network_overlap' },
  3982. { oid => '5033', descr => 'sort support',
  3983. proname => 'network_sortsupport', prorettype => 'void',
  3984. proargtypes => 'internal', prosrc => 'network_sortsupport' },
  3985. # inet/cidr functions
  3986. { oid => '598', descr => 'abbreviated display of inet value',
  3987. proname => 'abbrev', prorettype => 'text', proargtypes => 'inet',
  3988. prosrc => 'inet_abbrev' },
  3989. { oid => '599', descr => 'abbreviated display of cidr value',
  3990. proname => 'abbrev', prorettype => 'text', proargtypes => 'cidr',
  3991. prosrc => 'cidr_abbrev' },
  3992. { oid => '605', descr => 'change netmask of inet',
  3993. proname => 'set_masklen', prorettype => 'inet', proargtypes => 'inet int4',
  3994. prosrc => 'inet_set_masklen' },
  3995. { oid => '635', descr => 'change netmask of cidr',
  3996. proname => 'set_masklen', prorettype => 'cidr', proargtypes => 'cidr int4',
  3997. prosrc => 'cidr_set_masklen' },
  3998. { oid => '711', descr => 'address family (4 for IPv4, 6 for IPv6)',
  3999. proname => 'family', prorettype => 'int4', proargtypes => 'inet',
  4000. prosrc => 'network_family' },
  4001. { oid => '683', descr => 'network part of address',
  4002. proname => 'network', prorettype => 'cidr', proargtypes => 'inet',
  4003. prosrc => 'network_network' },
  4004. { oid => '696', descr => 'netmask of address',
  4005. proname => 'netmask', prorettype => 'inet', proargtypes => 'inet',
  4006. prosrc => 'network_netmask' },
  4007. { oid => '697', descr => 'netmask length',
  4008. proname => 'masklen', prorettype => 'int4', proargtypes => 'inet',
  4009. prosrc => 'network_masklen' },
  4010. { oid => '698', descr => 'broadcast address of network',
  4011. proname => 'broadcast', prorettype => 'inet', proargtypes => 'inet',
  4012. prosrc => 'network_broadcast' },
  4013. { oid => '699', descr => 'show address octets only',
  4014. proname => 'host', prorettype => 'text', proargtypes => 'inet',
  4015. prosrc => 'network_host' },
  4016. { oid => '730', descr => 'show all parts of inet/cidr value',
  4017. proname => 'text', prorettype => 'text', proargtypes => 'inet',
  4018. prosrc => 'network_show' },
  4019. { oid => '1362', descr => 'hostmask of address',
  4020. proname => 'hostmask', prorettype => 'inet', proargtypes => 'inet',
  4021. prosrc => 'network_hostmask' },
  4022. { oid => '1715', descr => 'convert inet to cidr',
  4023. proname => 'cidr', prorettype => 'cidr', proargtypes => 'inet',
  4024. prosrc => 'inet_to_cidr' },
  4025. { oid => '2196', descr => 'inet address of the client',
  4026. proname => 'inet_client_addr', proisstrict => 'f', provolatile => 's',
  4027. proparallel => 'r', prorettype => 'inet', proargtypes => '',
  4028. prosrc => 'inet_client_addr' },
  4029. { oid => '2197', descr => 'client\'s port number for this connection',
  4030. proname => 'inet_client_port', proisstrict => 'f', provolatile => 's',
  4031. proparallel => 'r', prorettype => 'int4', proargtypes => '',
  4032. prosrc => 'inet_client_port' },
  4033. { oid => '2198', descr => 'inet address of the server',
  4034. proname => 'inet_server_addr', proisstrict => 'f', provolatile => 's',
  4035. proparallel => 'r', prorettype => 'inet', proargtypes => '',
  4036. prosrc => 'inet_server_addr' },
  4037. { oid => '2199', descr => 'server\'s port number for this connection',
  4038. proname => 'inet_server_port', proisstrict => 'f', provolatile => 's',
  4039. proparallel => 'r', prorettype => 'int4', proargtypes => '',
  4040. prosrc => 'inet_server_port' },
  4041. { oid => '2627',
  4042. proname => 'inetnot', prorettype => 'inet', proargtypes => 'inet',
  4043. prosrc => 'inetnot' },
  4044. { oid => '2628',
  4045. proname => 'inetand', prorettype => 'inet', proargtypes => 'inet inet',
  4046. prosrc => 'inetand' },
  4047. { oid => '2629',
  4048. proname => 'inetor', prorettype => 'inet', proargtypes => 'inet inet',
  4049. prosrc => 'inetor' },
  4050. { oid => '2630',
  4051. proname => 'inetpl', prorettype => 'inet', proargtypes => 'inet int8',
  4052. prosrc => 'inetpl' },
  4053. { oid => '2631',
  4054. proname => 'int8pl_inet', prolang => 'sql', prorettype => 'inet',
  4055. proargtypes => 'int8 inet', prosrc => 'see system_functions.sql' },
  4056. { oid => '2632',
  4057. proname => 'inetmi_int8', prorettype => 'inet', proargtypes => 'inet int8',
  4058. prosrc => 'inetmi_int8' },
  4059. { oid => '2633',
  4060. proname => 'inetmi', prorettype => 'int8', proargtypes => 'inet inet',
  4061. prosrc => 'inetmi' },
  4062. { oid => '4071', descr => 'are the addresses from the same family?',
  4063. proname => 'inet_same_family', prorettype => 'bool',
  4064. proargtypes => 'inet inet', prosrc => 'inet_same_family' },
  4065. { oid => '4063',
  4066. descr => 'the smallest network which includes both of the given networks',
  4067. proname => 'inet_merge', prorettype => 'cidr', proargtypes => 'inet inet',
  4068. prosrc => 'inet_merge' },
  4069. # GiST support for inet and cidr
  4070. { oid => '3553', descr => 'GiST support',
  4071. proname => 'inet_gist_consistent', prorettype => 'bool',
  4072. proargtypes => 'internal inet int2 oid internal',
  4073. prosrc => 'inet_gist_consistent' },
  4074. { oid => '3554', descr => 'GiST support',
  4075. proname => 'inet_gist_union', prorettype => 'inet',
  4076. proargtypes => 'internal internal', prosrc => 'inet_gist_union' },
  4077. { oid => '3555', descr => 'GiST support',
  4078. proname => 'inet_gist_compress', prorettype => 'internal',
  4079. proargtypes => 'internal', prosrc => 'inet_gist_compress' },
  4080. { oid => '3573', descr => 'GiST support',
  4081. proname => 'inet_gist_fetch', prorettype => 'internal',
  4082. proargtypes => 'internal', prosrc => 'inet_gist_fetch' },
  4083. { oid => '3557', descr => 'GiST support',
  4084. proname => 'inet_gist_penalty', prorettype => 'internal',
  4085. proargtypes => 'internal internal internal', prosrc => 'inet_gist_penalty' },
  4086. { oid => '3558', descr => 'GiST support',
  4087. proname => 'inet_gist_picksplit', prorettype => 'internal',
  4088. proargtypes => 'internal internal', prosrc => 'inet_gist_picksplit' },
  4089. { oid => '3559', descr => 'GiST support',
  4090. proname => 'inet_gist_same', prorettype => 'internal',
  4091. proargtypes => 'inet inet internal', prosrc => 'inet_gist_same' },
  4092. # SP-GiST support for inet and cidr
  4093. { oid => '3795', descr => 'SP-GiST support',
  4094. proname => 'inet_spg_config', prorettype => 'void',
  4095. proargtypes => 'internal internal', prosrc => 'inet_spg_config' },
  4096. { oid => '3796', descr => 'SP-GiST support',
  4097. proname => 'inet_spg_choose', prorettype => 'void',
  4098. proargtypes => 'internal internal', prosrc => 'inet_spg_choose' },
  4099. { oid => '3797', descr => 'SP-GiST support',
  4100. proname => 'inet_spg_picksplit', prorettype => 'void',
  4101. proargtypes => 'internal internal', prosrc => 'inet_spg_picksplit' },
  4102. { oid => '3798', descr => 'SP-GiST support',
  4103. proname => 'inet_spg_inner_consistent', prorettype => 'void',
  4104. proargtypes => 'internal internal', prosrc => 'inet_spg_inner_consistent' },
  4105. { oid => '3799', descr => 'SP-GiST support',
  4106. proname => 'inet_spg_leaf_consistent', prorettype => 'bool',
  4107. proargtypes => 'internal internal', prosrc => 'inet_spg_leaf_consistent' },
  4108. # Selectivity estimation for inet and cidr
  4109. { oid => '3560', descr => 'restriction selectivity for network operators',
  4110. proname => 'networksel', provolatile => 's', prorettype => 'float8',
  4111. proargtypes => 'internal oid internal int4', prosrc => 'networksel' },
  4112. { oid => '3561', descr => 'join selectivity for network operators',
  4113. proname => 'networkjoinsel', provolatile => 's', prorettype => 'float8',
  4114. proargtypes => 'internal oid internal int2 internal',
  4115. prosrc => 'networkjoinsel' },
  4116. { oid => '1690',
  4117. proname => 'time_mi_time', prorettype => 'interval',
  4118. proargtypes => 'time time', prosrc => 'time_mi_time' },
  4119. { oid => '1691',
  4120. proname => 'boolle', proleakproof => 't', prorettype => 'bool',
  4121. proargtypes => 'bool bool', prosrc => 'boolle' },
  4122. { oid => '1692',
  4123. proname => 'boolge', proleakproof => 't', prorettype => 'bool',
  4124. proargtypes => 'bool bool', prosrc => 'boolge' },
  4125. { oid => '1693', descr => 'less-equal-greater',
  4126. proname => 'btboolcmp', proleakproof => 't', prorettype => 'int4',
  4127. proargtypes => 'bool bool', prosrc => 'btboolcmp' },
  4128. { oid => '1688', descr => 'hash',
  4129. proname => 'time_hash', prorettype => 'int4', proargtypes => 'time',
  4130. prosrc => 'time_hash' },
  4131. { oid => '3409', descr => 'hash',
  4132. proname => 'time_hash_extended', prorettype => 'int8',
  4133. proargtypes => 'time int8', prosrc => 'time_hash_extended' },
  4134. { oid => '1696', descr => 'hash',
  4135. proname => 'timetz_hash', prorettype => 'int4', proargtypes => 'timetz',
  4136. prosrc => 'timetz_hash' },
  4137. { oid => '3410', descr => 'hash',
  4138. proname => 'timetz_hash_extended', prorettype => 'int8',
  4139. proargtypes => 'timetz int8', prosrc => 'timetz_hash_extended' },
  4140. { oid => '1697', descr => 'hash',
  4141. proname => 'interval_hash', prorettype => 'int4', proargtypes => 'interval',
  4142. prosrc => 'interval_hash' },
  4143. { oid => '3418', descr => 'hash',
  4144. proname => 'interval_hash_extended', prorettype => 'int8',
  4145. proargtypes => 'interval int8', prosrc => 'interval_hash_extended' },
  4146. # OID's 1700 - 1799 NUMERIC data type
  4147. { oid => '1701', descr => 'I/O',
  4148. proname => 'numeric_in', prorettype => 'numeric',
  4149. proargtypes => 'cstring oid int4', prosrc => 'numeric_in' },
  4150. { oid => '1702', descr => 'I/O',
  4151. proname => 'numeric_out', prorettype => 'cstring', proargtypes => 'numeric',
  4152. prosrc => 'numeric_out' },
  4153. { oid => '2917', descr => 'I/O typmod',
  4154. proname => 'numerictypmodin', prorettype => 'int4', proargtypes => '_cstring',
  4155. prosrc => 'numerictypmodin' },
  4156. { oid => '2918', descr => 'I/O typmod',
  4157. proname => 'numerictypmodout', prorettype => 'cstring', proargtypes => 'int4',
  4158. prosrc => 'numerictypmodout' },
  4159. { oid => '3157', descr => 'planner support for numeric length coercion',
  4160. proname => 'numeric_support', prorettype => 'internal',
  4161. proargtypes => 'internal', prosrc => 'numeric_support' },
  4162. { oid => '1703', descr => 'adjust numeric to typmod precision/scale',
  4163. proname => 'numeric', prosupport => 'numeric_support',
  4164. prorettype => 'numeric', proargtypes => 'numeric int4', prosrc => 'numeric' },
  4165. { oid => '1704',
  4166. proname => 'numeric_abs', prorettype => 'numeric', proargtypes => 'numeric',
  4167. prosrc => 'numeric_abs' },
  4168. { oid => '1705', descr => 'absolute value',
  4169. proname => 'abs', prorettype => 'numeric', proargtypes => 'numeric',
  4170. prosrc => 'numeric_abs' },
  4171. { oid => '1706', descr => 'sign of value',
  4172. proname => 'sign', prorettype => 'numeric', proargtypes => 'numeric',
  4173. prosrc => 'numeric_sign' },
  4174. { oid => '1707', descr => 'value rounded to \'scale\'',
  4175. proname => 'round', prorettype => 'numeric', proargtypes => 'numeric int4',
  4176. prosrc => 'numeric_round' },
  4177. { oid => '1708', descr => 'value rounded to \'scale\' of zero',
  4178. proname => 'round', prolang => 'sql', prorettype => 'numeric',
  4179. proargtypes => 'numeric', prosrc => 'see system_functions.sql' },
  4180. { oid => '1709', descr => 'value truncated to \'scale\'',
  4181. proname => 'trunc', prorettype => 'numeric', proargtypes => 'numeric int4',
  4182. prosrc => 'numeric_trunc' },
  4183. { oid => '1710', descr => 'value truncated to \'scale\' of zero',
  4184. proname => 'trunc', prolang => 'sql', prorettype => 'numeric',
  4185. proargtypes => 'numeric', prosrc => 'see system_functions.sql' },
  4186. { oid => '1711', descr => 'nearest integer >= value',
  4187. proname => 'ceil', prorettype => 'numeric', proargtypes => 'numeric',
  4188. prosrc => 'numeric_ceil' },
  4189. { oid => '2167', descr => 'nearest integer >= value',
  4190. proname => 'ceiling', prorettype => 'numeric', proargtypes => 'numeric',
  4191. prosrc => 'numeric_ceil' },
  4192. { oid => '1712', descr => 'nearest integer <= value',
  4193. proname => 'floor', prorettype => 'numeric', proargtypes => 'numeric',
  4194. prosrc => 'numeric_floor' },
  4195. { oid => '1718',
  4196. proname => 'numeric_eq', prorettype => 'bool',
  4197. proargtypes => 'numeric numeric', prosrc => 'numeric_eq' },
  4198. { oid => '1719',
  4199. proname => 'numeric_ne', prorettype => 'bool',
  4200. proargtypes => 'numeric numeric', prosrc => 'numeric_ne' },
  4201. { oid => '1720',
  4202. proname => 'numeric_gt', prorettype => 'bool',
  4203. proargtypes => 'numeric numeric', prosrc => 'numeric_gt' },
  4204. { oid => '1721',
  4205. proname => 'numeric_ge', prorettype => 'bool',
  4206. proargtypes => 'numeric numeric', prosrc => 'numeric_ge' },
  4207. { oid => '1722',
  4208. proname => 'numeric_lt', prorettype => 'bool',
  4209. proargtypes => 'numeric numeric', prosrc => 'numeric_lt' },
  4210. { oid => '1723',
  4211. proname => 'numeric_le', prorettype => 'bool',
  4212. proargtypes => 'numeric numeric', prosrc => 'numeric_le' },
  4213. { oid => '1724',
  4214. proname => 'numeric_add', prorettype => 'numeric',
  4215. proargtypes => 'numeric numeric', prosrc => 'numeric_add' },
  4216. { oid => '1725',
  4217. proname => 'numeric_sub', prorettype => 'numeric',
  4218. proargtypes => 'numeric numeric', prosrc => 'numeric_sub' },
  4219. { oid => '1726',
  4220. proname => 'numeric_mul', prorettype => 'numeric',
  4221. proargtypes => 'numeric numeric', prosrc => 'numeric_mul' },
  4222. { oid => '1727',
  4223. proname => 'numeric_div', prorettype => 'numeric',
  4224. proargtypes => 'numeric numeric', prosrc => 'numeric_div' },
  4225. { oid => '1728', descr => 'modulus',
  4226. proname => 'mod', prorettype => 'numeric', proargtypes => 'numeric numeric',
  4227. prosrc => 'numeric_mod' },
  4228. { oid => '1729',
  4229. proname => 'numeric_mod', prorettype => 'numeric',
  4230. proargtypes => 'numeric numeric', prosrc => 'numeric_mod' },
  4231. { oid => '5048', descr => 'greatest common divisor',
  4232. proname => 'gcd', prorettype => 'numeric', proargtypes => 'numeric numeric',
  4233. prosrc => 'numeric_gcd' },
  4234. { oid => '5049', descr => 'least common multiple',
  4235. proname => 'lcm', prorettype => 'numeric', proargtypes => 'numeric numeric',
  4236. prosrc => 'numeric_lcm' },
  4237. { oid => '1730', descr => 'square root',
  4238. proname => 'sqrt', prorettype => 'numeric', proargtypes => 'numeric',
  4239. prosrc => 'numeric_sqrt' },
  4240. { oid => '1731', descr => 'square root',
  4241. proname => 'numeric_sqrt', prorettype => 'numeric', proargtypes => 'numeric',
  4242. prosrc => 'numeric_sqrt' },
  4243. { oid => '1732', descr => 'natural exponential (e^x)',
  4244. proname => 'exp', prorettype => 'numeric', proargtypes => 'numeric',
  4245. prosrc => 'numeric_exp' },
  4246. { oid => '1733', descr => 'natural exponential (e^x)',
  4247. proname => 'numeric_exp', prorettype => 'numeric', proargtypes => 'numeric',
  4248. prosrc => 'numeric_exp' },
  4249. { oid => '1734', descr => 'natural logarithm',
  4250. proname => 'ln', prorettype => 'numeric', proargtypes => 'numeric',
  4251. prosrc => 'numeric_ln' },
  4252. { oid => '1735', descr => 'natural logarithm',
  4253. proname => 'numeric_ln', prorettype => 'numeric', proargtypes => 'numeric',
  4254. prosrc => 'numeric_ln' },
  4255. { oid => '1736', descr => 'logarithm base m of n',
  4256. proname => 'log', prorettype => 'numeric', proargtypes => 'numeric numeric',
  4257. prosrc => 'numeric_log' },
  4258. { oid => '1737', descr => 'logarithm base m of n',
  4259. proname => 'numeric_log', prorettype => 'numeric',
  4260. proargtypes => 'numeric numeric', prosrc => 'numeric_log' },
  4261. { oid => '1738', descr => 'exponentiation',
  4262. proname => 'pow', prorettype => 'numeric', proargtypes => 'numeric numeric',
  4263. prosrc => 'numeric_power' },
  4264. { oid => '2169', descr => 'exponentiation',
  4265. proname => 'power', prorettype => 'numeric', proargtypes => 'numeric numeric',
  4266. prosrc => 'numeric_power' },
  4267. { oid => '1739',
  4268. proname => 'numeric_power', prorettype => 'numeric',
  4269. proargtypes => 'numeric numeric', prosrc => 'numeric_power' },
  4270. { oid => '3281', descr => 'number of decimal digits in the fractional part',
  4271. proname => 'scale', prorettype => 'int4', proargtypes => 'numeric',
  4272. prosrc => 'numeric_scale' },
  4273. { oid => '5042', descr => 'minimum scale needed to represent the value',
  4274. proname => 'min_scale', prorettype => 'int4', proargtypes => 'numeric',
  4275. prosrc => 'numeric_min_scale' },
  4276. { oid => '5043',
  4277. descr => 'numeric with minimum scale needed to represent the value',
  4278. proname => 'trim_scale', prorettype => 'numeric', proargtypes => 'numeric',
  4279. prosrc => 'numeric_trim_scale' },
  4280. { oid => '1740', descr => 'convert int4 to numeric',
  4281. proname => 'numeric', proleakproof => 't', prorettype => 'numeric',
  4282. proargtypes => 'int4', prosrc => 'int4_numeric' },
  4283. { oid => '1741', descr => 'base 10 logarithm',
  4284. proname => 'log', prolang => 'sql', prorettype => 'numeric',
  4285. proargtypes => 'numeric', prosrc => 'see system_functions.sql' },
  4286. { oid => '1481', descr => 'base 10 logarithm',
  4287. proname => 'log10', prolang => 'sql', prorettype => 'numeric',
  4288. proargtypes => 'numeric', prosrc => 'see system_functions.sql' },
  4289. { oid => '1742', descr => 'convert float4 to numeric',
  4290. proname => 'numeric', proleakproof => 't', prorettype => 'numeric',
  4291. proargtypes => 'float4', prosrc => 'float4_numeric' },
  4292. { oid => '1743', descr => 'convert float8 to numeric',
  4293. proname => 'numeric', proleakproof => 't', prorettype => 'numeric',
  4294. proargtypes => 'float8', prosrc => 'float8_numeric' },
  4295. { oid => '1744', descr => 'convert numeric to int4',
  4296. proname => 'int4', prorettype => 'int4', proargtypes => 'numeric',
  4297. prosrc => 'numeric_int4' },
  4298. { oid => '1745', descr => 'convert numeric to float4',
  4299. proname => 'float4', prorettype => 'float4', proargtypes => 'numeric',
  4300. prosrc => 'numeric_float4' },
  4301. { oid => '1746', descr => 'convert numeric to float8',
  4302. proname => 'float8', prorettype => 'float8', proargtypes => 'numeric',
  4303. prosrc => 'numeric_float8' },
  4304. { oid => '1973', descr => 'trunc(x/y)',
  4305. proname => 'div', prorettype => 'numeric', proargtypes => 'numeric numeric',
  4306. prosrc => 'numeric_div_trunc' },
  4307. { oid => '1980', descr => 'trunc(x/y)',
  4308. proname => 'numeric_div_trunc', prorettype => 'numeric',
  4309. proargtypes => 'numeric numeric', prosrc => 'numeric_div_trunc' },
  4310. { oid => '2170', descr => 'bucket number of operand in equal-width histogram',
  4311. proname => 'width_bucket', prorettype => 'int4',
  4312. proargtypes => 'numeric numeric numeric int4',
  4313. prosrc => 'width_bucket_numeric' },
  4314. { oid => '1747',
  4315. proname => 'time_pl_interval', prorettype => 'time',
  4316. proargtypes => 'time interval', prosrc => 'time_pl_interval' },
  4317. { oid => '1748',
  4318. proname => 'time_mi_interval', prorettype => 'time',
  4319. proargtypes => 'time interval', prosrc => 'time_mi_interval' },
  4320. { oid => '1749',
  4321. proname => 'timetz_pl_interval', prorettype => 'timetz',
  4322. proargtypes => 'timetz interval', prosrc => 'timetz_pl_interval' },
  4323. { oid => '1750',
  4324. proname => 'timetz_mi_interval', prorettype => 'timetz',
  4325. proargtypes => 'timetz interval', prosrc => 'timetz_mi_interval' },
  4326. { oid => '1764', descr => 'increment by one',
  4327. proname => 'numeric_inc', prorettype => 'numeric', proargtypes => 'numeric',
  4328. prosrc => 'numeric_inc' },
  4329. { oid => '1766', descr => 'smaller of two',
  4330. proname => 'numeric_smaller', prorettype => 'numeric',
  4331. proargtypes => 'numeric numeric', prosrc => 'numeric_smaller' },
  4332. { oid => '1767', descr => 'larger of two',
  4333. proname => 'numeric_larger', prorettype => 'numeric',
  4334. proargtypes => 'numeric numeric', prosrc => 'numeric_larger' },
  4335. { oid => '1769', descr => 'less-equal-greater',
  4336. proname => 'numeric_cmp', prorettype => 'int4',
  4337. proargtypes => 'numeric numeric', prosrc => 'numeric_cmp' },
  4338. { oid => '3283', descr => 'sort support',
  4339. proname => 'numeric_sortsupport', prorettype => 'void',
  4340. proargtypes => 'internal', prosrc => 'numeric_sortsupport' },
  4341. { oid => '1771',
  4342. proname => 'numeric_uminus', prorettype => 'numeric',
  4343. proargtypes => 'numeric', prosrc => 'numeric_uminus' },
  4344. { oid => '1779', descr => 'convert numeric to int8',
  4345. proname => 'int8', prorettype => 'int8', proargtypes => 'numeric',
  4346. prosrc => 'numeric_int8' },
  4347. { oid => '1781', descr => 'convert int8 to numeric',
  4348. proname => 'numeric', proleakproof => 't', prorettype => 'numeric',
  4349. proargtypes => 'int8', prosrc => 'int8_numeric' },
  4350. { oid => '1782', descr => 'convert int2 to numeric',
  4351. proname => 'numeric', proleakproof => 't', prorettype => 'numeric',
  4352. proargtypes => 'int2', prosrc => 'int2_numeric' },
  4353. { oid => '1783', descr => 'convert numeric to int2',
  4354. proname => 'int2', prorettype => 'int2', proargtypes => 'numeric',
  4355. prosrc => 'numeric_int2' },
  4356. { oid => '6103', descr => 'convert numeric to pg_lsn',
  4357. proname => 'pg_lsn', prorettype => 'pg_lsn', proargtypes => 'numeric',
  4358. prosrc => 'numeric_pg_lsn' },
  4359. { oid => '3556', descr => 'convert jsonb to boolean',
  4360. proname => 'bool', prorettype => 'bool', proargtypes => 'jsonb',
  4361. prosrc => 'jsonb_bool' },
  4362. { oid => '3449', descr => 'convert jsonb to numeric',
  4363. proname => 'numeric', prorettype => 'numeric', proargtypes => 'jsonb',
  4364. prosrc => 'jsonb_numeric' },
  4365. { oid => '3450', descr => 'convert jsonb to int2',
  4366. proname => 'int2', prorettype => 'int2', proargtypes => 'jsonb',
  4367. prosrc => 'jsonb_int2' },
  4368. { oid => '3451', descr => 'convert jsonb to int4',
  4369. proname => 'int4', prorettype => 'int4', proargtypes => 'jsonb',
  4370. prosrc => 'jsonb_int4' },
  4371. { oid => '3452', descr => 'convert jsonb to int8',
  4372. proname => 'int8', prorettype => 'int8', proargtypes => 'jsonb',
  4373. prosrc => 'jsonb_int8' },
  4374. { oid => '3453', descr => 'convert jsonb to float4',
  4375. proname => 'float4', prorettype => 'float4', proargtypes => 'jsonb',
  4376. prosrc => 'jsonb_float4' },
  4377. { oid => '2580', descr => 'convert jsonb to float8',
  4378. proname => 'float8', prorettype => 'float8', proargtypes => 'jsonb',
  4379. prosrc => 'jsonb_float8' },
  4380. # formatting
  4381. { oid => '1770', descr => 'format timestamp with time zone to text',
  4382. proname => 'to_char', provolatile => 's', prorettype => 'text',
  4383. proargtypes => 'timestamptz text', prosrc => 'timestamptz_to_char' },
  4384. { oid => '1772', descr => 'format numeric to text',
  4385. proname => 'to_char', provolatile => 's', prorettype => 'text',
  4386. proargtypes => 'numeric text', prosrc => 'numeric_to_char' },
  4387. { oid => '1773', descr => 'format int4 to text',
  4388. proname => 'to_char', provolatile => 's', prorettype => 'text',
  4389. proargtypes => 'int4 text', prosrc => 'int4_to_char' },
  4390. { oid => '1774', descr => 'format int8 to text',
  4391. proname => 'to_char', provolatile => 's', prorettype => 'text',
  4392. proargtypes => 'int8 text', prosrc => 'int8_to_char' },
  4393. { oid => '1775', descr => 'format float4 to text',
  4394. proname => 'to_char', provolatile => 's', prorettype => 'text',
  4395. proargtypes => 'float4 text', prosrc => 'float4_to_char' },
  4396. { oid => '1776', descr => 'format float8 to text',
  4397. proname => 'to_char', provolatile => 's', prorettype => 'text',
  4398. proargtypes => 'float8 text', prosrc => 'float8_to_char' },
  4399. { oid => '1777', descr => 'convert text to numeric',
  4400. proname => 'to_number', provolatile => 's', prorettype => 'numeric',
  4401. proargtypes => 'text text', prosrc => 'numeric_to_number' },
  4402. { oid => '1778', descr => 'convert text to timestamp with time zone',
  4403. proname => 'to_timestamp', provolatile => 's', prorettype => 'timestamptz',
  4404. proargtypes => 'text text', prosrc => 'to_timestamp' },
  4405. { oid => '1780', descr => 'convert text to date',
  4406. proname => 'to_date', provolatile => 's', prorettype => 'date',
  4407. proargtypes => 'text text', prosrc => 'to_date' },
  4408. { oid => '1768', descr => 'format interval to text',
  4409. proname => 'to_char', provolatile => 's', prorettype => 'text',
  4410. proargtypes => 'interval text', prosrc => 'interval_to_char' },
  4411. { oid => '1282', descr => 'quote an identifier for usage in a querystring',
  4412. proname => 'quote_ident', prorettype => 'text', proargtypes => 'text',
  4413. prosrc => 'quote_ident' },
  4414. { oid => '1283', descr => 'quote a literal for usage in a querystring',
  4415. proname => 'quote_literal', prorettype => 'text', proargtypes => 'text',
  4416. prosrc => 'quote_literal' },
  4417. { oid => '1285', descr => 'quote a data value for usage in a querystring',
  4418. proname => 'quote_literal', prolang => 'sql', provolatile => 's',
  4419. prorettype => 'text', proargtypes => 'anyelement',
  4420. prosrc => 'select pg_catalog.quote_literal($1::pg_catalog.text)' },
  4421. { oid => '1289',
  4422. descr => 'quote a possibly-null literal for usage in a querystring',
  4423. proname => 'quote_nullable', proisstrict => 'f', prorettype => 'text',
  4424. proargtypes => 'text', prosrc => 'quote_nullable' },
  4425. { oid => '1290',
  4426. descr => 'quote a possibly-null data value for usage in a querystring',
  4427. proname => 'quote_nullable', prolang => 'sql', proisstrict => 'f',
  4428. provolatile => 's', prorettype => 'text', proargtypes => 'anyelement',
  4429. prosrc => 'select pg_catalog.quote_nullable($1::pg_catalog.text)' },
  4430. { oid => '1798', descr => 'I/O',
  4431. proname => 'oidin', prorettype => 'oid', proargtypes => 'cstring',
  4432. prosrc => 'oidin' },
  4433. { oid => '1799', descr => 'I/O',
  4434. proname => 'oidout', prorettype => 'cstring', proargtypes => 'oid',
  4435. prosrc => 'oidout' },
  4436. { oid => '3058', descr => 'concatenate values',
  4437. proname => 'concat', provariadic => 'any', proisstrict => 'f',
  4438. provolatile => 's', prorettype => 'text', proargtypes => 'any',
  4439. proallargtypes => '{any}', proargmodes => '{v}', prosrc => 'text_concat' },
  4440. { oid => '3059', descr => 'concatenate values with separators',
  4441. proname => 'concat_ws', provariadic => 'any', proisstrict => 'f',
  4442. provolatile => 's', prorettype => 'text', proargtypes => 'text any',
  4443. proallargtypes => '{text,any}', proargmodes => '{i,v}',
  4444. prosrc => 'text_concat_ws' },
  4445. { oid => '3060', descr => 'extract the first n characters',
  4446. proname => 'left', prorettype => 'text', proargtypes => 'text int4',
  4447. prosrc => 'text_left' },
  4448. { oid => '3061', descr => 'extract the last n characters',
  4449. proname => 'right', prorettype => 'text', proargtypes => 'text int4',
  4450. prosrc => 'text_right' },
  4451. { oid => '3062', descr => 'reverse text',
  4452. proname => 'reverse', prorettype => 'text', proargtypes => 'text',
  4453. prosrc => 'text_reverse' },
  4454. { oid => '3539', descr => 'format text message',
  4455. proname => 'format', provariadic => 'any', proisstrict => 'f',
  4456. provolatile => 's', prorettype => 'text', proargtypes => 'text any',
  4457. proallargtypes => '{text,any}', proargmodes => '{i,v}',
  4458. prosrc => 'text_format' },
  4459. { oid => '3540', descr => 'format text message',
  4460. proname => 'format', proisstrict => 'f', provolatile => 's',
  4461. prorettype => 'text', proargtypes => 'text', prosrc => 'text_format_nv' },
  4462. { oid => '1810', descr => 'length in bits',
  4463. proname => 'bit_length', prolang => 'sql', prorettype => 'int4',
  4464. proargtypes => 'bytea', prosrc => 'see system_functions.sql' },
  4465. { oid => '1811', descr => 'length in bits',
  4466. proname => 'bit_length', prolang => 'sql', prorettype => 'int4',
  4467. proargtypes => 'text', prosrc => 'see system_functions.sql' },
  4468. { oid => '1812', descr => 'length in bits',
  4469. proname => 'bit_length', prolang => 'sql', prorettype => 'int4',
  4470. proargtypes => 'bit', prosrc => 'see system_functions.sql' },
  4471. # Selectivity estimators for LIKE and related operators
  4472. { oid => '1814', descr => 'restriction selectivity of ILIKE',
  4473. proname => 'iclikesel', provolatile => 's', prorettype => 'float8',
  4474. proargtypes => 'internal oid internal int4', prosrc => 'iclikesel' },
  4475. { oid => '1815', descr => 'restriction selectivity of NOT ILIKE',
  4476. proname => 'icnlikesel', provolatile => 's', prorettype => 'float8',
  4477. proargtypes => 'internal oid internal int4', prosrc => 'icnlikesel' },
  4478. { oid => '1816', descr => 'join selectivity of ILIKE',
  4479. proname => 'iclikejoinsel', provolatile => 's', prorettype => 'float8',
  4480. proargtypes => 'internal oid internal int2 internal',
  4481. prosrc => 'iclikejoinsel' },
  4482. { oid => '1817', descr => 'join selectivity of NOT ILIKE',
  4483. proname => 'icnlikejoinsel', provolatile => 's', prorettype => 'float8',
  4484. proargtypes => 'internal oid internal int2 internal',
  4485. prosrc => 'icnlikejoinsel' },
  4486. { oid => '1818', descr => 'restriction selectivity of regex match',
  4487. proname => 'regexeqsel', provolatile => 's', prorettype => 'float8',
  4488. proargtypes => 'internal oid internal int4', prosrc => 'regexeqsel' },
  4489. { oid => '1819', descr => 'restriction selectivity of LIKE',
  4490. proname => 'likesel', provolatile => 's', prorettype => 'float8',
  4491. proargtypes => 'internal oid internal int4', prosrc => 'likesel' },
  4492. { oid => '1820',
  4493. descr => 'restriction selectivity of case-insensitive regex match',
  4494. proname => 'icregexeqsel', provolatile => 's', prorettype => 'float8',
  4495. proargtypes => 'internal oid internal int4', prosrc => 'icregexeqsel' },
  4496. { oid => '1821', descr => 'restriction selectivity of regex non-match',
  4497. proname => 'regexnesel', provolatile => 's', prorettype => 'float8',
  4498. proargtypes => 'internal oid internal int4', prosrc => 'regexnesel' },
  4499. { oid => '1822', descr => 'restriction selectivity of NOT LIKE',
  4500. proname => 'nlikesel', provolatile => 's', prorettype => 'float8',
  4501. proargtypes => 'internal oid internal int4', prosrc => 'nlikesel' },
  4502. { oid => '1823',
  4503. descr => 'restriction selectivity of case-insensitive regex non-match',
  4504. proname => 'icregexnesel', provolatile => 's', prorettype => 'float8',
  4505. proargtypes => 'internal oid internal int4', prosrc => 'icregexnesel' },
  4506. { oid => '1824', descr => 'join selectivity of regex match',
  4507. proname => 'regexeqjoinsel', provolatile => 's', prorettype => 'float8',
  4508. proargtypes => 'internal oid internal int2 internal',
  4509. prosrc => 'regexeqjoinsel' },
  4510. { oid => '1825', descr => 'join selectivity of LIKE',
  4511. proname => 'likejoinsel', provolatile => 's', prorettype => 'float8',
  4512. proargtypes => 'internal oid internal int2 internal',
  4513. prosrc => 'likejoinsel' },
  4514. { oid => '1826', descr => 'join selectivity of case-insensitive regex match',
  4515. proname => 'icregexeqjoinsel', provolatile => 's', prorettype => 'float8',
  4516. proargtypes => 'internal oid internal int2 internal',
  4517. prosrc => 'icregexeqjoinsel' },
  4518. { oid => '1827', descr => 'join selectivity of regex non-match',
  4519. proname => 'regexnejoinsel', provolatile => 's', prorettype => 'float8',
  4520. proargtypes => 'internal oid internal int2 internal',
  4521. prosrc => 'regexnejoinsel' },
  4522. { oid => '1828', descr => 'join selectivity of NOT LIKE',
  4523. proname => 'nlikejoinsel', provolatile => 's', prorettype => 'float8',
  4524. proargtypes => 'internal oid internal int2 internal',
  4525. prosrc => 'nlikejoinsel' },
  4526. { oid => '1829',
  4527. descr => 'join selectivity of case-insensitive regex non-match',
  4528. proname => 'icregexnejoinsel', provolatile => 's', prorettype => 'float8',
  4529. proargtypes => 'internal oid internal int2 internal',
  4530. prosrc => 'icregexnejoinsel' },
  4531. { oid => '3437', descr => 'restriction selectivity of exact prefix',
  4532. proname => 'prefixsel', provolatile => 's', prorettype => 'float8',
  4533. proargtypes => 'internal oid internal int4', prosrc => 'prefixsel' },
  4534. { oid => '3438', descr => 'join selectivity of exact prefix',
  4535. proname => 'prefixjoinsel', provolatile => 's', prorettype => 'float8',
  4536. proargtypes => 'internal oid internal int2 internal',
  4537. prosrc => 'prefixjoinsel' },
  4538. # Aggregate-related functions
  4539. { oid => '1830', descr => 'aggregate final function',
  4540. proname => 'float8_avg', prorettype => 'float8', proargtypes => '_float8',
  4541. prosrc => 'float8_avg' },
  4542. { oid => '2512', descr => 'aggregate final function',
  4543. proname => 'float8_var_pop', prorettype => 'float8', proargtypes => '_float8',
  4544. prosrc => 'float8_var_pop' },
  4545. { oid => '1831', descr => 'aggregate final function',
  4546. proname => 'float8_var_samp', prorettype => 'float8',
  4547. proargtypes => '_float8', prosrc => 'float8_var_samp' },
  4548. { oid => '2513', descr => 'aggregate final function',
  4549. proname => 'float8_stddev_pop', prorettype => 'float8',
  4550. proargtypes => '_float8', prosrc => 'float8_stddev_pop' },
  4551. { oid => '1832', descr => 'aggregate final function',
  4552. proname => 'float8_stddev_samp', prorettype => 'float8',
  4553. proargtypes => '_float8', prosrc => 'float8_stddev_samp' },
  4554. { oid => '1833', descr => 'aggregate transition function',
  4555. proname => 'numeric_accum', proisstrict => 'f', prorettype => 'internal',
  4556. proargtypes => 'internal numeric', prosrc => 'numeric_accum' },
  4557. { oid => '3341', descr => 'aggregate combine function',
  4558. proname => 'numeric_combine', proisstrict => 'f', prorettype => 'internal',
  4559. proargtypes => 'internal internal', prosrc => 'numeric_combine' },
  4560. { oid => '2858', descr => 'aggregate transition function',
  4561. proname => 'numeric_avg_accum', proisstrict => 'f', prorettype => 'internal',
  4562. proargtypes => 'internal numeric', prosrc => 'numeric_avg_accum' },
  4563. { oid => '3337', descr => 'aggregate combine function',
  4564. proname => 'numeric_avg_combine', proisstrict => 'f',
  4565. prorettype => 'internal', proargtypes => 'internal internal',
  4566. prosrc => 'numeric_avg_combine' },
  4567. { oid => '2740', descr => 'aggregate serial function',
  4568. proname => 'numeric_avg_serialize', prorettype => 'bytea',
  4569. proargtypes => 'internal', prosrc => 'numeric_avg_serialize' },
  4570. { oid => '2741', descr => 'aggregate deserial function',
  4571. proname => 'numeric_avg_deserialize', prorettype => 'internal',
  4572. proargtypes => 'bytea internal', prosrc => 'numeric_avg_deserialize' },
  4573. { oid => '3335', descr => 'aggregate serial function',
  4574. proname => 'numeric_serialize', prorettype => 'bytea',
  4575. proargtypes => 'internal', prosrc => 'numeric_serialize' },
  4576. { oid => '3336', descr => 'aggregate deserial function',
  4577. proname => 'numeric_deserialize', prorettype => 'internal',
  4578. proargtypes => 'bytea internal', prosrc => 'numeric_deserialize' },
  4579. { oid => '3548', descr => 'aggregate transition function',
  4580. proname => 'numeric_accum_inv', proisstrict => 'f', prorettype => 'internal',
  4581. proargtypes => 'internal numeric', prosrc => 'numeric_accum_inv' },
  4582. { oid => '1834', descr => 'aggregate transition function',
  4583. proname => 'int2_accum', proisstrict => 'f', prorettype => 'internal',
  4584. proargtypes => 'internal int2', prosrc => 'int2_accum' },
  4585. { oid => '1835', descr => 'aggregate transition function',
  4586. proname => 'int4_accum', proisstrict => 'f', prorettype => 'internal',
  4587. proargtypes => 'internal int4', prosrc => 'int4_accum' },
  4588. { oid => '1836', descr => 'aggregate transition function',
  4589. proname => 'int8_accum', proisstrict => 'f', prorettype => 'internal',
  4590. proargtypes => 'internal int8', prosrc => 'int8_accum' },
  4591. { oid => '3338', descr => 'aggregate combine function',
  4592. proname => 'numeric_poly_combine', proisstrict => 'f',
  4593. prorettype => 'internal', proargtypes => 'internal internal',
  4594. prosrc => 'numeric_poly_combine' },
  4595. { oid => '3339', descr => 'aggregate serial function',
  4596. proname => 'numeric_poly_serialize', prorettype => 'bytea',
  4597. proargtypes => 'internal', prosrc => 'numeric_poly_serialize' },
  4598. { oid => '3340', descr => 'aggregate deserial function',
  4599. proname => 'numeric_poly_deserialize', prorettype => 'internal',
  4600. proargtypes => 'bytea internal', prosrc => 'numeric_poly_deserialize' },
  4601. { oid => '2746', descr => 'aggregate transition function',
  4602. proname => 'int8_avg_accum', proisstrict => 'f', prorettype => 'internal',
  4603. proargtypes => 'internal int8', prosrc => 'int8_avg_accum' },
  4604. { oid => '3567', descr => 'aggregate transition function',
  4605. proname => 'int2_accum_inv', proisstrict => 'f', prorettype => 'internal',
  4606. proargtypes => 'internal int2', prosrc => 'int2_accum_inv' },
  4607. { oid => '3568', descr => 'aggregate transition function',
  4608. proname => 'int4_accum_inv', proisstrict => 'f', prorettype => 'internal',
  4609. proargtypes => 'internal int4', prosrc => 'int4_accum_inv' },
  4610. { oid => '3569', descr => 'aggregate transition function',
  4611. proname => 'int8_accum_inv', proisstrict => 'f', prorettype => 'internal',
  4612. proargtypes => 'internal int8', prosrc => 'int8_accum_inv' },
  4613. { oid => '3387', descr => 'aggregate transition function',
  4614. proname => 'int8_avg_accum_inv', proisstrict => 'f', prorettype => 'internal',
  4615. proargtypes => 'internal int8', prosrc => 'int8_avg_accum_inv' },
  4616. { oid => '2785', descr => 'aggregate combine function',
  4617. proname => 'int8_avg_combine', proisstrict => 'f', prorettype => 'internal',
  4618. proargtypes => 'internal internal', prosrc => 'int8_avg_combine' },
  4619. { oid => '2786', descr => 'aggregate serial function',
  4620. proname => 'int8_avg_serialize', prorettype => 'bytea',
  4621. proargtypes => 'internal', prosrc => 'int8_avg_serialize' },
  4622. { oid => '2787', descr => 'aggregate deserial function',
  4623. proname => 'int8_avg_deserialize', prorettype => 'internal',
  4624. proargtypes => 'bytea internal', prosrc => 'int8_avg_deserialize' },
  4625. { oid => '3324', descr => 'aggregate combine function',
  4626. proname => 'int4_avg_combine', prorettype => '_int8',
  4627. proargtypes => '_int8 _int8', prosrc => 'int4_avg_combine' },
  4628. { oid => '3178', descr => 'aggregate final function',
  4629. proname => 'numeric_sum', proisstrict => 'f', prorettype => 'numeric',
  4630. proargtypes => 'internal', prosrc => 'numeric_sum' },
  4631. { oid => '1837', descr => 'aggregate final function',
  4632. proname => 'numeric_avg', proisstrict => 'f', prorettype => 'numeric',
  4633. proargtypes => 'internal', prosrc => 'numeric_avg' },
  4634. { oid => '2514', descr => 'aggregate final function',
  4635. proname => 'numeric_var_pop', proisstrict => 'f', prorettype => 'numeric',
  4636. proargtypes => 'internal', prosrc => 'numeric_var_pop' },
  4637. { oid => '1838', descr => 'aggregate final function',
  4638. proname => 'numeric_var_samp', proisstrict => 'f', prorettype => 'numeric',
  4639. proargtypes => 'internal', prosrc => 'numeric_var_samp' },
  4640. { oid => '2596', descr => 'aggregate final function',
  4641. proname => 'numeric_stddev_pop', proisstrict => 'f', prorettype => 'numeric',
  4642. proargtypes => 'internal', prosrc => 'numeric_stddev_pop' },
  4643. { oid => '1839', descr => 'aggregate final function',
  4644. proname => 'numeric_stddev_samp', proisstrict => 'f', prorettype => 'numeric',
  4645. proargtypes => 'internal', prosrc => 'numeric_stddev_samp' },
  4646. { oid => '1840', descr => 'aggregate transition function',
  4647. proname => 'int2_sum', proisstrict => 'f', prorettype => 'int8',
  4648. proargtypes => 'int8 int2', prosrc => 'int2_sum' },
  4649. { oid => '1841', descr => 'aggregate transition function',
  4650. proname => 'int4_sum', proisstrict => 'f', prorettype => 'int8',
  4651. proargtypes => 'int8 int4', prosrc => 'int4_sum' },
  4652. { oid => '1842', descr => 'aggregate transition function',
  4653. proname => 'int8_sum', proisstrict => 'f', prorettype => 'numeric',
  4654. proargtypes => 'numeric int8', prosrc => 'int8_sum' },
  4655. { oid => '3388', descr => 'aggregate final function',
  4656. proname => 'numeric_poly_sum', proisstrict => 'f', prorettype => 'numeric',
  4657. proargtypes => 'internal', prosrc => 'numeric_poly_sum' },
  4658. { oid => '3389', descr => 'aggregate final function',
  4659. proname => 'numeric_poly_avg', proisstrict => 'f', prorettype => 'numeric',
  4660. proargtypes => 'internal', prosrc => 'numeric_poly_avg' },
  4661. { oid => '3390', descr => 'aggregate final function',
  4662. proname => 'numeric_poly_var_pop', proisstrict => 'f',
  4663. prorettype => 'numeric', proargtypes => 'internal',
  4664. prosrc => 'numeric_poly_var_pop' },
  4665. { oid => '3391', descr => 'aggregate final function',
  4666. proname => 'numeric_poly_var_samp', proisstrict => 'f',
  4667. prorettype => 'numeric', proargtypes => 'internal',
  4668. prosrc => 'numeric_poly_var_samp' },
  4669. { oid => '3392', descr => 'aggregate final function',
  4670. proname => 'numeric_poly_stddev_pop', proisstrict => 'f',
  4671. prorettype => 'numeric', proargtypes => 'internal',
  4672. prosrc => 'numeric_poly_stddev_pop' },
  4673. { oid => '3393', descr => 'aggregate final function',
  4674. proname => 'numeric_poly_stddev_samp', proisstrict => 'f',
  4675. prorettype => 'numeric', proargtypes => 'internal',
  4676. prosrc => 'numeric_poly_stddev_samp' },
  4677. { oid => '1843', descr => 'aggregate transition function',
  4678. proname => 'interval_accum', prorettype => '_interval',
  4679. proargtypes => '_interval interval', prosrc => 'interval_accum' },
  4680. { oid => '3325', descr => 'aggregate combine function',
  4681. proname => 'interval_combine', prorettype => '_interval',
  4682. proargtypes => '_interval _interval', prosrc => 'interval_combine' },
  4683. { oid => '3549', descr => 'aggregate transition function',
  4684. proname => 'interval_accum_inv', prorettype => '_interval',
  4685. proargtypes => '_interval interval', prosrc => 'interval_accum_inv' },
  4686. { oid => '1844', descr => 'aggregate final function',
  4687. proname => 'interval_avg', prorettype => 'interval',
  4688. proargtypes => '_interval', prosrc => 'interval_avg' },
  4689. { oid => '1962', descr => 'aggregate transition function',
  4690. proname => 'int2_avg_accum', prorettype => '_int8',
  4691. proargtypes => '_int8 int2', prosrc => 'int2_avg_accum' },
  4692. { oid => '1963', descr => 'aggregate transition function',
  4693. proname => 'int4_avg_accum', prorettype => '_int8',
  4694. proargtypes => '_int8 int4', prosrc => 'int4_avg_accum' },
  4695. { oid => '3570', descr => 'aggregate transition function',
  4696. proname => 'int2_avg_accum_inv', prorettype => '_int8',
  4697. proargtypes => '_int8 int2', prosrc => 'int2_avg_accum_inv' },
  4698. { oid => '3571', descr => 'aggregate transition function',
  4699. proname => 'int4_avg_accum_inv', prorettype => '_int8',
  4700. proargtypes => '_int8 int4', prosrc => 'int4_avg_accum_inv' },
  4701. { oid => '1964', descr => 'aggregate final function',
  4702. proname => 'int8_avg', prorettype => 'numeric', proargtypes => '_int8',
  4703. prosrc => 'int8_avg' },
  4704. { oid => '3572', descr => 'aggregate final function',
  4705. proname => 'int2int4_sum', prorettype => 'int8', proargtypes => '_int8',
  4706. prosrc => 'int2int4_sum' },
  4707. { oid => '2805', descr => 'aggregate transition function',
  4708. proname => 'int8inc_float8_float8', prorettype => 'int8',
  4709. proargtypes => 'int8 float8 float8', prosrc => 'int8inc_float8_float8' },
  4710. { oid => '2806', descr => 'aggregate transition function',
  4711. proname => 'float8_regr_accum', prorettype => '_float8',
  4712. proargtypes => '_float8 float8 float8', prosrc => 'float8_regr_accum' },
  4713. { oid => '3342', descr => 'aggregate combine function',
  4714. proname => 'float8_regr_combine', prorettype => '_float8',
  4715. proargtypes => '_float8 _float8', prosrc => 'float8_regr_combine' },
  4716. { oid => '2807', descr => 'aggregate final function',
  4717. proname => 'float8_regr_sxx', prorettype => 'float8',
  4718. proargtypes => '_float8', prosrc => 'float8_regr_sxx' },
  4719. { oid => '2808', descr => 'aggregate final function',
  4720. proname => 'float8_regr_syy', prorettype => 'float8',
  4721. proargtypes => '_float8', prosrc => 'float8_regr_syy' },
  4722. { oid => '2809', descr => 'aggregate final function',
  4723. proname => 'float8_regr_sxy', prorettype => 'float8',
  4724. proargtypes => '_float8', prosrc => 'float8_regr_sxy' },
  4725. { oid => '2810', descr => 'aggregate final function',
  4726. proname => 'float8_regr_avgx', prorettype => 'float8',
  4727. proargtypes => '_float8', prosrc => 'float8_regr_avgx' },
  4728. { oid => '2811', descr => 'aggregate final function',
  4729. proname => 'float8_regr_avgy', prorettype => 'float8',
  4730. proargtypes => '_float8', prosrc => 'float8_regr_avgy' },
  4731. { oid => '2812', descr => 'aggregate final function',
  4732. proname => 'float8_regr_r2', prorettype => 'float8', proargtypes => '_float8',
  4733. prosrc => 'float8_regr_r2' },
  4734. { oid => '2813', descr => 'aggregate final function',
  4735. proname => 'float8_regr_slope', prorettype => 'float8',
  4736. proargtypes => '_float8', prosrc => 'float8_regr_slope' },
  4737. { oid => '2814', descr => 'aggregate final function',
  4738. proname => 'float8_regr_intercept', prorettype => 'float8',
  4739. proargtypes => '_float8', prosrc => 'float8_regr_intercept' },
  4740. { oid => '2815', descr => 'aggregate final function',
  4741. proname => 'float8_covar_pop', prorettype => 'float8',
  4742. proargtypes => '_float8', prosrc => 'float8_covar_pop' },
  4743. { oid => '2816', descr => 'aggregate final function',
  4744. proname => 'float8_covar_samp', prorettype => 'float8',
  4745. proargtypes => '_float8', prosrc => 'float8_covar_samp' },
  4746. { oid => '2817', descr => 'aggregate final function',
  4747. proname => 'float8_corr', prorettype => 'float8', proargtypes => '_float8',
  4748. prosrc => 'float8_corr' },
  4749. { oid => '3535', descr => 'aggregate transition function',
  4750. proname => 'string_agg_transfn', proisstrict => 'f', prorettype => 'internal',
  4751. proargtypes => 'internal text text', prosrc => 'string_agg_transfn' },
  4752. { oid => '6299', descr => 'aggregate combine function',
  4753. proname => 'string_agg_combine', proisstrict => 'f', prorettype => 'internal',
  4754. proargtypes => 'internal internal', prosrc => 'string_agg_combine' },
  4755. { oid => '6300', descr => 'aggregate serial function',
  4756. proname => 'string_agg_serialize', prorettype => 'bytea',
  4757. proargtypes => 'internal', prosrc => 'string_agg_serialize' },
  4758. { oid => '6301', descr => 'aggregate deserial function',
  4759. proname => 'string_agg_deserialize', prorettype => 'internal',
  4760. proargtypes => 'bytea internal', prosrc => 'string_agg_deserialize' },
  4761. { oid => '3536', descr => 'aggregate final function',
  4762. proname => 'string_agg_finalfn', proisstrict => 'f', prorettype => 'text',
  4763. proargtypes => 'internal', prosrc => 'string_agg_finalfn' },
  4764. { oid => '3538', descr => 'concatenate aggregate input into a string',
  4765. proname => 'string_agg', prokind => 'a', proisstrict => 'f',
  4766. prorettype => 'text', proargtypes => 'text text',
  4767. prosrc => 'aggregate_dummy' },
  4768. { oid => '3543', descr => 'aggregate transition function',
  4769. proname => 'bytea_string_agg_transfn', proisstrict => 'f',
  4770. prorettype => 'internal', proargtypes => 'internal bytea bytea',
  4771. prosrc => 'bytea_string_agg_transfn' },
  4772. { oid => '3544', descr => 'aggregate final function',
  4773. proname => 'bytea_string_agg_finalfn', proisstrict => 'f',
  4774. prorettype => 'bytea', proargtypes => 'internal',
  4775. prosrc => 'bytea_string_agg_finalfn' },
  4776. { oid => '3545', descr => 'concatenate aggregate input into a bytea',
  4777. proname => 'string_agg', prokind => 'a', proisstrict => 'f',
  4778. prorettype => 'bytea', proargtypes => 'bytea bytea',
  4779. prosrc => 'aggregate_dummy' },
  4780. # To ASCII conversion
  4781. { oid => '1845', descr => 'encode text from DB encoding to ASCII text',
  4782. proname => 'to_ascii', prorettype => 'text', proargtypes => 'text',
  4783. prosrc => 'to_ascii_default' },
  4784. { oid => '1846', descr => 'encode text from encoding to ASCII text',
  4785. proname => 'to_ascii', prorettype => 'text', proargtypes => 'text int4',
  4786. prosrc => 'to_ascii_enc' },
  4787. { oid => '1847', descr => 'encode text from encoding to ASCII text',
  4788. proname => 'to_ascii', prorettype => 'text', proargtypes => 'text name',
  4789. prosrc => 'to_ascii_encname' },
  4790. { oid => '1848',
  4791. proname => 'interval_pl_time', prolang => 'sql', prorettype => 'time',
  4792. proargtypes => 'interval time', prosrc => 'see system_functions.sql' },
  4793. { oid => '1850',
  4794. proname => 'int28eq', proleakproof => 't', prorettype => 'bool',
  4795. proargtypes => 'int2 int8', prosrc => 'int28eq' },
  4796. { oid => '1851',
  4797. proname => 'int28ne', proleakproof => 't', prorettype => 'bool',
  4798. proargtypes => 'int2 int8', prosrc => 'int28ne' },
  4799. { oid => '1852',
  4800. proname => 'int28lt', proleakproof => 't', prorettype => 'bool',
  4801. proargtypes => 'int2 int8', prosrc => 'int28lt' },
  4802. { oid => '1853',
  4803. proname => 'int28gt', proleakproof => 't', prorettype => 'bool',
  4804. proargtypes => 'int2 int8', prosrc => 'int28gt' },
  4805. { oid => '1854',
  4806. proname => 'int28le', proleakproof => 't', prorettype => 'bool',
  4807. proargtypes => 'int2 int8', prosrc => 'int28le' },
  4808. { oid => '1855',
  4809. proname => 'int28ge', proleakproof => 't', prorettype => 'bool',
  4810. proargtypes => 'int2 int8', prosrc => 'int28ge' },
  4811. { oid => '1856',
  4812. proname => 'int82eq', proleakproof => 't', prorettype => 'bool',
  4813. proargtypes => 'int8 int2', prosrc => 'int82eq' },
  4814. { oid => '1857',
  4815. proname => 'int82ne', proleakproof => 't', prorettype => 'bool',
  4816. proargtypes => 'int8 int2', prosrc => 'int82ne' },
  4817. { oid => '1858',
  4818. proname => 'int82lt', proleakproof => 't', prorettype => 'bool',
  4819. proargtypes => 'int8 int2', prosrc => 'int82lt' },
  4820. { oid => '1859',
  4821. proname => 'int82gt', proleakproof => 't', prorettype => 'bool',
  4822. proargtypes => 'int8 int2', prosrc => 'int82gt' },
  4823. { oid => '1860',
  4824. proname => 'int82le', proleakproof => 't', prorettype => 'bool',
  4825. proargtypes => 'int8 int2', prosrc => 'int82le' },
  4826. { oid => '1861',
  4827. proname => 'int82ge', proleakproof => 't', prorettype => 'bool',
  4828. proargtypes => 'int8 int2', prosrc => 'int82ge' },
  4829. { oid => '1892',
  4830. proname => 'int2and', prorettype => 'int2', proargtypes => 'int2 int2',
  4831. prosrc => 'int2and' },
  4832. { oid => '1893',
  4833. proname => 'int2or', prorettype => 'int2', proargtypes => 'int2 int2',
  4834. prosrc => 'int2or' },
  4835. { oid => '1894',
  4836. proname => 'int2xor', prorettype => 'int2', proargtypes => 'int2 int2',
  4837. prosrc => 'int2xor' },
  4838. { oid => '1895',
  4839. proname => 'int2not', prorettype => 'int2', proargtypes => 'int2',
  4840. prosrc => 'int2not' },
  4841. { oid => '1896',
  4842. proname => 'int2shl', prorettype => 'int2', proargtypes => 'int2 int4',
  4843. prosrc => 'int2shl' },
  4844. { oid => '1897',
  4845. proname => 'int2shr', prorettype => 'int2', proargtypes => 'int2 int4',
  4846. prosrc => 'int2shr' },
  4847. { oid => '1898',
  4848. proname => 'int4and', prorettype => 'int4', proargtypes => 'int4 int4',
  4849. prosrc => 'int4and' },
  4850. { oid => '1899',
  4851. proname => 'int4or', prorettype => 'int4', proargtypes => 'int4 int4',
  4852. prosrc => 'int4or' },
  4853. { oid => '1900',
  4854. proname => 'int4xor', prorettype => 'int4', proargtypes => 'int4 int4',
  4855. prosrc => 'int4xor' },
  4856. { oid => '1901',
  4857. proname => 'int4not', prorettype => 'int4', proargtypes => 'int4',
  4858. prosrc => 'int4not' },
  4859. { oid => '1902',
  4860. proname => 'int4shl', prorettype => 'int4', proargtypes => 'int4 int4',
  4861. prosrc => 'int4shl' },
  4862. { oid => '1903',
  4863. proname => 'int4shr', prorettype => 'int4', proargtypes => 'int4 int4',
  4864. prosrc => 'int4shr' },
  4865. { oid => '1904',
  4866. proname => 'int8and', prorettype => 'int8', proargtypes => 'int8 int8',
  4867. prosrc => 'int8and' },
  4868. { oid => '1905',
  4869. proname => 'int8or', prorettype => 'int8', proargtypes => 'int8 int8',
  4870. prosrc => 'int8or' },
  4871. { oid => '1906',
  4872. proname => 'int8xor', prorettype => 'int8', proargtypes => 'int8 int8',
  4873. prosrc => 'int8xor' },
  4874. { oid => '1907',
  4875. proname => 'int8not', prorettype => 'int8', proargtypes => 'int8',
  4876. prosrc => 'int8not' },
  4877. { oid => '1908',
  4878. proname => 'int8shl', prorettype => 'int8', proargtypes => 'int8 int4',
  4879. prosrc => 'int8shl' },
  4880. { oid => '1909',
  4881. proname => 'int8shr', prorettype => 'int8', proargtypes => 'int8 int4',
  4882. prosrc => 'int8shr' },
  4883. { oid => '1910',
  4884. proname => 'int8up', prorettype => 'int8', proargtypes => 'int8',
  4885. prosrc => 'int8up' },
  4886. { oid => '1911',
  4887. proname => 'int2up', prorettype => 'int2', proargtypes => 'int2',
  4888. prosrc => 'int2up' },
  4889. { oid => '1912',
  4890. proname => 'int4up', prorettype => 'int4', proargtypes => 'int4',
  4891. prosrc => 'int4up' },
  4892. { oid => '1913',
  4893. proname => 'float4up', prorettype => 'float4', proargtypes => 'float4',
  4894. prosrc => 'float4up' },
  4895. { oid => '1914',
  4896. proname => 'float8up', prorettype => 'float8', proargtypes => 'float8',
  4897. prosrc => 'float8up' },
  4898. { oid => '1915',
  4899. proname => 'numeric_uplus', prorettype => 'numeric', proargtypes => 'numeric',
  4900. prosrc => 'numeric_uplus' },
  4901. { oid => '1922', descr => 'user privilege on relation by username, rel name',
  4902. proname => 'has_table_privilege', provolatile => 's', prorettype => 'bool',
  4903. proargtypes => 'name text text', prosrc => 'has_table_privilege_name_name' },
  4904. { oid => '1923', descr => 'user privilege on relation by username, rel oid',
  4905. proname => 'has_table_privilege', provolatile => 's', prorettype => 'bool',
  4906. proargtypes => 'name oid text', prosrc => 'has_table_privilege_name_id' },
  4907. { oid => '1924', descr => 'user privilege on relation by user oid, rel name',
  4908. proname => 'has_table_privilege', provolatile => 's', prorettype => 'bool',
  4909. proargtypes => 'oid text text', prosrc => 'has_table_privilege_id_name' },
  4910. { oid => '1925', descr => 'user privilege on relation by user oid, rel oid',
  4911. proname => 'has_table_privilege', provolatile => 's', prorettype => 'bool',
  4912. proargtypes => 'oid oid text', prosrc => 'has_table_privilege_id_id' },
  4913. { oid => '1926', descr => 'current user privilege on relation by rel name',
  4914. proname => 'has_table_privilege', provolatile => 's', prorettype => 'bool',
  4915. proargtypes => 'text text', prosrc => 'has_table_privilege_name' },
  4916. { oid => '1927', descr => 'current user privilege on relation by rel oid',
  4917. proname => 'has_table_privilege', provolatile => 's', prorettype => 'bool',
  4918. proargtypes => 'oid text', prosrc => 'has_table_privilege_id' },
  4919. { oid => '2181', descr => 'user privilege on sequence by username, seq name',
  4920. proname => 'has_sequence_privilege', provolatile => 's', prorettype => 'bool',
  4921. proargtypes => 'name text text',
  4922. prosrc => 'has_sequence_privilege_name_name' },
  4923. { oid => '2182', descr => 'user privilege on sequence by username, seq oid',
  4924. proname => 'has_sequence_privilege', provolatile => 's', prorettype => 'bool',
  4925. proargtypes => 'name oid text', prosrc => 'has_sequence_privilege_name_id' },
  4926. { oid => '2183', descr => 'user privilege on sequence by user oid, seq name',
  4927. proname => 'has_sequence_privilege', provolatile => 's', prorettype => 'bool',
  4928. proargtypes => 'oid text text', prosrc => 'has_sequence_privilege_id_name' },
  4929. { oid => '2184', descr => 'user privilege on sequence by user oid, seq oid',
  4930. proname => 'has_sequence_privilege', provolatile => 's', prorettype => 'bool',
  4931. proargtypes => 'oid oid text', prosrc => 'has_sequence_privilege_id_id' },
  4932. { oid => '2185', descr => 'current user privilege on sequence by seq name',
  4933. proname => 'has_sequence_privilege', provolatile => 's', prorettype => 'bool',
  4934. proargtypes => 'text text', prosrc => 'has_sequence_privilege_name' },
  4935. { oid => '2186', descr => 'current user privilege on sequence by seq oid',
  4936. proname => 'has_sequence_privilege', provolatile => 's', prorettype => 'bool',
  4937. proargtypes => 'oid text', prosrc => 'has_sequence_privilege_id' },
  4938. { oid => '3012',
  4939. descr => 'user privilege on column by username, rel name, col name',
  4940. proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool',
  4941. proargtypes => 'name text text text',
  4942. prosrc => 'has_column_privilege_name_name_name' },
  4943. { oid => '3013',
  4944. descr => 'user privilege on column by username, rel name, col attnum',
  4945. proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool',
  4946. proargtypes => 'name text int2 text',
  4947. prosrc => 'has_column_privilege_name_name_attnum' },
  4948. { oid => '3014',
  4949. descr => 'user privilege on column by username, rel oid, col name',
  4950. proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool',
  4951. proargtypes => 'name oid text text',
  4952. prosrc => 'has_column_privilege_name_id_name' },
  4953. { oid => '3015',
  4954. descr => 'user privilege on column by username, rel oid, col attnum',
  4955. proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool',
  4956. proargtypes => 'name oid int2 text',
  4957. prosrc => 'has_column_privilege_name_id_attnum' },
  4958. { oid => '3016',
  4959. descr => 'user privilege on column by user oid, rel name, col name',
  4960. proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool',
  4961. proargtypes => 'oid text text text',
  4962. prosrc => 'has_column_privilege_id_name_name' },
  4963. { oid => '3017',
  4964. descr => 'user privilege on column by user oid, rel name, col attnum',
  4965. proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool',
  4966. proargtypes => 'oid text int2 text',
  4967. prosrc => 'has_column_privilege_id_name_attnum' },
  4968. { oid => '3018',
  4969. descr => 'user privilege on column by user oid, rel oid, col name',
  4970. proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool',
  4971. proargtypes => 'oid oid text text',
  4972. prosrc => 'has_column_privilege_id_id_name' },
  4973. { oid => '3019',
  4974. descr => 'user privilege on column by user oid, rel oid, col attnum',
  4975. proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool',
  4976. proargtypes => 'oid oid int2 text',
  4977. prosrc => 'has_column_privilege_id_id_attnum' },
  4978. { oid => '3020',
  4979. descr => 'current user privilege on column by rel name, col name',
  4980. proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool',
  4981. proargtypes => 'text text text', prosrc => 'has_column_privilege_name_name' },
  4982. { oid => '3021',
  4983. descr => 'current user privilege on column by rel name, col attnum',
  4984. proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool',
  4985. proargtypes => 'text int2 text',
  4986. prosrc => 'has_column_privilege_name_attnum' },
  4987. { oid => '3022',
  4988. descr => 'current user privilege on column by rel oid, col name',
  4989. proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool',
  4990. proargtypes => 'oid text text', prosrc => 'has_column_privilege_id_name' },
  4991. { oid => '3023',
  4992. descr => 'current user privilege on column by rel oid, col attnum',
  4993. proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool',
  4994. proargtypes => 'oid int2 text', prosrc => 'has_column_privilege_id_attnum' },
  4995. { oid => '3024',
  4996. descr => 'user privilege on any column by username, rel name',
  4997. proname => 'has_any_column_privilege', procost => '10', provolatile => 's',
  4998. prorettype => 'bool', proargtypes => 'name text text',
  4999. prosrc => 'has_any_column_privilege_name_name' },
  5000. { oid => '3025', descr => 'user privilege on any column by username, rel oid',
  5001. proname => 'has_any_column_privilege', procost => '10', provolatile => 's',
  5002. prorettype => 'bool', proargtypes => 'name oid text',
  5003. prosrc => 'has_any_column_privilege_name_id' },
  5004. { oid => '3026',
  5005. descr => 'user privilege on any column by user oid, rel name',
  5006. proname => 'has_any_column_privilege', procost => '10', provolatile => 's',
  5007. prorettype => 'bool', proargtypes => 'oid text text',
  5008. prosrc => 'has_any_column_privilege_id_name' },
  5009. { oid => '3027', descr => 'user privilege on any column by user oid, rel oid',
  5010. proname => 'has_any_column_privilege', procost => '10', provolatile => 's',
  5011. prorettype => 'bool', proargtypes => 'oid oid text',
  5012. prosrc => 'has_any_column_privilege_id_id' },
  5013. { oid => '3028', descr => 'current user privilege on any column by rel name',
  5014. proname => 'has_any_column_privilege', procost => '10', provolatile => 's',
  5015. prorettype => 'bool', proargtypes => 'text text',
  5016. prosrc => 'has_any_column_privilege_name' },
  5017. { oid => '3029', descr => 'current user privilege on any column by rel oid',
  5018. proname => 'has_any_column_privilege', procost => '10', provolatile => 's',
  5019. prorettype => 'bool', proargtypes => 'oid text',
  5020. prosrc => 'has_any_column_privilege_id' },
  5021. { oid => '3355', descr => 'I/O',
  5022. proname => 'pg_ndistinct_in', prorettype => 'pg_ndistinct',
  5023. proargtypes => 'cstring', prosrc => 'pg_ndistinct_in' },
  5024. { oid => '3356', descr => 'I/O',
  5025. proname => 'pg_ndistinct_out', prorettype => 'cstring',
  5026. proargtypes => 'pg_ndistinct', prosrc => 'pg_ndistinct_out' },
  5027. { oid => '3357', descr => 'I/O',
  5028. proname => 'pg_ndistinct_recv', provolatile => 's',
  5029. prorettype => 'pg_ndistinct', proargtypes => 'internal',
  5030. prosrc => 'pg_ndistinct_recv' },
  5031. { oid => '3358', descr => 'I/O',
  5032. proname => 'pg_ndistinct_send', provolatile => 's', prorettype => 'bytea',
  5033. proargtypes => 'pg_ndistinct', prosrc => 'pg_ndistinct_send' },
  5034. { oid => '3404', descr => 'I/O',
  5035. proname => 'pg_dependencies_in', prorettype => 'pg_dependencies',
  5036. proargtypes => 'cstring', prosrc => 'pg_dependencies_in' },
  5037. { oid => '3405', descr => 'I/O',
  5038. proname => 'pg_dependencies_out', prorettype => 'cstring',
  5039. proargtypes => 'pg_dependencies', prosrc => 'pg_dependencies_out' },
  5040. { oid => '3406', descr => 'I/O',
  5041. proname => 'pg_dependencies_recv', provolatile => 's',
  5042. prorettype => 'pg_dependencies', proargtypes => 'internal',
  5043. prosrc => 'pg_dependencies_recv' },
  5044. { oid => '3407', descr => 'I/O',
  5045. proname => 'pg_dependencies_send', provolatile => 's', prorettype => 'bytea',
  5046. proargtypes => 'pg_dependencies', prosrc => 'pg_dependencies_send' },
  5047. { oid => '5018', descr => 'I/O',
  5048. proname => 'pg_mcv_list_in', prorettype => 'pg_mcv_list',
  5049. proargtypes => 'cstring', prosrc => 'pg_mcv_list_in' },
  5050. { oid => '5019', descr => 'I/O',
  5051. proname => 'pg_mcv_list_out', prorettype => 'cstring',
  5052. proargtypes => 'pg_mcv_list', prosrc => 'pg_mcv_list_out' },
  5053. { oid => '5020', descr => 'I/O',
  5054. proname => 'pg_mcv_list_recv', provolatile => 's',
  5055. prorettype => 'pg_mcv_list', proargtypes => 'internal',
  5056. prosrc => 'pg_mcv_list_recv' },
  5057. { oid => '5021', descr => 'I/O',
  5058. proname => 'pg_mcv_list_send', provolatile => 's', prorettype => 'bytea',
  5059. proargtypes => 'pg_mcv_list', prosrc => 'pg_mcv_list_send' },
  5060. { oid => '3427', descr => 'details about MCV list items',
  5061. proname => 'pg_mcv_list_items', prorows => '1000', proretset => 't',
  5062. provolatile => 's', prorettype => 'record', proargtypes => 'pg_mcv_list',
  5063. proallargtypes => '{pg_mcv_list,int4,_text,_bool,float8,float8}',
  5064. proargmodes => '{i,o,o,o,o,o}',
  5065. proargnames => '{mcv_list,index,values,nulls,frequency,base_frequency}',
  5066. prosrc => 'pg_stats_ext_mcvlist_items' },
  5067. { oid => '1928', descr => 'statistics: number of scans done for table/index',
  5068. proname => 'pg_stat_get_numscans', provolatile => 's', proparallel => 'r',
  5069. prorettype => 'int8', proargtypes => 'oid',
  5070. prosrc => 'pg_stat_get_numscans' },
  5071. { oid => '6310', descr => 'statistics: time of the last scan for table/index',
  5072. proname => 'pg_stat_get_lastscan', provolatile => 's', proparallel => 'r',
  5073. prorettype => 'timestamptz', proargtypes => 'oid',
  5074. prosrc => 'pg_stat_get_lastscan' },
  5075. { oid => '1929', descr => 'statistics: number of tuples read by seqscan',
  5076. proname => 'pg_stat_get_tuples_returned', provolatile => 's',
  5077. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5078. prosrc => 'pg_stat_get_tuples_returned' },
  5079. { oid => '1930', descr => 'statistics: number of tuples fetched by idxscan',
  5080. proname => 'pg_stat_get_tuples_fetched', provolatile => 's',
  5081. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5082. prosrc => 'pg_stat_get_tuples_fetched' },
  5083. { oid => '1931', descr => 'statistics: number of tuples inserted',
  5084. proname => 'pg_stat_get_tuples_inserted', provolatile => 's',
  5085. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5086. prosrc => 'pg_stat_get_tuples_inserted' },
  5087. { oid => '1932', descr => 'statistics: number of tuples updated',
  5088. proname => 'pg_stat_get_tuples_updated', provolatile => 's',
  5089. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5090. prosrc => 'pg_stat_get_tuples_updated' },
  5091. { oid => '1933', descr => 'statistics: number of tuples deleted',
  5092. proname => 'pg_stat_get_tuples_deleted', provolatile => 's',
  5093. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5094. prosrc => 'pg_stat_get_tuples_deleted' },
  5095. { oid => '1972', descr => 'statistics: number of tuples hot updated',
  5096. proname => 'pg_stat_get_tuples_hot_updated', provolatile => 's',
  5097. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5098. prosrc => 'pg_stat_get_tuples_hot_updated' },
  5099. { oid => '6217',
  5100. descr => 'statistics: number of tuples updated onto a new page',
  5101. proname => 'pg_stat_get_tuples_newpage_updated', provolatile => 's',
  5102. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5103. prosrc => 'pg_stat_get_tuples_newpage_updated' },
  5104. { oid => '2878', descr => 'statistics: number of live tuples',
  5105. proname => 'pg_stat_get_live_tuples', provolatile => 's', proparallel => 'r',
  5106. prorettype => 'int8', proargtypes => 'oid',
  5107. prosrc => 'pg_stat_get_live_tuples' },
  5108. { oid => '2879', descr => 'statistics: number of dead tuples',
  5109. proname => 'pg_stat_get_dead_tuples', provolatile => 's', proparallel => 'r',
  5110. prorettype => 'int8', proargtypes => 'oid',
  5111. prosrc => 'pg_stat_get_dead_tuples' },
  5112. { oid => '3177',
  5113. descr => 'statistics: number of tuples changed since last analyze',
  5114. proname => 'pg_stat_get_mod_since_analyze', provolatile => 's',
  5115. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5116. prosrc => 'pg_stat_get_mod_since_analyze' },
  5117. { oid => '5053',
  5118. descr => 'statistics: number of tuples inserted since last vacuum',
  5119. proname => 'pg_stat_get_ins_since_vacuum', provolatile => 's',
  5120. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5121. prosrc => 'pg_stat_get_ins_since_vacuum' },
  5122. { oid => '1934', descr => 'statistics: number of blocks fetched',
  5123. proname => 'pg_stat_get_blocks_fetched', provolatile => 's',
  5124. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5125. prosrc => 'pg_stat_get_blocks_fetched' },
  5126. { oid => '1935', descr => 'statistics: number of blocks found in cache',
  5127. proname => 'pg_stat_get_blocks_hit', provolatile => 's', proparallel => 'r',
  5128. prorettype => 'int8', proargtypes => 'oid',
  5129. prosrc => 'pg_stat_get_blocks_hit' },
  5130. { oid => '2781', descr => 'statistics: last manual vacuum time for a table',
  5131. proname => 'pg_stat_get_last_vacuum_time', provolatile => 's',
  5132. proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'oid',
  5133. prosrc => 'pg_stat_get_last_vacuum_time' },
  5134. { oid => '2782', descr => 'statistics: last auto vacuum time for a table',
  5135. proname => 'pg_stat_get_last_autovacuum_time', provolatile => 's',
  5136. proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'oid',
  5137. prosrc => 'pg_stat_get_last_autovacuum_time' },
  5138. { oid => '2783', descr => 'statistics: last manual analyze time for a table',
  5139. proname => 'pg_stat_get_last_analyze_time', provolatile => 's',
  5140. proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'oid',
  5141. prosrc => 'pg_stat_get_last_analyze_time' },
  5142. { oid => '2784', descr => 'statistics: last auto analyze time for a table',
  5143. proname => 'pg_stat_get_last_autoanalyze_time', provolatile => 's',
  5144. proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'oid',
  5145. prosrc => 'pg_stat_get_last_autoanalyze_time' },
  5146. { oid => '3054', descr => 'statistics: number of manual vacuums for a table',
  5147. proname => 'pg_stat_get_vacuum_count', provolatile => 's', proparallel => 'r',
  5148. prorettype => 'int8', proargtypes => 'oid',
  5149. prosrc => 'pg_stat_get_vacuum_count' },
  5150. { oid => '3055', descr => 'statistics: number of auto vacuums for a table',
  5151. proname => 'pg_stat_get_autovacuum_count', provolatile => 's',
  5152. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5153. prosrc => 'pg_stat_get_autovacuum_count' },
  5154. { oid => '3056', descr => 'statistics: number of manual analyzes for a table',
  5155. proname => 'pg_stat_get_analyze_count', provolatile => 's',
  5156. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5157. prosrc => 'pg_stat_get_analyze_count' },
  5158. { oid => '3057', descr => 'statistics: number of auto analyzes for a table',
  5159. proname => 'pg_stat_get_autoanalyze_count', provolatile => 's',
  5160. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5161. prosrc => 'pg_stat_get_autoanalyze_count' },
  5162. { oid => '1936', descr => 'statistics: currently active backend IDs',
  5163. proname => 'pg_stat_get_backend_idset', prorows => '100', proretset => 't',
  5164. provolatile => 's', proparallel => 'r', prorettype => 'int4',
  5165. proargtypes => '', prosrc => 'pg_stat_get_backend_idset' },
  5166. { oid => '2022',
  5167. descr => 'statistics: information about currently active backends',
  5168. proname => 'pg_stat_get_activity', prorows => '100', proisstrict => 'f',
  5169. proretset => 't', provolatile => 's', proparallel => 'r',
  5170. prorettype => 'record', proargtypes => 'int4',
  5171. proallargtypes => '{int4,oid,int4,oid,text,text,text,text,text,timestamptz,timestamptz,timestamptz,timestamptz,inet,text,int4,xid,xid,text,bool,text,text,int4,text,numeric,text,bool,text,bool,bool,int4,int8}',
  5172. proargmodes => '{i,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o}',
  5173. proargnames => '{pid,datid,pid,usesysid,application_name,state,query,wait_event_type,wait_event,xact_start,query_start,backend_start,state_change,client_addr,client_hostname,client_port,backend_xid,backend_xmin,backend_type,ssl,sslversion,sslcipher,sslbits,ssl_client_dn,ssl_client_serial,ssl_issuer_dn,gss_auth,gss_princ,gss_enc,gss_delegation,leader_pid,query_id}',
  5174. prosrc => 'pg_stat_get_activity' },
  5175. { oid => '3318',
  5176. descr => 'statistics: information about progress of backends running maintenance command',
  5177. proname => 'pg_stat_get_progress_info', prorows => '100', proretset => 't',
  5178. provolatile => 's', proparallel => 'r', prorettype => 'record',
  5179. proargtypes => 'text',
  5180. proallargtypes => '{text,int4,oid,oid,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8}',
  5181. proargmodes => '{i,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o}',
  5182. proargnames => '{cmdtype,pid,datid,relid,param1,param2,param3,param4,param5,param6,param7,param8,param9,param10,param11,param12,param13,param14,param15,param16,param17,param18,param19,param20}',
  5183. prosrc => 'pg_stat_get_progress_info' },
  5184. { oid => '3099',
  5185. descr => 'statistics: information about currently active replication',
  5186. proname => 'pg_stat_get_wal_senders', prorows => '10', proisstrict => 'f',
  5187. proretset => 't', provolatile => 's', proparallel => 'r',
  5188. prorettype => 'record', proargtypes => '',
  5189. proallargtypes => '{int4,text,pg_lsn,pg_lsn,pg_lsn,pg_lsn,interval,interval,interval,int4,text,timestamptz}',
  5190. proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o}',
  5191. proargnames => '{pid,state,sent_lsn,write_lsn,flush_lsn,replay_lsn,write_lag,flush_lag,replay_lag,sync_priority,sync_state,reply_time}',
  5192. prosrc => 'pg_stat_get_wal_senders' },
  5193. { oid => '3317', descr => 'statistics: information about WAL receiver',
  5194. proname => 'pg_stat_get_wal_receiver', proisstrict => 'f', provolatile => 's',
  5195. proparallel => 'r', prorettype => 'record', proargtypes => '',
  5196. proallargtypes => '{int4,text,pg_lsn,int4,pg_lsn,pg_lsn,int4,timestamptz,timestamptz,pg_lsn,timestamptz,text,text,int4,text}',
  5197. proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o,o,o,o}',
  5198. proargnames => '{pid,status,receive_start_lsn,receive_start_tli,written_lsn,flushed_lsn,received_tli,last_msg_send_time,last_msg_receipt_time,latest_end_lsn,latest_end_time,slot_name,sender_host,sender_port,conninfo}',
  5199. prosrc => 'pg_stat_get_wal_receiver' },
  5200. { oid => '6169', descr => 'statistics: information about replication slot',
  5201. proname => 'pg_stat_get_replication_slot', provolatile => 's',
  5202. proparallel => 'r', prorettype => 'record', proargtypes => 'text',
  5203. proallargtypes => '{text,text,int8,int8,int8,int8,int8,int8,int8,int8,timestamptz}',
  5204. proargmodes => '{i,o,o,o,o,o,o,o,o,o,o}',
  5205. proargnames => '{slot_name,slot_name,spill_txns,spill_count,spill_bytes,stream_txns,stream_count,stream_bytes,total_txns,total_bytes,stats_reset}',
  5206. prosrc => 'pg_stat_get_replication_slot' },
  5207. { oid => '6230', descr => 'statistics: check if a stats object exists',
  5208. proname => 'pg_stat_have_stats', provolatile => 'v', proparallel => 'r',
  5209. prorettype => 'bool', proargtypes => 'text oid oid',
  5210. prosrc => 'pg_stat_have_stats' },
  5211. { oid => '6231', descr => 'statistics: information about subscription stats',
  5212. proname => 'pg_stat_get_subscription_stats', provolatile => 's',
  5213. proparallel => 'r', prorettype => 'record', proargtypes => 'oid',
  5214. proallargtypes => '{oid,oid,int8,int8,timestamptz}',
  5215. proargmodes => '{i,o,o,o,o}',
  5216. proargnames => '{subid,subid,apply_error_count,sync_error_count,stats_reset}',
  5217. prosrc => 'pg_stat_get_subscription_stats' },
  5218. { oid => '6118', descr => 'statistics: information about subscription',
  5219. proname => 'pg_stat_get_subscription', prorows => '10', proisstrict => 'f',
  5220. proretset => 't', provolatile => 's', proparallel => 'r',
  5221. prorettype => 'record', proargtypes => 'oid',
  5222. proallargtypes => '{oid,oid,oid,int4,int4,pg_lsn,timestamptz,timestamptz,pg_lsn,timestamptz}',
  5223. proargmodes => '{i,o,o,o,o,o,o,o,o,o}',
  5224. proargnames => '{subid,subid,relid,pid,leader_pid,received_lsn,last_msg_send_time,last_msg_receipt_time,latest_end_lsn,latest_end_time}',
  5225. prosrc => 'pg_stat_get_subscription' },
  5226. { oid => '2026', descr => 'statistics: current backend PID',
  5227. proname => 'pg_backend_pid', provolatile => 's', proparallel => 'r',
  5228. prorettype => 'int4', proargtypes => '', prosrc => 'pg_backend_pid' },
  5229. { oid => '1937', descr => 'statistics: PID of backend',
  5230. proname => 'pg_stat_get_backend_pid', provolatile => 's', proparallel => 'r',
  5231. prorettype => 'int4', proargtypes => 'int4',
  5232. prosrc => 'pg_stat_get_backend_pid' },
  5233. { oid => '1938', descr => 'statistics: database ID of backend',
  5234. proname => 'pg_stat_get_backend_dbid', provolatile => 's', proparallel => 'r',
  5235. prorettype => 'oid', proargtypes => 'int4',
  5236. prosrc => 'pg_stat_get_backend_dbid' },
  5237. { oid => '6107', descr => 'statistics: get subtransaction status of backend',
  5238. proname => 'pg_stat_get_backend_subxact', provolatile => 's',
  5239. proparallel => 'r', prorettype => 'record', proargtypes => 'int4',
  5240. proallargtypes => '{int4,int4,bool}', proargmodes => '{i,o,o}',
  5241. proargnames => '{bid,subxact_count,subxact_overflowed}',
  5242. prosrc => 'pg_stat_get_backend_subxact' },
  5243. { oid => '1939', descr => 'statistics: user ID of backend',
  5244. proname => 'pg_stat_get_backend_userid', provolatile => 's',
  5245. proparallel => 'r', prorettype => 'oid', proargtypes => 'int4',
  5246. prosrc => 'pg_stat_get_backend_userid' },
  5247. { oid => '1940', descr => 'statistics: current query of backend',
  5248. proname => 'pg_stat_get_backend_activity', provolatile => 's',
  5249. proparallel => 'r', prorettype => 'text', proargtypes => 'int4',
  5250. prosrc => 'pg_stat_get_backend_activity' },
  5251. { oid => '2788',
  5252. descr => 'statistics: wait event type on which backend is currently waiting',
  5253. proname => 'pg_stat_get_backend_wait_event_type', provolatile => 's',
  5254. proparallel => 'r', prorettype => 'text', proargtypes => 'int4',
  5255. prosrc => 'pg_stat_get_backend_wait_event_type' },
  5256. { oid => '2853',
  5257. descr => 'statistics: wait event on which backend is currently waiting',
  5258. proname => 'pg_stat_get_backend_wait_event', provolatile => 's',
  5259. proparallel => 'r', prorettype => 'text', proargtypes => 'int4',
  5260. prosrc => 'pg_stat_get_backend_wait_event' },
  5261. { oid => '2094',
  5262. descr => 'statistics: start time for current query of backend',
  5263. proname => 'pg_stat_get_backend_activity_start', provolatile => 's',
  5264. proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'int4',
  5265. prosrc => 'pg_stat_get_backend_activity_start' },
  5266. { oid => '2857',
  5267. descr => 'statistics: start time for backend\'s current transaction',
  5268. proname => 'pg_stat_get_backend_xact_start', provolatile => 's',
  5269. proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'int4',
  5270. prosrc => 'pg_stat_get_backend_xact_start' },
  5271. { oid => '1391',
  5272. descr => 'statistics: start time for current backend session',
  5273. proname => 'pg_stat_get_backend_start', provolatile => 's',
  5274. proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'int4',
  5275. prosrc => 'pg_stat_get_backend_start' },
  5276. { oid => '1392',
  5277. descr => 'statistics: address of client connected to backend',
  5278. proname => 'pg_stat_get_backend_client_addr', provolatile => 's',
  5279. proparallel => 'r', prorettype => 'inet', proargtypes => 'int4',
  5280. prosrc => 'pg_stat_get_backend_client_addr' },
  5281. { oid => '1393',
  5282. descr => 'statistics: port number of client connected to backend',
  5283. proname => 'pg_stat_get_backend_client_port', provolatile => 's',
  5284. proparallel => 'r', prorettype => 'int4', proargtypes => 'int4',
  5285. prosrc => 'pg_stat_get_backend_client_port' },
  5286. { oid => '1941', descr => 'statistics: number of backends in database',
  5287. proname => 'pg_stat_get_db_numbackends', provolatile => 's',
  5288. proparallel => 'r', prorettype => 'int4', proargtypes => 'oid',
  5289. prosrc => 'pg_stat_get_db_numbackends' },
  5290. { oid => '1942', descr => 'statistics: transactions committed',
  5291. proname => 'pg_stat_get_db_xact_commit', provolatile => 's',
  5292. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5293. prosrc => 'pg_stat_get_db_xact_commit' },
  5294. { oid => '1943', descr => 'statistics: transactions rolled back',
  5295. proname => 'pg_stat_get_db_xact_rollback', provolatile => 's',
  5296. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5297. prosrc => 'pg_stat_get_db_xact_rollback' },
  5298. { oid => '1944', descr => 'statistics: blocks fetched for database',
  5299. proname => 'pg_stat_get_db_blocks_fetched', provolatile => 's',
  5300. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5301. prosrc => 'pg_stat_get_db_blocks_fetched' },
  5302. { oid => '1945', descr => 'statistics: blocks found in cache for database',
  5303. proname => 'pg_stat_get_db_blocks_hit', provolatile => 's',
  5304. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5305. prosrc => 'pg_stat_get_db_blocks_hit' },
  5306. { oid => '2758', descr => 'statistics: tuples returned for database',
  5307. proname => 'pg_stat_get_db_tuples_returned', provolatile => 's',
  5308. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5309. prosrc => 'pg_stat_get_db_tuples_returned' },
  5310. { oid => '2759', descr => 'statistics: tuples fetched for database',
  5311. proname => 'pg_stat_get_db_tuples_fetched', provolatile => 's',
  5312. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5313. prosrc => 'pg_stat_get_db_tuples_fetched' },
  5314. { oid => '2760', descr => 'statistics: tuples inserted in database',
  5315. proname => 'pg_stat_get_db_tuples_inserted', provolatile => 's',
  5316. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5317. prosrc => 'pg_stat_get_db_tuples_inserted' },
  5318. { oid => '2761', descr => 'statistics: tuples updated in database',
  5319. proname => 'pg_stat_get_db_tuples_updated', provolatile => 's',
  5320. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5321. prosrc => 'pg_stat_get_db_tuples_updated' },
  5322. { oid => '2762', descr => 'statistics: tuples deleted in database',
  5323. proname => 'pg_stat_get_db_tuples_deleted', provolatile => 's',
  5324. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5325. prosrc => 'pg_stat_get_db_tuples_deleted' },
  5326. { oid => '3065',
  5327. descr => 'statistics: recovery conflicts in database caused by drop tablespace',
  5328. proname => 'pg_stat_get_db_conflict_tablespace', provolatile => 's',
  5329. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5330. prosrc => 'pg_stat_get_db_conflict_tablespace' },
  5331. { oid => '3066',
  5332. descr => 'statistics: recovery conflicts in database caused by relation lock',
  5333. proname => 'pg_stat_get_db_conflict_lock', provolatile => 's',
  5334. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5335. prosrc => 'pg_stat_get_db_conflict_lock' },
  5336. { oid => '3067',
  5337. descr => 'statistics: recovery conflicts in database caused by snapshot expiry',
  5338. proname => 'pg_stat_get_db_conflict_snapshot', provolatile => 's',
  5339. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5340. prosrc => 'pg_stat_get_db_conflict_snapshot' },
  5341. { oid => '6309',
  5342. descr => 'statistics: recovery conflicts in database caused by logical replication slot',
  5343. proname => 'pg_stat_get_db_conflict_logicalslot', provolatile => 's',
  5344. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5345. prosrc => 'pg_stat_get_db_conflict_logicalslot' },
  5346. { oid => '3068',
  5347. descr => 'statistics: recovery conflicts in database caused by shared buffer pin',
  5348. proname => 'pg_stat_get_db_conflict_bufferpin', provolatile => 's',
  5349. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5350. prosrc => 'pg_stat_get_db_conflict_bufferpin' },
  5351. { oid => '3069',
  5352. descr => 'statistics: recovery conflicts in database caused by buffer deadlock',
  5353. proname => 'pg_stat_get_db_conflict_startup_deadlock', provolatile => 's',
  5354. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5355. prosrc => 'pg_stat_get_db_conflict_startup_deadlock' },
  5356. { oid => '3070', descr => 'statistics: recovery conflicts in database',
  5357. proname => 'pg_stat_get_db_conflict_all', provolatile => 's',
  5358. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5359. prosrc => 'pg_stat_get_db_conflict_all' },
  5360. { oid => '3152', descr => 'statistics: deadlocks detected in database',
  5361. proname => 'pg_stat_get_db_deadlocks', provolatile => 's', proparallel => 'r',
  5362. prorettype => 'int8', proargtypes => 'oid',
  5363. prosrc => 'pg_stat_get_db_deadlocks' },
  5364. { oid => '3426',
  5365. descr => 'statistics: checksum failures detected in database',
  5366. proname => 'pg_stat_get_db_checksum_failures', provolatile => 's',
  5367. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5368. prosrc => 'pg_stat_get_db_checksum_failures' },
  5369. { oid => '3428',
  5370. descr => 'statistics: when last checksum failure was detected in database',
  5371. proname => 'pg_stat_get_db_checksum_last_failure', provolatile => 's',
  5372. proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'oid',
  5373. prosrc => 'pg_stat_get_db_checksum_last_failure' },
  5374. { oid => '3074', descr => 'statistics: last reset for a database',
  5375. proname => 'pg_stat_get_db_stat_reset_time', provolatile => 's',
  5376. proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'oid',
  5377. prosrc => 'pg_stat_get_db_stat_reset_time' },
  5378. { oid => '3150', descr => 'statistics: number of temporary files written',
  5379. proname => 'pg_stat_get_db_temp_files', provolatile => 's',
  5380. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5381. prosrc => 'pg_stat_get_db_temp_files' },
  5382. { oid => '3151',
  5383. descr => 'statistics: number of bytes in temporary files written',
  5384. proname => 'pg_stat_get_db_temp_bytes', provolatile => 's',
  5385. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5386. prosrc => 'pg_stat_get_db_temp_bytes' },
  5387. { oid => '2844', descr => 'statistics: block read time, in milliseconds',
  5388. proname => 'pg_stat_get_db_blk_read_time', provolatile => 's',
  5389. proparallel => 'r', prorettype => 'float8', proargtypes => 'oid',
  5390. prosrc => 'pg_stat_get_db_blk_read_time' },
  5391. { oid => '2845', descr => 'statistics: block write time, in milliseconds',
  5392. proname => 'pg_stat_get_db_blk_write_time', provolatile => 's',
  5393. proparallel => 'r', prorettype => 'float8', proargtypes => 'oid',
  5394. prosrc => 'pg_stat_get_db_blk_write_time' },
  5395. { oid => '6185', descr => 'statistics: session time, in milliseconds',
  5396. proname => 'pg_stat_get_db_session_time', provolatile => 's',
  5397. proparallel => 'r', prorettype => 'float8', proargtypes => 'oid',
  5398. prosrc => 'pg_stat_get_db_session_time' },
  5399. { oid => '6186', descr => 'statistics: session active time, in milliseconds',
  5400. proname => 'pg_stat_get_db_active_time', provolatile => 's',
  5401. proparallel => 'r', prorettype => 'float8', proargtypes => 'oid',
  5402. prosrc => 'pg_stat_get_db_active_time' },
  5403. { oid => '6187',
  5404. descr => 'statistics: session idle in transaction time, in milliseconds',
  5405. proname => 'pg_stat_get_db_idle_in_transaction_time', provolatile => 's',
  5406. proparallel => 'r', prorettype => 'float8', proargtypes => 'oid',
  5407. prosrc => 'pg_stat_get_db_idle_in_transaction_time' },
  5408. { oid => '6188', descr => 'statistics: total number of sessions',
  5409. proname => 'pg_stat_get_db_sessions', provolatile => 's', proparallel => 'r',
  5410. prorettype => 'int8', proargtypes => 'oid',
  5411. prosrc => 'pg_stat_get_db_sessions' },
  5412. { oid => '6189',
  5413. descr => 'statistics: number of sessions disconnected by the client closing the network connection',
  5414. proname => 'pg_stat_get_db_sessions_abandoned', provolatile => 's',
  5415. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5416. prosrc => 'pg_stat_get_db_sessions_abandoned' },
  5417. { oid => '6190',
  5418. descr => 'statistics: number of sessions disconnected by fatal errors',
  5419. proname => 'pg_stat_get_db_sessions_fatal', provolatile => 's',
  5420. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5421. prosrc => 'pg_stat_get_db_sessions_fatal' },
  5422. { oid => '6191',
  5423. descr => 'statistics: number of sessions killed by administrative action',
  5424. proname => 'pg_stat_get_db_sessions_killed', provolatile => 's',
  5425. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5426. prosrc => 'pg_stat_get_db_sessions_killed' },
  5427. { oid => '3195', descr => 'statistics: information about WAL archiver',
  5428. proname => 'pg_stat_get_archiver', proisstrict => 'f', provolatile => 's',
  5429. proparallel => 'r', prorettype => 'record', proargtypes => '',
  5430. proallargtypes => '{int8,text,timestamptz,int8,text,timestamptz,timestamptz}',
  5431. proargmodes => '{o,o,o,o,o,o,o}',
  5432. proargnames => '{archived_count,last_archived_wal,last_archived_time,failed_count,last_failed_wal,last_failed_time,stats_reset}',
  5433. prosrc => 'pg_stat_get_archiver' },
  5434. { oid => '2769',
  5435. descr => 'statistics: number of timed checkpoints started by the bgwriter',
  5436. proname => 'pg_stat_get_bgwriter_timed_checkpoints', provolatile => 's',
  5437. proparallel => 'r', prorettype => 'int8', proargtypes => '',
  5438. prosrc => 'pg_stat_get_bgwriter_timed_checkpoints' },
  5439. { oid => '2770',
  5440. descr => 'statistics: number of backend requested checkpoints started by the bgwriter',
  5441. proname => 'pg_stat_get_bgwriter_requested_checkpoints', provolatile => 's',
  5442. proparallel => 'r', prorettype => 'int8', proargtypes => '',
  5443. prosrc => 'pg_stat_get_bgwriter_requested_checkpoints' },
  5444. { oid => '2771',
  5445. descr => 'statistics: number of buffers written by the bgwriter during checkpoints',
  5446. proname => 'pg_stat_get_bgwriter_buf_written_checkpoints', provolatile => 's',
  5447. proparallel => 'r', prorettype => 'int8', proargtypes => '',
  5448. prosrc => 'pg_stat_get_bgwriter_buf_written_checkpoints' },
  5449. { oid => '2772',
  5450. descr => 'statistics: number of buffers written by the bgwriter for cleaning dirty buffers',
  5451. proname => 'pg_stat_get_bgwriter_buf_written_clean', provolatile => 's',
  5452. proparallel => 'r', prorettype => 'int8', proargtypes => '',
  5453. prosrc => 'pg_stat_get_bgwriter_buf_written_clean' },
  5454. { oid => '2773',
  5455. descr => 'statistics: number of times the bgwriter stopped processing when it had written too many buffers while cleaning',
  5456. proname => 'pg_stat_get_bgwriter_maxwritten_clean', provolatile => 's',
  5457. proparallel => 'r', prorettype => 'int8', proargtypes => '',
  5458. prosrc => 'pg_stat_get_bgwriter_maxwritten_clean' },
  5459. { oid => '3075', descr => 'statistics: last reset for the bgwriter',
  5460. proname => 'pg_stat_get_bgwriter_stat_reset_time', provolatile => 's',
  5461. proparallel => 'r', prorettype => 'timestamptz', proargtypes => '',
  5462. prosrc => 'pg_stat_get_bgwriter_stat_reset_time' },
  5463. { oid => '3160',
  5464. descr => 'statistics: checkpoint time spent writing buffers to disk, in milliseconds',
  5465. proname => 'pg_stat_get_checkpoint_write_time', provolatile => 's',
  5466. proparallel => 'r', prorettype => 'float8', proargtypes => '',
  5467. prosrc => 'pg_stat_get_checkpoint_write_time' },
  5468. { oid => '3161',
  5469. descr => 'statistics: checkpoint time spent synchronizing buffers to disk, in milliseconds',
  5470. proname => 'pg_stat_get_checkpoint_sync_time', provolatile => 's',
  5471. proparallel => 'r', prorettype => 'float8', proargtypes => '',
  5472. prosrc => 'pg_stat_get_checkpoint_sync_time' },
  5473. { oid => '2775', descr => 'statistics: number of buffers written by backends',
  5474. proname => 'pg_stat_get_buf_written_backend', provolatile => 's',
  5475. proparallel => 'r', prorettype => 'int8', proargtypes => '',
  5476. prosrc => 'pg_stat_get_buf_written_backend' },
  5477. { oid => '3063',
  5478. descr => 'statistics: number of backend buffer writes that did their own fsync',
  5479. proname => 'pg_stat_get_buf_fsync_backend', provolatile => 's',
  5480. proparallel => 'r', prorettype => 'int8', proargtypes => '',
  5481. prosrc => 'pg_stat_get_buf_fsync_backend' },
  5482. { oid => '2859', descr => 'statistics: number of buffer allocations',
  5483. proname => 'pg_stat_get_buf_alloc', provolatile => 's', proparallel => 'r',
  5484. prorettype => 'int8', proargtypes => '', prosrc => 'pg_stat_get_buf_alloc' },
  5485. { oid => '6214', descr => 'statistics: per backend type IO statistics',
  5486. proname => 'pg_stat_get_io', prorows => '30', proretset => 't',
  5487. provolatile => 'v', proparallel => 'r', prorettype => 'record',
  5488. proargtypes => '',
  5489. proallargtypes => '{text,text,text,int8,float8,int8,float8,int8,float8,int8,float8,int8,int8,int8,int8,int8,float8,timestamptz}',
  5490. proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o}',
  5491. proargnames => '{backend_type,object,context,reads,read_time,writes,write_time,writebacks,writeback_time,extends,extend_time,op_bytes,hits,evictions,reuses,fsyncs,fsync_time,stats_reset}',
  5492. prosrc => 'pg_stat_get_io' },
  5493. { oid => '1136', descr => 'statistics: information about WAL activity',
  5494. proname => 'pg_stat_get_wal', proisstrict => 'f', provolatile => 's',
  5495. proparallel => 'r', prorettype => 'record', proargtypes => '',
  5496. proallargtypes => '{int8,int8,numeric,int8,int8,int8,float8,float8,timestamptz}',
  5497. proargmodes => '{o,o,o,o,o,o,o,o,o}',
  5498. proargnames => '{wal_records,wal_fpi,wal_bytes,wal_buffers_full,wal_write,wal_sync,wal_write_time,wal_sync_time,stats_reset}',
  5499. prosrc => 'pg_stat_get_wal' },
  5500. { oid => '6248', descr => 'statistics: information about WAL prefetching',
  5501. proname => 'pg_stat_get_recovery_prefetch', prorows => '1', proretset => 't',
  5502. provolatile => 'v', prorettype => 'record', proargtypes => '',
  5503. proallargtypes => '{timestamptz,int8,int8,int8,int8,int8,int8,int4,int4,int4}',
  5504. proargmodes => '{o,o,o,o,o,o,o,o,o,o}',
  5505. proargnames => '{stats_reset,prefetch,hit,skip_init,skip_new,skip_fpw,skip_rep,wal_distance,block_distance,io_depth}',
  5506. prosrc => 'pg_stat_get_recovery_prefetch' },
  5507. { oid => '2306', descr => 'statistics: information about SLRU caches',
  5508. proname => 'pg_stat_get_slru', prorows => '100', proisstrict => 'f',
  5509. proretset => 't', provolatile => 's', proparallel => 'r',
  5510. prorettype => 'record', proargtypes => '',
  5511. proallargtypes => '{text,int8,int8,int8,int8,int8,int8,int8,timestamptz}',
  5512. proargmodes => '{o,o,o,o,o,o,o,o,o}',
  5513. proargnames => '{name,blks_zeroed,blks_hit,blks_read,blks_written,blks_exists,flushes,truncates,stats_reset}',
  5514. prosrc => 'pg_stat_get_slru' },
  5515. { oid => '2978', descr => 'statistics: number of function calls',
  5516. proname => 'pg_stat_get_function_calls', provolatile => 's',
  5517. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5518. prosrc => 'pg_stat_get_function_calls' },
  5519. { oid => '2979',
  5520. descr => 'statistics: total execution time of function, in milliseconds',
  5521. proname => 'pg_stat_get_function_total_time', provolatile => 's',
  5522. proparallel => 'r', prorettype => 'float8', proargtypes => 'oid',
  5523. prosrc => 'pg_stat_get_function_total_time' },
  5524. { oid => '2980',
  5525. descr => 'statistics: self execution time of function, in milliseconds',
  5526. proname => 'pg_stat_get_function_self_time', provolatile => 's',
  5527. proparallel => 'r', prorettype => 'float8', proargtypes => 'oid',
  5528. prosrc => 'pg_stat_get_function_self_time' },
  5529. { oid => '3037',
  5530. descr => 'statistics: number of scans done for table/index in current transaction',
  5531. proname => 'pg_stat_get_xact_numscans', provolatile => 'v',
  5532. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5533. prosrc => 'pg_stat_get_xact_numscans' },
  5534. { oid => '3038',
  5535. descr => 'statistics: number of tuples read by seqscan in current transaction',
  5536. proname => 'pg_stat_get_xact_tuples_returned', provolatile => 'v',
  5537. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5538. prosrc => 'pg_stat_get_xact_tuples_returned' },
  5539. { oid => '3039',
  5540. descr => 'statistics: number of tuples fetched by idxscan in current transaction',
  5541. proname => 'pg_stat_get_xact_tuples_fetched', provolatile => 'v',
  5542. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5543. prosrc => 'pg_stat_get_xact_tuples_fetched' },
  5544. { oid => '3040',
  5545. descr => 'statistics: number of tuples inserted in current transaction',
  5546. proname => 'pg_stat_get_xact_tuples_inserted', provolatile => 'v',
  5547. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5548. prosrc => 'pg_stat_get_xact_tuples_inserted' },
  5549. { oid => '3041',
  5550. descr => 'statistics: number of tuples updated in current transaction',
  5551. proname => 'pg_stat_get_xact_tuples_updated', provolatile => 'v',
  5552. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5553. prosrc => 'pg_stat_get_xact_tuples_updated' },
  5554. { oid => '3042',
  5555. descr => 'statistics: number of tuples deleted in current transaction',
  5556. proname => 'pg_stat_get_xact_tuples_deleted', provolatile => 'v',
  5557. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5558. prosrc => 'pg_stat_get_xact_tuples_deleted' },
  5559. { oid => '3043',
  5560. descr => 'statistics: number of tuples hot updated in current transaction',
  5561. proname => 'pg_stat_get_xact_tuples_hot_updated', provolatile => 'v',
  5562. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5563. prosrc => 'pg_stat_get_xact_tuples_hot_updated' },
  5564. { oid => '6218',
  5565. descr => 'statistics: number of tuples updated onto a new page in current transaction',
  5566. proname => 'pg_stat_get_xact_tuples_newpage_updated', provolatile => 'v',
  5567. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5568. prosrc => 'pg_stat_get_xact_tuples_newpage_updated' },
  5569. { oid => '3044',
  5570. descr => 'statistics: number of blocks fetched in current transaction',
  5571. proname => 'pg_stat_get_xact_blocks_fetched', provolatile => 'v',
  5572. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5573. prosrc => 'pg_stat_get_xact_blocks_fetched' },
  5574. { oid => '3045',
  5575. descr => 'statistics: number of blocks found in cache in current transaction',
  5576. proname => 'pg_stat_get_xact_blocks_hit', provolatile => 'v',
  5577. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5578. prosrc => 'pg_stat_get_xact_blocks_hit' },
  5579. { oid => '3046',
  5580. descr => 'statistics: number of function calls in current transaction',
  5581. proname => 'pg_stat_get_xact_function_calls', provolatile => 'v',
  5582. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5583. prosrc => 'pg_stat_get_xact_function_calls' },
  5584. { oid => '3047',
  5585. descr => 'statistics: total execution time of function in current transaction, in milliseconds',
  5586. proname => 'pg_stat_get_xact_function_total_time', provolatile => 'v',
  5587. proparallel => 'r', prorettype => 'float8', proargtypes => 'oid',
  5588. prosrc => 'pg_stat_get_xact_function_total_time' },
  5589. { oid => '3048',
  5590. descr => 'statistics: self execution time of function in current transaction, in milliseconds',
  5591. proname => 'pg_stat_get_xact_function_self_time', provolatile => 'v',
  5592. proparallel => 'r', prorettype => 'float8', proargtypes => 'oid',
  5593. prosrc => 'pg_stat_get_xact_function_self_time' },
  5594. { oid => '3788',
  5595. descr => 'statistics: timestamp of the current statistics snapshot',
  5596. proname => 'pg_stat_get_snapshot_timestamp', provolatile => 's',
  5597. proparallel => 'r', prorettype => 'timestamptz', proargtypes => '',
  5598. prosrc => 'pg_stat_get_snapshot_timestamp' },
  5599. { oid => '2230',
  5600. descr => 'statistics: discard current transaction\'s statistics snapshot',
  5601. proname => 'pg_stat_clear_snapshot', proisstrict => 'f', provolatile => 'v',
  5602. proparallel => 'r', prorettype => 'void', proargtypes => '',
  5603. prosrc => 'pg_stat_clear_snapshot' },
  5604. { oid => '2137',
  5605. descr => 'statistics: force stats to be flushed after the next commit',
  5606. proname => 'pg_stat_force_next_flush', proisstrict => 'f', provolatile => 'v',
  5607. proparallel => 'r', prorettype => 'void', proargtypes => '',
  5608. prosrc => 'pg_stat_force_next_flush' },
  5609. { oid => '2274',
  5610. descr => 'statistics: reset collected statistics for current database',
  5611. proname => 'pg_stat_reset', proisstrict => 'f', provolatile => 'v',
  5612. prorettype => 'void', proargtypes => '', prosrc => 'pg_stat_reset' },
  5613. { oid => '3775',
  5614. descr => 'statistics: reset collected statistics shared across the cluster',
  5615. proname => 'pg_stat_reset_shared', provolatile => 'v', prorettype => 'void',
  5616. proargtypes => 'text', prosrc => 'pg_stat_reset_shared' },
  5617. { oid => '3776',
  5618. descr => 'statistics: reset collected statistics for a single table or index in the current database or shared across all databases in the cluster',
  5619. proname => 'pg_stat_reset_single_table_counters', provolatile => 'v',
  5620. prorettype => 'void', proargtypes => 'oid',
  5621. prosrc => 'pg_stat_reset_single_table_counters' },
  5622. { oid => '3777',
  5623. descr => 'statistics: reset collected statistics for a single function in the current database',
  5624. proname => 'pg_stat_reset_single_function_counters', provolatile => 'v',
  5625. prorettype => 'void', proargtypes => 'oid',
  5626. prosrc => 'pg_stat_reset_single_function_counters' },
  5627. { oid => '2307',
  5628. descr => 'statistics: reset collected statistics for a single SLRU',
  5629. proname => 'pg_stat_reset_slru', proisstrict => 'f', provolatile => 'v',
  5630. prorettype => 'void', proargtypes => 'text', prosrc => 'pg_stat_reset_slru' },
  5631. { oid => '6170',
  5632. descr => 'statistics: reset collected statistics for a single replication slot',
  5633. proname => 'pg_stat_reset_replication_slot', proisstrict => 'f',
  5634. provolatile => 'v', prorettype => 'void', proargtypes => 'text',
  5635. prosrc => 'pg_stat_reset_replication_slot' },
  5636. { oid => '6232',
  5637. descr => 'statistics: reset collected statistics for a single subscription',
  5638. proname => 'pg_stat_reset_subscription_stats', proisstrict => 'f',
  5639. provolatile => 'v', prorettype => 'void', proargtypes => 'oid',
  5640. prosrc => 'pg_stat_reset_subscription_stats' },
  5641. { oid => '3163', descr => 'current trigger depth',
  5642. proname => 'pg_trigger_depth', provolatile => 's', proparallel => 'r',
  5643. prorettype => 'int4', proargtypes => '', prosrc => 'pg_trigger_depth' },
  5644. { oid => '3778', descr => 'tablespace location',
  5645. proname => 'pg_tablespace_location', provolatile => 's', prorettype => 'text',
  5646. proargtypes => 'oid', prosrc => 'pg_tablespace_location' },
  5647. { oid => '1946',
  5648. descr => 'convert bytea value into some ascii-only text string',
  5649. proname => 'encode', prorettype => 'text', proargtypes => 'bytea text',
  5650. prosrc => 'binary_encode' },
  5651. { oid => '1947',
  5652. descr => 'convert ascii-encoded text string into bytea value',
  5653. proname => 'decode', prorettype => 'bytea', proargtypes => 'text text',
  5654. prosrc => 'binary_decode' },
  5655. { oid => '1948',
  5656. proname => 'byteaeq', proleakproof => 't', prorettype => 'bool',
  5657. proargtypes => 'bytea bytea', prosrc => 'byteaeq' },
  5658. { oid => '1949',
  5659. proname => 'bytealt', proleakproof => 't', prorettype => 'bool',
  5660. proargtypes => 'bytea bytea', prosrc => 'bytealt' },
  5661. { oid => '1950',
  5662. proname => 'byteale', proleakproof => 't', prorettype => 'bool',
  5663. proargtypes => 'bytea bytea', prosrc => 'byteale' },
  5664. { oid => '1951',
  5665. proname => 'byteagt', proleakproof => 't', prorettype => 'bool',
  5666. proargtypes => 'bytea bytea', prosrc => 'byteagt' },
  5667. { oid => '1952',
  5668. proname => 'byteage', proleakproof => 't', prorettype => 'bool',
  5669. proargtypes => 'bytea bytea', prosrc => 'byteage' },
  5670. { oid => '1953',
  5671. proname => 'byteane', proleakproof => 't', prorettype => 'bool',
  5672. proargtypes => 'bytea bytea', prosrc => 'byteane' },
  5673. { oid => '1954', descr => 'less-equal-greater',
  5674. proname => 'byteacmp', proleakproof => 't', prorettype => 'int4',
  5675. proargtypes => 'bytea bytea', prosrc => 'byteacmp' },
  5676. { oid => '3331', descr => 'sort support',
  5677. proname => 'bytea_sortsupport', prorettype => 'void',
  5678. proargtypes => 'internal', prosrc => 'bytea_sortsupport' },
  5679. { oid => '3917', descr => 'planner support for timestamp length coercion',
  5680. proname => 'timestamp_support', prorettype => 'internal',
  5681. proargtypes => 'internal', prosrc => 'timestamp_support' },
  5682. { oid => '3944', descr => 'planner support for time length coercion',
  5683. proname => 'time_support', prorettype => 'internal',
  5684. proargtypes => 'internal', prosrc => 'time_support' },
  5685. { oid => '1961', descr => 'adjust timestamp precision',
  5686. proname => 'timestamp', prosupport => 'timestamp_support',
  5687. prorettype => 'timestamp', proargtypes => 'timestamp int4',
  5688. prosrc => 'timestamp_scale' },
  5689. { oid => '1965', descr => 'larger of two',
  5690. proname => 'oidlarger', prorettype => 'oid', proargtypes => 'oid oid',
  5691. prosrc => 'oidlarger' },
  5692. { oid => '1966', descr => 'smaller of two',
  5693. proname => 'oidsmaller', prorettype => 'oid', proargtypes => 'oid oid',
  5694. prosrc => 'oidsmaller' },
  5695. { oid => '1967', descr => 'adjust timestamptz precision',
  5696. proname => 'timestamptz', prosupport => 'timestamp_support',
  5697. prorettype => 'timestamptz', proargtypes => 'timestamptz int4',
  5698. prosrc => 'timestamptz_scale' },
  5699. { oid => '1968', descr => 'adjust time precision',
  5700. proname => 'time', prosupport => 'time_support', prorettype => 'time',
  5701. proargtypes => 'time int4', prosrc => 'time_scale' },
  5702. { oid => '1969', descr => 'adjust time with time zone precision',
  5703. proname => 'timetz', prosupport => 'time_support', prorettype => 'timetz',
  5704. proargtypes => 'timetz int4', prosrc => 'timetz_scale' },
  5705. { oid => '2003',
  5706. proname => 'textanycat', prolang => 'sql', provolatile => 's',
  5707. prorettype => 'text', proargtypes => 'text anynonarray',
  5708. prosrc => 'select $1 operator(pg_catalog.||) $2::pg_catalog.text' },
  5709. { oid => '2004',
  5710. proname => 'anytextcat', prolang => 'sql', provolatile => 's',
  5711. prorettype => 'text', proargtypes => 'anynonarray text',
  5712. prosrc => 'select $1::pg_catalog.text operator(pg_catalog.||) $2' },
  5713. { oid => '2005',
  5714. proname => 'bytealike', prosupport => 'textlike_support',
  5715. prorettype => 'bool', proargtypes => 'bytea bytea', prosrc => 'bytealike' },
  5716. { oid => '2006',
  5717. proname => 'byteanlike', prorettype => 'bool', proargtypes => 'bytea bytea',
  5718. prosrc => 'byteanlike' },
  5719. { oid => '2007', descr => 'matches LIKE expression',
  5720. proname => 'like', prosupport => 'textlike_support', prorettype => 'bool',
  5721. proargtypes => 'bytea bytea', prosrc => 'bytealike' },
  5722. { oid => '2008', descr => 'does not match LIKE expression',
  5723. proname => 'notlike', prorettype => 'bool', proargtypes => 'bytea bytea',
  5724. prosrc => 'byteanlike' },
  5725. { oid => '2009', descr => 'convert LIKE pattern to use backslash escapes',
  5726. proname => 'like_escape', prorettype => 'bytea', proargtypes => 'bytea bytea',
  5727. prosrc => 'like_escape_bytea' },
  5728. { oid => '2010', descr => 'octet length',
  5729. proname => 'length', prorettype => 'int4', proargtypes => 'bytea',
  5730. prosrc => 'byteaoctetlen' },
  5731. { oid => '2011',
  5732. proname => 'byteacat', prorettype => 'bytea', proargtypes => 'bytea bytea',
  5733. prosrc => 'byteacat' },
  5734. { oid => '2012', descr => 'extract portion of string',
  5735. proname => 'substring', prorettype => 'bytea',
  5736. proargtypes => 'bytea int4 int4', prosrc => 'bytea_substr' },
  5737. { oid => '2013', descr => 'extract portion of string',
  5738. proname => 'substring', prorettype => 'bytea', proargtypes => 'bytea int4',
  5739. prosrc => 'bytea_substr_no_len' },
  5740. { oid => '2085', descr => 'extract portion of string',
  5741. proname => 'substr', prorettype => 'bytea', proargtypes => 'bytea int4 int4',
  5742. prosrc => 'bytea_substr' },
  5743. { oid => '2086', descr => 'extract portion of string',
  5744. proname => 'substr', prorettype => 'bytea', proargtypes => 'bytea int4',
  5745. prosrc => 'bytea_substr_no_len' },
  5746. { oid => '2014', descr => 'position of substring',
  5747. proname => 'position', prorettype => 'int4', proargtypes => 'bytea bytea',
  5748. prosrc => 'byteapos' },
  5749. { oid => '2015', descr => 'trim selected bytes from both ends of string',
  5750. proname => 'btrim', prorettype => 'bytea', proargtypes => 'bytea bytea',
  5751. prosrc => 'byteatrim' },
  5752. { oid => '6195', descr => 'trim selected bytes from left end of string',
  5753. proname => 'ltrim', prorettype => 'bytea', proargtypes => 'bytea bytea',
  5754. prosrc => 'bytealtrim' },
  5755. { oid => '6196', descr => 'trim selected bytes from right end of string',
  5756. proname => 'rtrim', prorettype => 'bytea', proargtypes => 'bytea bytea',
  5757. prosrc => 'byteartrim' },
  5758. { oid => '2019', descr => 'convert timestamp with time zone to time',
  5759. proname => 'time', provolatile => 's', prorettype => 'time',
  5760. proargtypes => 'timestamptz', prosrc => 'timestamptz_time' },
  5761. { oid => '2020', descr => 'truncate timestamp to specified units',
  5762. proname => 'date_trunc', prorettype => 'timestamp',
  5763. proargtypes => 'text timestamp', prosrc => 'timestamp_trunc' },
  5764. { oid => '6177', descr => 'bin timestamp into specified interval',
  5765. proname => 'date_bin', prorettype => 'timestamp',
  5766. proargtypes => 'interval timestamp timestamp', prosrc => 'timestamp_bin' },
  5767. { oid => '6178',
  5768. descr => 'bin timestamp with time zone into specified interval',
  5769. proname => 'date_bin', prorettype => 'timestamptz',
  5770. proargtypes => 'interval timestamptz timestamptz',
  5771. prosrc => 'timestamptz_bin' },
  5772. { oid => '2021', descr => 'extract field from timestamp',
  5773. proname => 'date_part', prorettype => 'float8',
  5774. proargtypes => 'text timestamp', prosrc => 'timestamp_part' },
  5775. { oid => '6202', descr => 'extract field from timestamp',
  5776. proname => 'extract', prorettype => 'numeric',
  5777. proargtypes => 'text timestamp', prosrc => 'extract_timestamp' },
  5778. { oid => '2024', descr => 'convert date to timestamp',
  5779. proname => 'timestamp', prorettype => 'timestamp', proargtypes => 'date',
  5780. prosrc => 'date_timestamp' },
  5781. { oid => '2025', descr => 'convert date and time to timestamp',
  5782. proname => 'timestamp', prorettype => 'timestamp', proargtypes => 'date time',
  5783. prosrc => 'datetime_timestamp' },
  5784. { oid => '2027', descr => 'convert timestamp with time zone to timestamp',
  5785. proname => 'timestamp', provolatile => 's', prorettype => 'timestamp',
  5786. proargtypes => 'timestamptz', prosrc => 'timestamptz_timestamp' },
  5787. { oid => '2028', descr => 'convert timestamp to timestamp with time zone',
  5788. proname => 'timestamptz', provolatile => 's', prorettype => 'timestamptz',
  5789. proargtypes => 'timestamp', prosrc => 'timestamp_timestamptz' },
  5790. { oid => '2029', descr => 'convert timestamp to date',
  5791. proname => 'date', prorettype => 'date', proargtypes => 'timestamp',
  5792. prosrc => 'timestamp_date' },
  5793. { oid => '2031',
  5794. proname => 'timestamp_mi', prorettype => 'interval',
  5795. proargtypes => 'timestamp timestamp', prosrc => 'timestamp_mi' },
  5796. { oid => '2032',
  5797. proname => 'timestamp_pl_interval', prorettype => 'timestamp',
  5798. proargtypes => 'timestamp interval', prosrc => 'timestamp_pl_interval' },
  5799. { oid => '2033',
  5800. proname => 'timestamp_mi_interval', prorettype => 'timestamp',
  5801. proargtypes => 'timestamp interval', prosrc => 'timestamp_mi_interval' },
  5802. { oid => '2035', descr => 'smaller of two',
  5803. proname => 'timestamp_smaller', prorettype => 'timestamp',
  5804. proargtypes => 'timestamp timestamp', prosrc => 'timestamp_smaller' },
  5805. { oid => '2036', descr => 'larger of two',
  5806. proname => 'timestamp_larger', prorettype => 'timestamp',
  5807. proargtypes => 'timestamp timestamp', prosrc => 'timestamp_larger' },
  5808. { oid => '2037', descr => 'adjust time with time zone to new zone',
  5809. proname => 'timezone', provolatile => 's', prorettype => 'timetz',
  5810. proargtypes => 'text timetz', prosrc => 'timetz_zone' },
  5811. { oid => '2038', descr => 'adjust time with time zone to new zone',
  5812. proname => 'timezone', prorettype => 'timetz',
  5813. proargtypes => 'interval timetz', prosrc => 'timetz_izone' },
  5814. { oid => '2039', descr => 'hash',
  5815. proname => 'timestamp_hash', prorettype => 'int4', proargtypes => 'timestamp',
  5816. prosrc => 'timestamp_hash' },
  5817. { oid => '3411', descr => 'hash',
  5818. proname => 'timestamp_hash_extended', prorettype => 'int8',
  5819. proargtypes => 'timestamp int8', prosrc => 'timestamp_hash_extended' },
  5820. { oid => '2041', descr => 'intervals overlap?',
  5821. proname => 'overlaps', proisstrict => 'f', prorettype => 'bool',
  5822. proargtypes => 'timestamp timestamp timestamp timestamp',
  5823. prosrc => 'overlaps_timestamp' },
  5824. { oid => '2042', descr => 'intervals overlap?',
  5825. proname => 'overlaps', prolang => 'sql', proisstrict => 'f',
  5826. prorettype => 'bool', proargtypes => 'timestamp interval timestamp interval',
  5827. prosrc => 'see system_functions.sql' },
  5828. { oid => '2043', descr => 'intervals overlap?',
  5829. proname => 'overlaps', prolang => 'sql', proisstrict => 'f',
  5830. prorettype => 'bool', proargtypes => 'timestamp timestamp timestamp interval',
  5831. prosrc => 'see system_functions.sql' },
  5832. { oid => '2044', descr => 'intervals overlap?',
  5833. proname => 'overlaps', prolang => 'sql', proisstrict => 'f',
  5834. prorettype => 'bool', proargtypes => 'timestamp interval timestamp timestamp',
  5835. prosrc => 'see system_functions.sql' },
  5836. { oid => '2045', descr => 'less-equal-greater',
  5837. proname => 'timestamp_cmp', proleakproof => 't', prorettype => 'int4',
  5838. proargtypes => 'timestamp timestamp', prosrc => 'timestamp_cmp' },
  5839. { oid => '3137', descr => 'sort support',
  5840. proname => 'timestamp_sortsupport', prorettype => 'void',
  5841. proargtypes => 'internal', prosrc => 'timestamp_sortsupport' },
  5842. { oid => '4134', descr => 'window RANGE support',
  5843. proname => 'in_range', prorettype => 'bool',
  5844. proargtypes => 'timestamp timestamp interval bool bool',
  5845. prosrc => 'in_range_timestamp_interval' },
  5846. { oid => '4135', descr => 'window RANGE support',
  5847. proname => 'in_range', provolatile => 's', prorettype => 'bool',
  5848. proargtypes => 'timestamptz timestamptz interval bool bool',
  5849. prosrc => 'in_range_timestamptz_interval' },
  5850. { oid => '4136', descr => 'window RANGE support',
  5851. proname => 'in_range', prorettype => 'bool',
  5852. proargtypes => 'interval interval interval bool bool',
  5853. prosrc => 'in_range_interval_interval' },
  5854. { oid => '4137', descr => 'window RANGE support',
  5855. proname => 'in_range', prorettype => 'bool',
  5856. proargtypes => 'time time interval bool bool',
  5857. prosrc => 'in_range_time_interval' },
  5858. { oid => '4138', descr => 'window RANGE support',
  5859. proname => 'in_range', prorettype => 'bool',
  5860. proargtypes => 'timetz timetz interval bool bool',
  5861. prosrc => 'in_range_timetz_interval' },
  5862. { oid => '2046', descr => 'convert time with time zone to time',
  5863. proname => 'time', prorettype => 'time', proargtypes => 'timetz',
  5864. prosrc => 'timetz_time' },
  5865. { oid => '2047', descr => 'convert time to time with time zone',
  5866. proname => 'timetz', provolatile => 's', prorettype => 'timetz',
  5867. proargtypes => 'time', prosrc => 'time_timetz' },
  5868. { oid => '2048', descr => 'finite timestamp?',
  5869. proname => 'isfinite', prorettype => 'bool', proargtypes => 'timestamp',
  5870. prosrc => 'timestamp_finite' },
  5871. { oid => '2049', descr => 'format timestamp to text',
  5872. proname => 'to_char', provolatile => 's', prorettype => 'text',
  5873. proargtypes => 'timestamp text', prosrc => 'timestamp_to_char' },
  5874. { oid => '2052',
  5875. proname => 'timestamp_eq', proleakproof => 't', prorettype => 'bool',
  5876. proargtypes => 'timestamp timestamp', prosrc => 'timestamp_eq' },
  5877. { oid => '2053',
  5878. proname => 'timestamp_ne', proleakproof => 't', prorettype => 'bool',
  5879. proargtypes => 'timestamp timestamp', prosrc => 'timestamp_ne' },
  5880. { oid => '2054',
  5881. proname => 'timestamp_lt', proleakproof => 't', prorettype => 'bool',
  5882. proargtypes => 'timestamp timestamp', prosrc => 'timestamp_lt' },
  5883. { oid => '2055',
  5884. proname => 'timestamp_le', proleakproof => 't', prorettype => 'bool',
  5885. proargtypes => 'timestamp timestamp', prosrc => 'timestamp_le' },
  5886. { oid => '2056',
  5887. proname => 'timestamp_ge', proleakproof => 't', prorettype => 'bool',
  5888. proargtypes => 'timestamp timestamp', prosrc => 'timestamp_ge' },
  5889. { oid => '2057',
  5890. proname => 'timestamp_gt', proleakproof => 't', prorettype => 'bool',
  5891. proargtypes => 'timestamp timestamp', prosrc => 'timestamp_gt' },
  5892. { oid => '2058', descr => 'date difference preserving months and years',
  5893. proname => 'age', prorettype => 'interval',
  5894. proargtypes => 'timestamp timestamp', prosrc => 'timestamp_age' },
  5895. { oid => '2059',
  5896. descr => 'date difference from today preserving months and years',
  5897. proname => 'age', prolang => 'sql', provolatile => 's',
  5898. prorettype => 'interval', proargtypes => 'timestamp',
  5899. prosrc => 'see system_functions.sql' },
  5900. { oid => '2069', descr => 'adjust timestamp to new time zone',
  5901. proname => 'timezone', prorettype => 'timestamptz',
  5902. proargtypes => 'text timestamp', prosrc => 'timestamp_zone' },
  5903. { oid => '2070', descr => 'adjust timestamp to new time zone',
  5904. proname => 'timezone', prorettype => 'timestamptz',
  5905. proargtypes => 'interval timestamp', prosrc => 'timestamp_izone' },
  5906. { oid => '2071',
  5907. proname => 'date_pl_interval', prorettype => 'timestamp',
  5908. proargtypes => 'date interval', prosrc => 'date_pl_interval' },
  5909. { oid => '2072',
  5910. proname => 'date_mi_interval', prorettype => 'timestamp',
  5911. proargtypes => 'date interval', prosrc => 'date_mi_interval' },
  5912. { oid => '2073', descr => 'extract text matching regular expression',
  5913. proname => 'substring', prorettype => 'text', proargtypes => 'text text',
  5914. prosrc => 'textregexsubstr' },
  5915. { oid => '2074', descr => 'extract text matching SQL regular expression',
  5916. proname => 'substring', prolang => 'sql', prorettype => 'text',
  5917. proargtypes => 'text text text', prosrc => 'see system_functions.sql' },
  5918. { oid => '2075', descr => 'convert int8 to bitstring',
  5919. proname => 'bit', prorettype => 'bit', proargtypes => 'int8 int4',
  5920. prosrc => 'bitfromint8' },
  5921. { oid => '2076', descr => 'convert bitstring to int8',
  5922. proname => 'int8', prorettype => 'int8', proargtypes => 'bit',
  5923. prosrc => 'bittoint8' },
  5924. { oid => '2077', descr => 'SHOW X as a function',
  5925. proname => 'current_setting', provolatile => 's', prorettype => 'text',
  5926. proargtypes => 'text', prosrc => 'show_config_by_name' },
  5927. { oid => '3294',
  5928. descr => 'SHOW X as a function, optionally no error for missing variable',
  5929. proname => 'current_setting', provolatile => 's', prorettype => 'text',
  5930. proargtypes => 'text bool', prosrc => 'show_config_by_name_missing_ok' },
  5931. { oid => '2078', descr => 'SET X as a function',
  5932. proname => 'set_config', proisstrict => 'f', provolatile => 'v',
  5933. proparallel => 'u', prorettype => 'text', proargtypes => 'text text bool',
  5934. prosrc => 'set_config_by_name' },
  5935. { oid => '2084', descr => 'SHOW ALL as a function',
  5936. proname => 'pg_show_all_settings', prorows => '1000', proretset => 't',
  5937. provolatile => 's', prorettype => 'record', proargtypes => '',
  5938. proallargtypes => '{text,text,text,text,text,text,text,text,text,text,text,_text,text,text,text,int4,bool}',
  5939. proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o}',
  5940. proargnames => '{name,setting,unit,category,short_desc,extra_desc,context,vartype,source,min_val,max_val,enumvals,boot_val,reset_val,sourcefile,sourceline,pending_restart}',
  5941. prosrc => 'show_all_settings' },
  5942. { oid => '6240', descr => 'return flags for specified GUC',
  5943. proname => 'pg_settings_get_flags', provolatile => 's', prorettype => '_text',
  5944. proargtypes => 'text', prosrc => 'pg_settings_get_flags' },
  5945. { oid => '3329', descr => 'show config file settings',
  5946. proname => 'pg_show_all_file_settings', prorows => '1000', proretset => 't',
  5947. provolatile => 'v', prorettype => 'record', proargtypes => '',
  5948. proallargtypes => '{text,int4,int4,text,text,bool,text}',
  5949. proargmodes => '{o,o,o,o,o,o,o}',
  5950. proargnames => '{sourcefile,sourceline,seqno,name,setting,applied,error}',
  5951. prosrc => 'show_all_file_settings' },
  5952. { oid => '3401', descr => 'show pg_hba.conf rules',
  5953. proname => 'pg_hba_file_rules', prorows => '1000', proretset => 't',
  5954. provolatile => 'v', prorettype => 'record', proargtypes => '',
  5955. proallargtypes => '{int4,text,int4,text,_text,_text,text,text,text,_text,text}',
  5956. proargmodes => '{o,o,o,o,o,o,o,o,o,o,o}',
  5957. proargnames => '{rule_number,file_name,line_number,type,database,user_name,address,netmask,auth_method,options,error}',
  5958. prosrc => 'pg_hba_file_rules' },
  5959. { oid => '6250', descr => 'show pg_ident.conf mappings',
  5960. proname => 'pg_ident_file_mappings', prorows => '1000', proretset => 't',
  5961. provolatile => 'v', prorettype => 'record', proargtypes => '',
  5962. proallargtypes => '{int4,text,int4,text,text,text,text}',
  5963. proargmodes => '{o,o,o,o,o,o,o}',
  5964. proargnames => '{map_number,file_name,line_number,map_name,sys_name,pg_username,error}',
  5965. prosrc => 'pg_ident_file_mappings' },
  5966. { oid => '1371', descr => 'view system lock information',
  5967. proname => 'pg_lock_status', prorows => '1000', proretset => 't',
  5968. provolatile => 'v', prorettype => 'record', proargtypes => '',
  5969. proallargtypes => '{text,oid,oid,int4,int2,text,xid,oid,oid,int2,text,int4,text,bool,bool,timestamptz}',
  5970. proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o}',
  5971. proargnames => '{locktype,database,relation,page,tuple,virtualxid,transactionid,classid,objid,objsubid,virtualtransaction,pid,mode,granted,fastpath,waitstart}',
  5972. prosrc => 'pg_lock_status' },
  5973. { oid => '2561',
  5974. descr => 'get array of PIDs of sessions blocking specified backend PID from acquiring a heavyweight lock',
  5975. proname => 'pg_blocking_pids', provolatile => 'v', prorettype => '_int4',
  5976. proargtypes => 'int4', prosrc => 'pg_blocking_pids' },
  5977. { oid => '3376',
  5978. descr => 'get array of PIDs of sessions blocking specified backend PID from acquiring a safe snapshot',
  5979. proname => 'pg_safe_snapshot_blocking_pids', provolatile => 'v',
  5980. prorettype => '_int4', proargtypes => 'int4',
  5981. prosrc => 'pg_safe_snapshot_blocking_pids' },
  5982. { oid => '3378', descr => 'isolationtester support function',
  5983. proname => 'pg_isolation_test_session_is_blocked', provolatile => 'v',
  5984. prorettype => 'bool', proargtypes => 'int4 _int4',
  5985. prosrc => 'pg_isolation_test_session_is_blocked' },
  5986. { oid => '1065', descr => 'view two-phase transactions',
  5987. proname => 'pg_prepared_xact', prorows => '1000', proretset => 't',
  5988. provolatile => 'v', prorettype => 'record', proargtypes => '',
  5989. proallargtypes => '{xid,text,timestamptz,oid,oid}',
  5990. proargmodes => '{o,o,o,o,o}',
  5991. proargnames => '{transaction,gid,prepared,ownerid,dbid}',
  5992. prosrc => 'pg_prepared_xact' },
  5993. { oid => '3819', descr => 'view members of a multixactid',
  5994. proname => 'pg_get_multixact_members', prorows => '1000', proretset => 't',
  5995. provolatile => 'v', prorettype => 'record', proargtypes => 'xid',
  5996. proallargtypes => '{xid,xid,text}', proargmodes => '{i,o,o}',
  5997. proargnames => '{multixid,xid,mode}', prosrc => 'pg_get_multixact_members' },
  5998. { oid => '3581', descr => 'get commit timestamp of a transaction',
  5999. proname => 'pg_xact_commit_timestamp', provolatile => 'v',
  6000. prorettype => 'timestamptz', proargtypes => 'xid',
  6001. prosrc => 'pg_xact_commit_timestamp' },
  6002. { oid => '6168',
  6003. descr => 'get commit timestamp and replication origin of a transaction',
  6004. proname => 'pg_xact_commit_timestamp_origin', provolatile => 'v',
  6005. prorettype => 'record', proargtypes => 'xid',
  6006. proallargtypes => '{xid,timestamptz,oid}', proargmodes => '{i,o,o}',
  6007. proargnames => '{xid,timestamp,roident}',
  6008. prosrc => 'pg_xact_commit_timestamp_origin' },
  6009. { oid => '3583',
  6010. descr => 'get transaction Id, commit timestamp and replication origin of latest transaction commit',
  6011. proname => 'pg_last_committed_xact', provolatile => 'v',
  6012. prorettype => 'record', proargtypes => '',
  6013. proallargtypes => '{xid,timestamptz,oid}', proargmodes => '{o,o,o}',
  6014. proargnames => '{xid,timestamp,roident}',
  6015. prosrc => 'pg_last_committed_xact' },
  6016. { oid => '3537', descr => 'get identification of SQL object',
  6017. proname => 'pg_describe_object', provolatile => 's', prorettype => 'text',
  6018. proargtypes => 'oid oid int4', prosrc => 'pg_describe_object' },
  6019. { oid => '3839',
  6020. descr => 'get machine-parseable identification of SQL object',
  6021. proname => 'pg_identify_object', provolatile => 's', prorettype => 'record',
  6022. proargtypes => 'oid oid int4',
  6023. proallargtypes => '{oid,oid,int4,text,text,text,text}',
  6024. proargmodes => '{i,i,i,o,o,o,o}',
  6025. proargnames => '{classid,objid,objsubid,type,schema,name,identity}',
  6026. prosrc => 'pg_identify_object' },
  6027. { oid => '3382',
  6028. descr => 'get identification of SQL object for pg_get_object_address()',
  6029. proname => 'pg_identify_object_as_address', provolatile => 's',
  6030. prorettype => 'record', proargtypes => 'oid oid int4',
  6031. proallargtypes => '{oid,oid,int4,text,_text,_text}',
  6032. proargmodes => '{i,i,i,o,o,o}',
  6033. proargnames => '{classid,objid,objsubid,type,object_names,object_args}',
  6034. prosrc => 'pg_identify_object_as_address' },
  6035. { oid => '3954',
  6036. descr => 'get OID-based object address from name/args arrays',
  6037. proname => 'pg_get_object_address', provolatile => 's',
  6038. prorettype => 'record', proargtypes => 'text _text _text',
  6039. proallargtypes => '{text,_text,_text,oid,oid,int4}',
  6040. proargmodes => '{i,i,i,o,o,o}',
  6041. proargnames => '{type,object_names,object_args,classid,objid,objsubid}',
  6042. prosrc => 'pg_get_object_address' },
  6043. { oid => '2079', descr => 'is table visible in search path?',
  6044. proname => 'pg_table_is_visible', procost => '10', provolatile => 's',
  6045. prorettype => 'bool', proargtypes => 'oid', prosrc => 'pg_table_is_visible' },
  6046. { oid => '2080', descr => 'is type visible in search path?',
  6047. proname => 'pg_type_is_visible', procost => '10', provolatile => 's',
  6048. prorettype => 'bool', proargtypes => 'oid', prosrc => 'pg_type_is_visible' },
  6049. { oid => '2081', descr => 'is function visible in search path?',
  6050. proname => 'pg_function_is_visible', procost => '10', provolatile => 's',
  6051. prorettype => 'bool', proargtypes => 'oid',
  6052. prosrc => 'pg_function_is_visible' },
  6053. { oid => '2082', descr => 'is operator visible in search path?',
  6054. proname => 'pg_operator_is_visible', procost => '10', provolatile => 's',
  6055. prorettype => 'bool', proargtypes => 'oid',
  6056. prosrc => 'pg_operator_is_visible' },
  6057. { oid => '2083', descr => 'is opclass visible in search path?',
  6058. proname => 'pg_opclass_is_visible', procost => '10', provolatile => 's',
  6059. prorettype => 'bool', proargtypes => 'oid',
  6060. prosrc => 'pg_opclass_is_visible' },
  6061. { oid => '3829', descr => 'is opfamily visible in search path?',
  6062. proname => 'pg_opfamily_is_visible', procost => '10', provolatile => 's',
  6063. prorettype => 'bool', proargtypes => 'oid',
  6064. prosrc => 'pg_opfamily_is_visible' },
  6065. { oid => '2093', descr => 'is conversion visible in search path?',
  6066. proname => 'pg_conversion_is_visible', procost => '10', provolatile => 's',
  6067. prorettype => 'bool', proargtypes => 'oid',
  6068. prosrc => 'pg_conversion_is_visible' },
  6069. { oid => '3403', descr => 'is statistics object visible in search path?',
  6070. proname => 'pg_statistics_obj_is_visible', procost => '10',
  6071. provolatile => 's', prorettype => 'bool', proargtypes => 'oid',
  6072. prosrc => 'pg_statistics_obj_is_visible' },
  6073. { oid => '3756', descr => 'is text search parser visible in search path?',
  6074. proname => 'pg_ts_parser_is_visible', procost => '10', provolatile => 's',
  6075. prorettype => 'bool', proargtypes => 'oid',
  6076. prosrc => 'pg_ts_parser_is_visible' },
  6077. { oid => '3757', descr => 'is text search dictionary visible in search path?',
  6078. proname => 'pg_ts_dict_is_visible', procost => '10', provolatile => 's',
  6079. prorettype => 'bool', proargtypes => 'oid',
  6080. prosrc => 'pg_ts_dict_is_visible' },
  6081. { oid => '3768', descr => 'is text search template visible in search path?',
  6082. proname => 'pg_ts_template_is_visible', procost => '10', provolatile => 's',
  6083. prorettype => 'bool', proargtypes => 'oid',
  6084. prosrc => 'pg_ts_template_is_visible' },
  6085. { oid => '3758',
  6086. descr => 'is text search configuration visible in search path?',
  6087. proname => 'pg_ts_config_is_visible', procost => '10', provolatile => 's',
  6088. prorettype => 'bool', proargtypes => 'oid',
  6089. prosrc => 'pg_ts_config_is_visible' },
  6090. { oid => '3815', descr => 'is collation visible in search path?',
  6091. proname => 'pg_collation_is_visible', procost => '10', provolatile => 's',
  6092. prorettype => 'bool', proargtypes => 'oid',
  6093. prosrc => 'pg_collation_is_visible' },
  6094. { oid => '2854', descr => 'get OID of current session\'s temp schema, if any',
  6095. proname => 'pg_my_temp_schema', provolatile => 's', proparallel => 'r',
  6096. prorettype => 'oid', proargtypes => '', prosrc => 'pg_my_temp_schema' },
  6097. { oid => '2855', descr => 'is schema another session\'s temp schema?',
  6098. proname => 'pg_is_other_temp_schema', provolatile => 's',
  6099. prorettype => 'bool', proargtypes => 'oid',
  6100. prosrc => 'pg_is_other_temp_schema' },
  6101. { oid => '2171', descr => 'cancel a server process\' current query',
  6102. proname => 'pg_cancel_backend', provolatile => 'v', prorettype => 'bool',
  6103. proargtypes => 'int4', prosrc => 'pg_cancel_backend' },
  6104. { oid => '2096', descr => 'terminate a server process',
  6105. proname => 'pg_terminate_backend', provolatile => 'v', prorettype => 'bool',
  6106. proargtypes => 'int4 int8', proargnames => '{pid,timeout}',
  6107. prosrc => 'pg_terminate_backend' },
  6108. { oid => '2172', descr => 'prepare for taking an online backup',
  6109. proname => 'pg_backup_start', provolatile => 'v', proparallel => 'r',
  6110. prorettype => 'pg_lsn', proargtypes => 'text bool',
  6111. prosrc => 'pg_backup_start' },
  6112. { oid => '2739', descr => 'finish taking an online backup',
  6113. proname => 'pg_backup_stop', provolatile => 'v', proparallel => 'r',
  6114. prorettype => 'record', proargtypes => 'bool',
  6115. proallargtypes => '{bool,pg_lsn,text,text}', proargmodes => '{i,o,o,o}',
  6116. proargnames => '{wait_for_archive,lsn,labelfile,spcmapfile}',
  6117. prosrc => 'pg_backup_stop' },
  6118. { oid => '3436', descr => 'promote standby server',
  6119. proname => 'pg_promote', provolatile => 'v', prorettype => 'bool',
  6120. proargtypes => 'bool int4', proargnames => '{wait,wait_seconds}',
  6121. prosrc => 'pg_promote' },
  6122. { oid => '2848', descr => 'switch to new wal file',
  6123. proname => 'pg_switch_wal', provolatile => 'v', prorettype => 'pg_lsn',
  6124. proargtypes => '', prosrc => 'pg_switch_wal' },
  6125. { oid => '6305', descr => 'log details of the current snapshot to WAL',
  6126. proname => 'pg_log_standby_snapshot', provolatile => 'v',
  6127. prorettype => 'pg_lsn', proargtypes => '',
  6128. prosrc => 'pg_log_standby_snapshot' },
  6129. { oid => '3098', descr => 'create a named restore point',
  6130. proname => 'pg_create_restore_point', provolatile => 'v',
  6131. prorettype => 'pg_lsn', proargtypes => 'text',
  6132. prosrc => 'pg_create_restore_point' },
  6133. { oid => '2849', descr => 'current wal write location',
  6134. proname => 'pg_current_wal_lsn', provolatile => 'v', prorettype => 'pg_lsn',
  6135. proargtypes => '', prosrc => 'pg_current_wal_lsn' },
  6136. { oid => '2852', descr => 'current wal insert location',
  6137. proname => 'pg_current_wal_insert_lsn', provolatile => 'v',
  6138. prorettype => 'pg_lsn', proargtypes => '',
  6139. prosrc => 'pg_current_wal_insert_lsn' },
  6140. { oid => '3330', descr => 'current wal flush location',
  6141. proname => 'pg_current_wal_flush_lsn', provolatile => 'v',
  6142. prorettype => 'pg_lsn', proargtypes => '',
  6143. prosrc => 'pg_current_wal_flush_lsn' },
  6144. { oid => '2850',
  6145. descr => 'wal filename and byte offset, given a wal location',
  6146. proname => 'pg_walfile_name_offset', prorettype => 'record',
  6147. proargtypes => 'pg_lsn', proallargtypes => '{pg_lsn,text,int4}',
  6148. proargmodes => '{i,o,o}', proargnames => '{lsn,file_name,file_offset}',
  6149. prosrc => 'pg_walfile_name_offset' },
  6150. { oid => '2851', descr => 'wal filename, given a wal location',
  6151. proname => 'pg_walfile_name', prorettype => 'text', proargtypes => 'pg_lsn',
  6152. prosrc => 'pg_walfile_name' },
  6153. { oid => '6213',
  6154. descr => 'sequence number and timeline ID given a wal filename',
  6155. proname => 'pg_split_walfile_name', provolatile => 's',
  6156. prorettype => 'record', proargtypes => 'text',
  6157. proallargtypes => '{text,numeric,int8}', proargmodes => '{i,o,o}',
  6158. proargnames => '{file_name,segment_number,timeline_id}',
  6159. prosrc => 'pg_split_walfile_name' },
  6160. { oid => '3165', descr => 'difference in bytes, given two wal locations',
  6161. proname => 'pg_wal_lsn_diff', prorettype => 'numeric',
  6162. proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_wal_lsn_diff' },
  6163. { oid => '3809', descr => 'export a snapshot',
  6164. proname => 'pg_export_snapshot', provolatile => 'v', proparallel => 'u',
  6165. prorettype => 'text', proargtypes => '', prosrc => 'pg_export_snapshot' },
  6166. { oid => '3810', descr => 'true if server is in recovery',
  6167. proname => 'pg_is_in_recovery', provolatile => 'v', prorettype => 'bool',
  6168. proargtypes => '', prosrc => 'pg_is_in_recovery' },
  6169. { oid => '3820', descr => 'current wal flush location',
  6170. proname => 'pg_last_wal_receive_lsn', provolatile => 'v',
  6171. prorettype => 'pg_lsn', proargtypes => '',
  6172. prosrc => 'pg_last_wal_receive_lsn' },
  6173. { oid => '3821', descr => 'last wal replay location',
  6174. proname => 'pg_last_wal_replay_lsn', provolatile => 'v',
  6175. prorettype => 'pg_lsn', proargtypes => '',
  6176. prosrc => 'pg_last_wal_replay_lsn' },
  6177. { oid => '3830', descr => 'timestamp of last replay xact',
  6178. proname => 'pg_last_xact_replay_timestamp', provolatile => 'v',
  6179. prorettype => 'timestamptz', proargtypes => '',
  6180. prosrc => 'pg_last_xact_replay_timestamp' },
  6181. { oid => '3071', descr => 'pause wal replay',
  6182. proname => 'pg_wal_replay_pause', provolatile => 'v', prorettype => 'void',
  6183. proargtypes => '', prosrc => 'pg_wal_replay_pause' },
  6184. { oid => '3072', descr => 'resume wal replay, if it was paused',
  6185. proname => 'pg_wal_replay_resume', provolatile => 'v', prorettype => 'void',
  6186. proargtypes => '', prosrc => 'pg_wal_replay_resume' },
  6187. { oid => '3073', descr => 'true if wal replay is paused',
  6188. proname => 'pg_is_wal_replay_paused', provolatile => 'v',
  6189. prorettype => 'bool', proargtypes => '',
  6190. prosrc => 'pg_is_wal_replay_paused' },
  6191. { oid => '1137', descr => 'get wal replay pause state',
  6192. proname => 'pg_get_wal_replay_pause_state', provolatile => 'v',
  6193. prorettype => 'text', proargtypes => '',
  6194. prosrc => 'pg_get_wal_replay_pause_state' },
  6195. { oid => '6224', descr => 'get resource managers loaded in system',
  6196. proname => 'pg_get_wal_resource_managers', prorows => '50', proretset => 't',
  6197. provolatile => 'v', prorettype => 'record', proargtypes => '',
  6198. proallargtypes => '{int4,text,bool}', proargmodes => '{o,o,o}',
  6199. proargnames => '{rm_id, rm_name, rm_builtin}',
  6200. prosrc => 'pg_get_wal_resource_managers' },
  6201. { oid => '2621', descr => 'reload configuration files',
  6202. proname => 'pg_reload_conf', provolatile => 'v', prorettype => 'bool',
  6203. proargtypes => '', prosrc => 'pg_reload_conf' },
  6204. { oid => '2622', descr => 'rotate log file',
  6205. proname => 'pg_rotate_logfile', provolatile => 'v', prorettype => 'bool',
  6206. proargtypes => '', prosrc => 'pg_rotate_logfile_v2' },
  6207. { oid => '4099', descr => 'rotate log file - old version for adminpack 1.0',
  6208. proname => 'pg_rotate_logfile_old', provolatile => 'v', prorettype => 'bool',
  6209. proargtypes => '', prosrc => 'pg_rotate_logfile' },
  6210. { oid => '3800', descr => 'current logging collector file location',
  6211. proname => 'pg_current_logfile', proisstrict => 'f', provolatile => 'v',
  6212. prorettype => 'text', proargtypes => '', prosrc => 'pg_current_logfile' },
  6213. { oid => '3801', descr => 'current logging collector file location',
  6214. proname => 'pg_current_logfile', proisstrict => 'f', provolatile => 'v',
  6215. prorettype => 'text', proargtypes => 'text',
  6216. prosrc => 'pg_current_logfile_1arg' },
  6217. { oid => '2623', descr => 'get information about file',
  6218. proname => 'pg_stat_file', provolatile => 'v', prorettype => 'record',
  6219. proargtypes => 'text',
  6220. proallargtypes => '{text,int8,timestamptz,timestamptz,timestamptz,timestamptz,bool}',
  6221. proargmodes => '{i,o,o,o,o,o,o}',
  6222. proargnames => '{filename,size,access,modification,change,creation,isdir}',
  6223. prosrc => 'pg_stat_file_1arg' },
  6224. { oid => '3307', descr => 'get information about file',
  6225. proname => 'pg_stat_file', provolatile => 'v', prorettype => 'record',
  6226. proargtypes => 'text bool',
  6227. proallargtypes => '{text,bool,int8,timestamptz,timestamptz,timestamptz,timestamptz,bool}',
  6228. proargmodes => '{i,i,o,o,o,o,o,o}',
  6229. proargnames => '{filename,missing_ok,size,access,modification,change,creation,isdir}',
  6230. prosrc => 'pg_stat_file' },
  6231. { oid => '2624', descr => 'read text from a file',
  6232. proname => 'pg_read_file', provolatile => 'v', prorettype => 'text',
  6233. proargtypes => 'text int8 int8', prosrc => 'pg_read_file_off_len' },
  6234. { oid => '3293', descr => 'read text from a file',
  6235. proname => 'pg_read_file', provolatile => 'v', prorettype => 'text',
  6236. proargtypes => 'text int8 int8 bool',
  6237. prosrc => 'pg_read_file_off_len_missing' },
  6238. { oid => '4100',
  6239. descr => 'read text from a file - old version for adminpack 1.0',
  6240. proname => 'pg_read_file_old', provolatile => 'v', prorettype => 'text',
  6241. proargtypes => 'text int8 int8', prosrc => 'pg_read_file' },
  6242. { oid => '3826', descr => 'read text from a file',
  6243. proname => 'pg_read_file', provolatile => 'v', prorettype => 'text',
  6244. proargtypes => 'text', prosrc => 'pg_read_file_all' },
  6245. { oid => '6208', descr => 'read text from a file',
  6246. proname => 'pg_read_file', provolatile => 'v', prorettype => 'text',
  6247. proargtypes => 'text bool', prosrc => 'pg_read_file_all_missing' },
  6248. { oid => '3827', descr => 'read bytea from a file',
  6249. proname => 'pg_read_binary_file', provolatile => 'v', prorettype => 'bytea',
  6250. proargtypes => 'text int8 int8', prosrc => 'pg_read_binary_file_off_len' },
  6251. { oid => '3295', descr => 'read bytea from a file',
  6252. proname => 'pg_read_binary_file', provolatile => 'v', prorettype => 'bytea',
  6253. proargtypes => 'text int8 int8 bool',
  6254. prosrc => 'pg_read_binary_file_off_len_missing' },
  6255. { oid => '3828', descr => 'read bytea from a file',
  6256. proname => 'pg_read_binary_file', provolatile => 'v', prorettype => 'bytea',
  6257. proargtypes => 'text', prosrc => 'pg_read_binary_file_all' },
  6258. { oid => '6209', descr => 'read bytea from a file',
  6259. proname => 'pg_read_binary_file', provolatile => 'v', prorettype => 'bytea',
  6260. proargtypes => 'text bool', prosrc => 'pg_read_binary_file_all_missing' },
  6261. { oid => '2625', descr => 'list all files in a directory',
  6262. proname => 'pg_ls_dir', prorows => '1000', proretset => 't',
  6263. provolatile => 'v', prorettype => 'text', proargtypes => 'text',
  6264. prosrc => 'pg_ls_dir_1arg' },
  6265. { oid => '3297', descr => 'list all files in a directory',
  6266. proname => 'pg_ls_dir', prorows => '1000', proretset => 't',
  6267. provolatile => 'v', prorettype => 'text', proargtypes => 'text bool bool',
  6268. prosrc => 'pg_ls_dir' },
  6269. { oid => '2626', descr => 'sleep for the specified time in seconds',
  6270. proname => 'pg_sleep', provolatile => 'v', prorettype => 'void',
  6271. proargtypes => 'float8', prosrc => 'pg_sleep' },
  6272. { oid => '3935', descr => 'sleep for the specified interval',
  6273. proname => 'pg_sleep_for', prolang => 'sql', provolatile => 'v',
  6274. prorettype => 'void', proargtypes => 'interval',
  6275. prosrc => 'see system_functions.sql' },
  6276. { oid => '3936', descr => 'sleep until the specified time',
  6277. proname => 'pg_sleep_until', prolang => 'sql', provolatile => 'v',
  6278. prorettype => 'void', proargtypes => 'timestamptz',
  6279. prosrc => 'see system_functions.sql' },
  6280. { oid => '315', descr => 'Is JIT compilation available in this session?',
  6281. proname => 'pg_jit_available', provolatile => 'v', prorettype => 'bool',
  6282. proargtypes => '', prosrc => 'pg_jit_available' },
  6283. { oid => '2971', descr => 'convert boolean to text',
  6284. proname => 'text', prorettype => 'text', proargtypes => 'bool',
  6285. prosrc => 'booltext' },
  6286. # Aggregates (moved here from pg_aggregate for 7.3)
  6287. { oid => '2100',
  6288. descr => 'the average (arithmetic mean) as numeric of all bigint values',
  6289. proname => 'avg', prokind => 'a', proisstrict => 'f', prorettype => 'numeric',
  6290. proargtypes => 'int8', prosrc => 'aggregate_dummy' },
  6291. { oid => '2101',
  6292. descr => 'the average (arithmetic mean) as numeric of all integer values',
  6293. proname => 'avg', prokind => 'a', proisstrict => 'f', prorettype => 'numeric',
  6294. proargtypes => 'int4', prosrc => 'aggregate_dummy' },
  6295. { oid => '2102',
  6296. descr => 'the average (arithmetic mean) as numeric of all smallint values',
  6297. proname => 'avg', prokind => 'a', proisstrict => 'f', prorettype => 'numeric',
  6298. proargtypes => 'int2', prosrc => 'aggregate_dummy' },
  6299. { oid => '2103',
  6300. descr => 'the average (arithmetic mean) as numeric of all numeric values',
  6301. proname => 'avg', prokind => 'a', proisstrict => 'f', prorettype => 'numeric',
  6302. proargtypes => 'numeric', prosrc => 'aggregate_dummy' },
  6303. { oid => '2104',
  6304. descr => 'the average (arithmetic mean) as float8 of all float4 values',
  6305. proname => 'avg', prokind => 'a', proisstrict => 'f', prorettype => 'float8',
  6306. proargtypes => 'float4', prosrc => 'aggregate_dummy' },
  6307. { oid => '2105',
  6308. descr => 'the average (arithmetic mean) as float8 of all float8 values',
  6309. proname => 'avg', prokind => 'a', proisstrict => 'f', prorettype => 'float8',
  6310. proargtypes => 'float8', prosrc => 'aggregate_dummy' },
  6311. { oid => '2106',
  6312. descr => 'the average (arithmetic mean) as interval of all interval values',
  6313. proname => 'avg', prokind => 'a', proisstrict => 'f',
  6314. prorettype => 'interval', proargtypes => 'interval',
  6315. prosrc => 'aggregate_dummy' },
  6316. { oid => '2107', descr => 'sum as numeric across all bigint input values',
  6317. proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'numeric',
  6318. proargtypes => 'int8', prosrc => 'aggregate_dummy' },
  6319. { oid => '2108', descr => 'sum as bigint across all integer input values',
  6320. proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'int8',
  6321. proargtypes => 'int4', prosrc => 'aggregate_dummy' },
  6322. { oid => '2109', descr => 'sum as bigint across all smallint input values',
  6323. proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'int8',
  6324. proargtypes => 'int2', prosrc => 'aggregate_dummy' },
  6325. { oid => '2110', descr => 'sum as float4 across all float4 input values',
  6326. proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'float4',
  6327. proargtypes => 'float4', prosrc => 'aggregate_dummy' },
  6328. { oid => '2111', descr => 'sum as float8 across all float8 input values',
  6329. proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'float8',
  6330. proargtypes => 'float8', prosrc => 'aggregate_dummy' },
  6331. { oid => '2112', descr => 'sum as money across all money input values',
  6332. proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'money',
  6333. proargtypes => 'money', prosrc => 'aggregate_dummy' },
  6334. { oid => '2113', descr => 'sum as interval across all interval input values',
  6335. proname => 'sum', prokind => 'a', proisstrict => 'f',
  6336. prorettype => 'interval', proargtypes => 'interval',
  6337. prosrc => 'aggregate_dummy' },
  6338. { oid => '2114', descr => 'sum as numeric across all numeric input values',
  6339. proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'numeric',
  6340. proargtypes => 'numeric', prosrc => 'aggregate_dummy' },
  6341. { oid => '2115', descr => 'maximum value of all bigint input values',
  6342. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'int8',
  6343. proargtypes => 'int8', prosrc => 'aggregate_dummy' },
  6344. { oid => '2116', descr => 'maximum value of all integer input values',
  6345. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'int4',
  6346. proargtypes => 'int4', prosrc => 'aggregate_dummy' },
  6347. { oid => '2117', descr => 'maximum value of all smallint input values',
  6348. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'int2',
  6349. proargtypes => 'int2', prosrc => 'aggregate_dummy' },
  6350. { oid => '2118', descr => 'maximum value of all oid input values',
  6351. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'oid',
  6352. proargtypes => 'oid', prosrc => 'aggregate_dummy' },
  6353. { oid => '2119', descr => 'maximum value of all float4 input values',
  6354. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'float4',
  6355. proargtypes => 'float4', prosrc => 'aggregate_dummy' },
  6356. { oid => '2120', descr => 'maximum value of all float8 input values',
  6357. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'float8',
  6358. proargtypes => 'float8', prosrc => 'aggregate_dummy' },
  6359. { oid => '2122', descr => 'maximum value of all date input values',
  6360. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'date',
  6361. proargtypes => 'date', prosrc => 'aggregate_dummy' },
  6362. { oid => '2123', descr => 'maximum value of all time input values',
  6363. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'time',
  6364. proargtypes => 'time', prosrc => 'aggregate_dummy' },
  6365. { oid => '2124',
  6366. descr => 'maximum value of all time with time zone input values',
  6367. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'timetz',
  6368. proargtypes => 'timetz', prosrc => 'aggregate_dummy' },
  6369. { oid => '2125', descr => 'maximum value of all money input values',
  6370. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'money',
  6371. proargtypes => 'money', prosrc => 'aggregate_dummy' },
  6372. { oid => '2126', descr => 'maximum value of all timestamp input values',
  6373. proname => 'max', prokind => 'a', proisstrict => 'f',
  6374. prorettype => 'timestamp', proargtypes => 'timestamp',
  6375. prosrc => 'aggregate_dummy' },
  6376. { oid => '2127',
  6377. descr => 'maximum value of all timestamp with time zone input values',
  6378. proname => 'max', prokind => 'a', proisstrict => 'f',
  6379. prorettype => 'timestamptz', proargtypes => 'timestamptz',
  6380. prosrc => 'aggregate_dummy' },
  6381. { oid => '2128', descr => 'maximum value of all interval input values',
  6382. proname => 'max', prokind => 'a', proisstrict => 'f',
  6383. prorettype => 'interval', proargtypes => 'interval',
  6384. prosrc => 'aggregate_dummy' },
  6385. { oid => '2129', descr => 'maximum value of all text input values',
  6386. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'text',
  6387. proargtypes => 'text', prosrc => 'aggregate_dummy' },
  6388. { oid => '2130', descr => 'maximum value of all numeric input values',
  6389. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'numeric',
  6390. proargtypes => 'numeric', prosrc => 'aggregate_dummy' },
  6391. { oid => '2050', descr => 'maximum value of all anyarray input values',
  6392. proname => 'max', prokind => 'a', proisstrict => 'f',
  6393. prorettype => 'anyarray', proargtypes => 'anyarray',
  6394. prosrc => 'aggregate_dummy' },
  6395. { oid => '2244', descr => 'maximum value of all bpchar input values',
  6396. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'bpchar',
  6397. proargtypes => 'bpchar', prosrc => 'aggregate_dummy' },
  6398. { oid => '2797', descr => 'maximum value of all tid input values',
  6399. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'tid',
  6400. proargtypes => 'tid', prosrc => 'aggregate_dummy' },
  6401. { oid => '3564', descr => 'maximum value of all inet input values',
  6402. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'inet',
  6403. proargtypes => 'inet', prosrc => 'aggregate_dummy' },
  6404. { oid => '4189', descr => 'maximum value of all pg_lsn input values',
  6405. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'pg_lsn',
  6406. proargtypes => 'pg_lsn', prosrc => 'aggregate_dummy' },
  6407. { oid => '5099', descr => 'maximum value of all xid8 input values',
  6408. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'xid8',
  6409. proargtypes => 'xid8', prosrc => 'aggregate_dummy' },
  6410. { oid => '2131', descr => 'minimum value of all bigint input values',
  6411. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'int8',
  6412. proargtypes => 'int8', prosrc => 'aggregate_dummy' },
  6413. { oid => '2132', descr => 'minimum value of all integer input values',
  6414. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'int4',
  6415. proargtypes => 'int4', prosrc => 'aggregate_dummy' },
  6416. { oid => '2133', descr => 'minimum value of all smallint input values',
  6417. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'int2',
  6418. proargtypes => 'int2', prosrc => 'aggregate_dummy' },
  6419. { oid => '2134', descr => 'minimum value of all oid input values',
  6420. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'oid',
  6421. proargtypes => 'oid', prosrc => 'aggregate_dummy' },
  6422. { oid => '2135', descr => 'minimum value of all float4 input values',
  6423. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'float4',
  6424. proargtypes => 'float4', prosrc => 'aggregate_dummy' },
  6425. { oid => '2136', descr => 'minimum value of all float8 input values',
  6426. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'float8',
  6427. proargtypes => 'float8', prosrc => 'aggregate_dummy' },
  6428. { oid => '2138', descr => 'minimum value of all date input values',
  6429. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'date',
  6430. proargtypes => 'date', prosrc => 'aggregate_dummy' },
  6431. { oid => '2139', descr => 'minimum value of all time input values',
  6432. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'time',
  6433. proargtypes => 'time', prosrc => 'aggregate_dummy' },
  6434. { oid => '2140',
  6435. descr => 'minimum value of all time with time zone input values',
  6436. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'timetz',
  6437. proargtypes => 'timetz', prosrc => 'aggregate_dummy' },
  6438. { oid => '2141', descr => 'minimum value of all money input values',
  6439. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'money',
  6440. proargtypes => 'money', prosrc => 'aggregate_dummy' },
  6441. { oid => '2142', descr => 'minimum value of all timestamp input values',
  6442. proname => 'min', prokind => 'a', proisstrict => 'f',
  6443. prorettype => 'timestamp', proargtypes => 'timestamp',
  6444. prosrc => 'aggregate_dummy' },
  6445. { oid => '2143',
  6446. descr => 'minimum value of all timestamp with time zone input values',
  6447. proname => 'min', prokind => 'a', proisstrict => 'f',
  6448. prorettype => 'timestamptz', proargtypes => 'timestamptz',
  6449. prosrc => 'aggregate_dummy' },
  6450. { oid => '2144', descr => 'minimum value of all interval input values',
  6451. proname => 'min', prokind => 'a', proisstrict => 'f',
  6452. prorettype => 'interval', proargtypes => 'interval',
  6453. prosrc => 'aggregate_dummy' },
  6454. { oid => '2145', descr => 'minimum value of all text values',
  6455. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'text',
  6456. proargtypes => 'text', prosrc => 'aggregate_dummy' },
  6457. { oid => '2146', descr => 'minimum value of all numeric input values',
  6458. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'numeric',
  6459. proargtypes => 'numeric', prosrc => 'aggregate_dummy' },
  6460. { oid => '2051', descr => 'minimum value of all anyarray input values',
  6461. proname => 'min', prokind => 'a', proisstrict => 'f',
  6462. prorettype => 'anyarray', proargtypes => 'anyarray',
  6463. prosrc => 'aggregate_dummy' },
  6464. { oid => '2245', descr => 'minimum value of all bpchar input values',
  6465. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'bpchar',
  6466. proargtypes => 'bpchar', prosrc => 'aggregate_dummy' },
  6467. { oid => '2798', descr => 'minimum value of all tid input values',
  6468. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'tid',
  6469. proargtypes => 'tid', prosrc => 'aggregate_dummy' },
  6470. { oid => '3565', descr => 'minimum value of all inet input values',
  6471. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'inet',
  6472. proargtypes => 'inet', prosrc => 'aggregate_dummy' },
  6473. { oid => '4190', descr => 'minimum value of all pg_lsn input values',
  6474. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'pg_lsn',
  6475. proargtypes => 'pg_lsn', prosrc => 'aggregate_dummy' },
  6476. { oid => '5100', descr => 'minimum value of all xid8 input values',
  6477. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'xid8',
  6478. proargtypes => 'xid8', prosrc => 'aggregate_dummy' },
  6479. # count has two forms: count(any) and count(*)
  6480. { oid => '2147',
  6481. descr => 'number of input rows for which the input expression is not null',
  6482. proname => 'count', prosupport => 'int8inc_support', prokind => 'a',
  6483. proisstrict => 'f', prorettype => 'int8', proargtypes => 'any',
  6484. prosrc => 'aggregate_dummy' },
  6485. { oid => '2803', descr => 'number of input rows',
  6486. proname => 'count', prosupport => 'int8inc_support', prokind => 'a',
  6487. proisstrict => 'f', prorettype => 'int8', proargtypes => '',
  6488. prosrc => 'aggregate_dummy' },
  6489. { oid => '6236', descr => 'planner support for count run condition',
  6490. proname => 'int8inc_support', prorettype => 'internal',
  6491. proargtypes => 'internal', prosrc => 'int8inc_support' },
  6492. { oid => '2718',
  6493. descr => 'population variance of bigint input values (square of the population standard deviation)',
  6494. proname => 'var_pop', prokind => 'a', proisstrict => 'f',
  6495. prorettype => 'numeric', proargtypes => 'int8', prosrc => 'aggregate_dummy' },
  6496. { oid => '2719',
  6497. descr => 'population variance of integer input values (square of the population standard deviation)',
  6498. proname => 'var_pop', prokind => 'a', proisstrict => 'f',
  6499. prorettype => 'numeric', proargtypes => 'int4', prosrc => 'aggregate_dummy' },
  6500. { oid => '2720',
  6501. descr => 'population variance of smallint input values (square of the population standard deviation)',
  6502. proname => 'var_pop', prokind => 'a', proisstrict => 'f',
  6503. prorettype => 'numeric', proargtypes => 'int2', prosrc => 'aggregate_dummy' },
  6504. { oid => '2721',
  6505. descr => 'population variance of float4 input values (square of the population standard deviation)',
  6506. proname => 'var_pop', prokind => 'a', proisstrict => 'f',
  6507. prorettype => 'float8', proargtypes => 'float4',
  6508. prosrc => 'aggregate_dummy' },
  6509. { oid => '2722',
  6510. descr => 'population variance of float8 input values (square of the population standard deviation)',
  6511. proname => 'var_pop', prokind => 'a', proisstrict => 'f',
  6512. prorettype => 'float8', proargtypes => 'float8',
  6513. prosrc => 'aggregate_dummy' },
  6514. { oid => '2723',
  6515. descr => 'population variance of numeric input values (square of the population standard deviation)',
  6516. proname => 'var_pop', prokind => 'a', proisstrict => 'f',
  6517. prorettype => 'numeric', proargtypes => 'numeric',
  6518. prosrc => 'aggregate_dummy' },
  6519. { oid => '2641',
  6520. descr => 'sample variance of bigint input values (square of the sample standard deviation)',
  6521. proname => 'var_samp', prokind => 'a', proisstrict => 'f',
  6522. prorettype => 'numeric', proargtypes => 'int8', prosrc => 'aggregate_dummy' },
  6523. { oid => '2642',
  6524. descr => 'sample variance of integer input values (square of the sample standard deviation)',
  6525. proname => 'var_samp', prokind => 'a', proisstrict => 'f',
  6526. prorettype => 'numeric', proargtypes => 'int4', prosrc => 'aggregate_dummy' },
  6527. { oid => '2643',
  6528. descr => 'sample variance of smallint input values (square of the sample standard deviation)',
  6529. proname => 'var_samp', prokind => 'a', proisstrict => 'f',
  6530. prorettype => 'numeric', proargtypes => 'int2', prosrc => 'aggregate_dummy' },
  6531. { oid => '2644',
  6532. descr => 'sample variance of float4 input values (square of the sample standard deviation)',
  6533. proname => 'var_samp', prokind => 'a', proisstrict => 'f',
  6534. prorettype => 'float8', proargtypes => 'float4',
  6535. prosrc => 'aggregate_dummy' },
  6536. { oid => '2645',
  6537. descr => 'sample variance of float8 input values (square of the sample standard deviation)',
  6538. proname => 'var_samp', prokind => 'a', proisstrict => 'f',
  6539. prorettype => 'float8', proargtypes => 'float8',
  6540. prosrc => 'aggregate_dummy' },
  6541. { oid => '2646',
  6542. descr => 'sample variance of numeric input values (square of the sample standard deviation)',
  6543. proname => 'var_samp', prokind => 'a', proisstrict => 'f',
  6544. prorettype => 'numeric', proargtypes => 'numeric',
  6545. prosrc => 'aggregate_dummy' },
  6546. { oid => '2148', descr => 'historical alias for var_samp',
  6547. proname => 'variance', prokind => 'a', proisstrict => 'f',
  6548. prorettype => 'numeric', proargtypes => 'int8', prosrc => 'aggregate_dummy' },
  6549. { oid => '2149', descr => 'historical alias for var_samp',
  6550. proname => 'variance', prokind => 'a', proisstrict => 'f',
  6551. prorettype => 'numeric', proargtypes => 'int4', prosrc => 'aggregate_dummy' },
  6552. { oid => '2150', descr => 'historical alias for var_samp',
  6553. proname => 'variance', prokind => 'a', proisstrict => 'f',
  6554. prorettype => 'numeric', proargtypes => 'int2', prosrc => 'aggregate_dummy' },
  6555. { oid => '2151', descr => 'historical alias for var_samp',
  6556. proname => 'variance', prokind => 'a', proisstrict => 'f',
  6557. prorettype => 'float8', proargtypes => 'float4',
  6558. prosrc => 'aggregate_dummy' },
  6559. { oid => '2152', descr => 'historical alias for var_samp',
  6560. proname => 'variance', prokind => 'a', proisstrict => 'f',
  6561. prorettype => 'float8', proargtypes => 'float8',
  6562. prosrc => 'aggregate_dummy' },
  6563. { oid => '2153', descr => 'historical alias for var_samp',
  6564. proname => 'variance', prokind => 'a', proisstrict => 'f',
  6565. prorettype => 'numeric', proargtypes => 'numeric',
  6566. prosrc => 'aggregate_dummy' },
  6567. { oid => '2724',
  6568. descr => 'population standard deviation of bigint input values',
  6569. proname => 'stddev_pop', prokind => 'a', proisstrict => 'f',
  6570. prorettype => 'numeric', proargtypes => 'int8', prosrc => 'aggregate_dummy' },
  6571. { oid => '2725',
  6572. descr => 'population standard deviation of integer input values',
  6573. proname => 'stddev_pop', prokind => 'a', proisstrict => 'f',
  6574. prorettype => 'numeric', proargtypes => 'int4', prosrc => 'aggregate_dummy' },
  6575. { oid => '2726',
  6576. descr => 'population standard deviation of smallint input values',
  6577. proname => 'stddev_pop', prokind => 'a', proisstrict => 'f',
  6578. prorettype => 'numeric', proargtypes => 'int2', prosrc => 'aggregate_dummy' },
  6579. { oid => '2727',
  6580. descr => 'population standard deviation of float4 input values',
  6581. proname => 'stddev_pop', prokind => 'a', proisstrict => 'f',
  6582. prorettype => 'float8', proargtypes => 'float4',
  6583. prosrc => 'aggregate_dummy' },
  6584. { oid => '2728',
  6585. descr => 'population standard deviation of float8 input values',
  6586. proname => 'stddev_pop', prokind => 'a', proisstrict => 'f',
  6587. prorettype => 'float8', proargtypes => 'float8',
  6588. prosrc => 'aggregate_dummy' },
  6589. { oid => '2729',
  6590. descr => 'population standard deviation of numeric input values',
  6591. proname => 'stddev_pop', prokind => 'a', proisstrict => 'f',
  6592. prorettype => 'numeric', proargtypes => 'numeric',
  6593. prosrc => 'aggregate_dummy' },
  6594. { oid => '2712', descr => 'sample standard deviation of bigint input values',
  6595. proname => 'stddev_samp', prokind => 'a', proisstrict => 'f',
  6596. prorettype => 'numeric', proargtypes => 'int8', prosrc => 'aggregate_dummy' },
  6597. { oid => '2713', descr => 'sample standard deviation of integer input values',
  6598. proname => 'stddev_samp', prokind => 'a', proisstrict => 'f',
  6599. prorettype => 'numeric', proargtypes => 'int4', prosrc => 'aggregate_dummy' },
  6600. { oid => '2714',
  6601. descr => 'sample standard deviation of smallint input values',
  6602. proname => 'stddev_samp', prokind => 'a', proisstrict => 'f',
  6603. prorettype => 'numeric', proargtypes => 'int2', prosrc => 'aggregate_dummy' },
  6604. { oid => '2715', descr => 'sample standard deviation of float4 input values',
  6605. proname => 'stddev_samp', prokind => 'a', proisstrict => 'f',
  6606. prorettype => 'float8', proargtypes => 'float4',
  6607. prosrc => 'aggregate_dummy' },
  6608. { oid => '2716', descr => 'sample standard deviation of float8 input values',
  6609. proname => 'stddev_samp', prokind => 'a', proisstrict => 'f',
  6610. prorettype => 'float8', proargtypes => 'float8',
  6611. prosrc => 'aggregate_dummy' },
  6612. { oid => '2717', descr => 'sample standard deviation of numeric input values',
  6613. proname => 'stddev_samp', prokind => 'a', proisstrict => 'f',
  6614. prorettype => 'numeric', proargtypes => 'numeric',
  6615. prosrc => 'aggregate_dummy' },
  6616. { oid => '2154', descr => 'historical alias for stddev_samp',
  6617. proname => 'stddev', prokind => 'a', proisstrict => 'f',
  6618. prorettype => 'numeric', proargtypes => 'int8', prosrc => 'aggregate_dummy' },
  6619. { oid => '2155', descr => 'historical alias for stddev_samp',
  6620. proname => 'stddev', prokind => 'a', proisstrict => 'f',
  6621. prorettype => 'numeric', proargtypes => 'int4', prosrc => 'aggregate_dummy' },
  6622. { oid => '2156', descr => 'historical alias for stddev_samp',
  6623. proname => 'stddev', prokind => 'a', proisstrict => 'f',
  6624. prorettype => 'numeric', proargtypes => 'int2', prosrc => 'aggregate_dummy' },
  6625. { oid => '2157', descr => 'historical alias for stddev_samp',
  6626. proname => 'stddev', prokind => 'a', proisstrict => 'f',
  6627. prorettype => 'float8', proargtypes => 'float4',
  6628. prosrc => 'aggregate_dummy' },
  6629. { oid => '2158', descr => 'historical alias for stddev_samp',
  6630. proname => 'stddev', prokind => 'a', proisstrict => 'f',
  6631. prorettype => 'float8', proargtypes => 'float8',
  6632. prosrc => 'aggregate_dummy' },
  6633. { oid => '2159', descr => 'historical alias for stddev_samp',
  6634. proname => 'stddev', prokind => 'a', proisstrict => 'f',
  6635. prorettype => 'numeric', proargtypes => 'numeric',
  6636. prosrc => 'aggregate_dummy' },
  6637. { oid => '2818',
  6638. descr => 'number of input rows in which both expressions are not null',
  6639. proname => 'regr_count', prokind => 'a', proisstrict => 'f',
  6640. prorettype => 'int8', proargtypes => 'float8 float8',
  6641. prosrc => 'aggregate_dummy' },
  6642. { oid => '2819',
  6643. descr => 'sum of squares of the independent variable (sum(X^2) - sum(X)^2/N)',
  6644. proname => 'regr_sxx', prokind => 'a', proisstrict => 'f',
  6645. prorettype => 'float8', proargtypes => 'float8 float8',
  6646. prosrc => 'aggregate_dummy' },
  6647. { oid => '2820',
  6648. descr => 'sum of squares of the dependent variable (sum(Y^2) - sum(Y)^2/N)',
  6649. proname => 'regr_syy', prokind => 'a', proisstrict => 'f',
  6650. prorettype => 'float8', proargtypes => 'float8 float8',
  6651. prosrc => 'aggregate_dummy' },
  6652. { oid => '2821',
  6653. descr => 'sum of products of independent times dependent variable (sum(X*Y) - sum(X) * sum(Y)/N)',
  6654. proname => 'regr_sxy', prokind => 'a', proisstrict => 'f',
  6655. prorettype => 'float8', proargtypes => 'float8 float8',
  6656. prosrc => 'aggregate_dummy' },
  6657. { oid => '2822', descr => 'average of the independent variable (sum(X)/N)',
  6658. proname => 'regr_avgx', prokind => 'a', proisstrict => 'f',
  6659. prorettype => 'float8', proargtypes => 'float8 float8',
  6660. prosrc => 'aggregate_dummy' },
  6661. { oid => '2823', descr => 'average of the dependent variable (sum(Y)/N)',
  6662. proname => 'regr_avgy', prokind => 'a', proisstrict => 'f',
  6663. prorettype => 'float8', proargtypes => 'float8 float8',
  6664. prosrc => 'aggregate_dummy' },
  6665. { oid => '2824', descr => 'square of the correlation coefficient',
  6666. proname => 'regr_r2', prokind => 'a', proisstrict => 'f',
  6667. prorettype => 'float8', proargtypes => 'float8 float8',
  6668. prosrc => 'aggregate_dummy' },
  6669. { oid => '2825',
  6670. descr => 'slope of the least-squares-fit linear equation determined by the (X, Y) pairs',
  6671. proname => 'regr_slope', prokind => 'a', proisstrict => 'f',
  6672. prorettype => 'float8', proargtypes => 'float8 float8',
  6673. prosrc => 'aggregate_dummy' },
  6674. { oid => '2826',
  6675. descr => 'y-intercept of the least-squares-fit linear equation determined by the (X, Y) pairs',
  6676. proname => 'regr_intercept', prokind => 'a', proisstrict => 'f',
  6677. prorettype => 'float8', proargtypes => 'float8 float8',
  6678. prosrc => 'aggregate_dummy' },
  6679. { oid => '2827', descr => 'population covariance',
  6680. proname => 'covar_pop', prokind => 'a', proisstrict => 'f',
  6681. prorettype => 'float8', proargtypes => 'float8 float8',
  6682. prosrc => 'aggregate_dummy' },
  6683. { oid => '2828', descr => 'sample covariance',
  6684. proname => 'covar_samp', prokind => 'a', proisstrict => 'f',
  6685. prorettype => 'float8', proargtypes => 'float8 float8',
  6686. prosrc => 'aggregate_dummy' },
  6687. { oid => '2829', descr => 'correlation coefficient',
  6688. proname => 'corr', prokind => 'a', proisstrict => 'f', prorettype => 'float8',
  6689. proargtypes => 'float8 float8', prosrc => 'aggregate_dummy' },
  6690. { oid => '2160',
  6691. proname => 'text_pattern_lt', proleakproof => 't', prorettype => 'bool',
  6692. proargtypes => 'text text', prosrc => 'text_pattern_lt' },
  6693. { oid => '2161',
  6694. proname => 'text_pattern_le', proleakproof => 't', prorettype => 'bool',
  6695. proargtypes => 'text text', prosrc => 'text_pattern_le' },
  6696. { oid => '2163',
  6697. proname => 'text_pattern_ge', proleakproof => 't', prorettype => 'bool',
  6698. proargtypes => 'text text', prosrc => 'text_pattern_ge' },
  6699. { oid => '2164',
  6700. proname => 'text_pattern_gt', proleakproof => 't', prorettype => 'bool',
  6701. proargtypes => 'text text', prosrc => 'text_pattern_gt' },
  6702. { oid => '2166', descr => 'less-equal-greater',
  6703. proname => 'bttext_pattern_cmp', proleakproof => 't', prorettype => 'int4',
  6704. proargtypes => 'text text', prosrc => 'bttext_pattern_cmp' },
  6705. { oid => '3332', descr => 'sort support',
  6706. proname => 'bttext_pattern_sortsupport', prorettype => 'void',
  6707. proargtypes => 'internal', prosrc => 'bttext_pattern_sortsupport' },
  6708. { oid => '2174',
  6709. proname => 'bpchar_pattern_lt', proleakproof => 't', prorettype => 'bool',
  6710. proargtypes => 'bpchar bpchar', prosrc => 'bpchar_pattern_lt' },
  6711. { oid => '2175',
  6712. proname => 'bpchar_pattern_le', proleakproof => 't', prorettype => 'bool',
  6713. proargtypes => 'bpchar bpchar', prosrc => 'bpchar_pattern_le' },
  6714. { oid => '2177',
  6715. proname => 'bpchar_pattern_ge', proleakproof => 't', prorettype => 'bool',
  6716. proargtypes => 'bpchar bpchar', prosrc => 'bpchar_pattern_ge' },
  6717. { oid => '2178',
  6718. proname => 'bpchar_pattern_gt', proleakproof => 't', prorettype => 'bool',
  6719. proargtypes => 'bpchar bpchar', prosrc => 'bpchar_pattern_gt' },
  6720. { oid => '2180', descr => 'less-equal-greater',
  6721. proname => 'btbpchar_pattern_cmp', proleakproof => 't', prorettype => 'int4',
  6722. proargtypes => 'bpchar bpchar', prosrc => 'btbpchar_pattern_cmp' },
  6723. { oid => '3333', descr => 'sort support',
  6724. proname => 'btbpchar_pattern_sortsupport', prorettype => 'void',
  6725. proargtypes => 'internal', prosrc => 'btbpchar_pattern_sortsupport' },
  6726. { oid => '2188', descr => 'less-equal-greater',
  6727. proname => 'btint48cmp', proleakproof => 't', prorettype => 'int4',
  6728. proargtypes => 'int4 int8', prosrc => 'btint48cmp' },
  6729. { oid => '2189', descr => 'less-equal-greater',
  6730. proname => 'btint84cmp', proleakproof => 't', prorettype => 'int4',
  6731. proargtypes => 'int8 int4', prosrc => 'btint84cmp' },
  6732. { oid => '2190', descr => 'less-equal-greater',
  6733. proname => 'btint24cmp', proleakproof => 't', prorettype => 'int4',
  6734. proargtypes => 'int2 int4', prosrc => 'btint24cmp' },
  6735. { oid => '2191', descr => 'less-equal-greater',
  6736. proname => 'btint42cmp', proleakproof => 't', prorettype => 'int4',
  6737. proargtypes => 'int4 int2', prosrc => 'btint42cmp' },
  6738. { oid => '2192', descr => 'less-equal-greater',
  6739. proname => 'btint28cmp', proleakproof => 't', prorettype => 'int4',
  6740. proargtypes => 'int2 int8', prosrc => 'btint28cmp' },
  6741. { oid => '2193', descr => 'less-equal-greater',
  6742. proname => 'btint82cmp', proleakproof => 't', prorettype => 'int4',
  6743. proargtypes => 'int8 int2', prosrc => 'btint82cmp' },
  6744. { oid => '2194', descr => 'less-equal-greater',
  6745. proname => 'btfloat48cmp', proleakproof => 't', prorettype => 'int4',
  6746. proargtypes => 'float4 float8', prosrc => 'btfloat48cmp' },
  6747. { oid => '2195', descr => 'less-equal-greater',
  6748. proname => 'btfloat84cmp', proleakproof => 't', prorettype => 'int4',
  6749. proargtypes => 'float8 float4', prosrc => 'btfloat84cmp' },
  6750. { oid => '2212', descr => 'I/O',
  6751. proname => 'regprocedurein', provolatile => 's', prorettype => 'regprocedure',
  6752. proargtypes => 'cstring', prosrc => 'regprocedurein' },
  6753. { oid => '2213', descr => 'I/O',
  6754. proname => 'regprocedureout', provolatile => 's', prorettype => 'cstring',
  6755. proargtypes => 'regprocedure', prosrc => 'regprocedureout' },
  6756. { oid => '2214', descr => 'I/O',
  6757. proname => 'regoperin', provolatile => 's', prorettype => 'regoper',
  6758. proargtypes => 'cstring', prosrc => 'regoperin' },
  6759. { oid => '2215', descr => 'I/O',
  6760. proname => 'regoperout', provolatile => 's', prorettype => 'cstring',
  6761. proargtypes => 'regoper', prosrc => 'regoperout' },
  6762. { oid => '3492', descr => 'convert operator name to regoper',
  6763. proname => 'to_regoper', provolatile => 's', prorettype => 'regoper',
  6764. proargtypes => 'text', prosrc => 'to_regoper' },
  6765. { oid => '3476', descr => 'convert operator name to regoperator',
  6766. proname => 'to_regoperator', provolatile => 's', prorettype => 'regoperator',
  6767. proargtypes => 'text', prosrc => 'to_regoperator' },
  6768. { oid => '2216', descr => 'I/O',
  6769. proname => 'regoperatorin', provolatile => 's', prorettype => 'regoperator',
  6770. proargtypes => 'cstring', prosrc => 'regoperatorin' },
  6771. { oid => '2217', descr => 'I/O',
  6772. proname => 'regoperatorout', provolatile => 's', prorettype => 'cstring',
  6773. proargtypes => 'regoperator', prosrc => 'regoperatorout' },
  6774. { oid => '2218', descr => 'I/O',
  6775. proname => 'regclassin', provolatile => 's', prorettype => 'regclass',
  6776. proargtypes => 'cstring', prosrc => 'regclassin' },
  6777. { oid => '2219', descr => 'I/O',
  6778. proname => 'regclassout', provolatile => 's', prorettype => 'cstring',
  6779. proargtypes => 'regclass', prosrc => 'regclassout' },
  6780. { oid => '3495', descr => 'convert classname to regclass',
  6781. proname => 'to_regclass', provolatile => 's', prorettype => 'regclass',
  6782. proargtypes => 'text', prosrc => 'to_regclass' },
  6783. { oid => '4193', descr => 'I/O',
  6784. proname => 'regcollationin', provolatile => 's', prorettype => 'regcollation',
  6785. proargtypes => 'cstring', prosrc => 'regcollationin' },
  6786. { oid => '4194', descr => 'I/O',
  6787. proname => 'regcollationout', provolatile => 's', prorettype => 'cstring',
  6788. proargtypes => 'regcollation', prosrc => 'regcollationout' },
  6789. { oid => '4195', descr => 'convert classname to regcollation',
  6790. proname => 'to_regcollation', provolatile => 's',
  6791. prorettype => 'regcollation', proargtypes => 'text',
  6792. prosrc => 'to_regcollation' },
  6793. { oid => '2220', descr => 'I/O',
  6794. proname => 'regtypein', provolatile => 's', prorettype => 'regtype',
  6795. proargtypes => 'cstring', prosrc => 'regtypein' },
  6796. { oid => '2221', descr => 'I/O',
  6797. proname => 'regtypeout', provolatile => 's', prorettype => 'cstring',
  6798. proargtypes => 'regtype', prosrc => 'regtypeout' },
  6799. { oid => '3493', descr => 'convert type name to regtype',
  6800. proname => 'to_regtype', provolatile => 's', prorettype => 'regtype',
  6801. proargtypes => 'text', prosrc => 'to_regtype' },
  6802. { oid => '1079', descr => 'convert text to regclass',
  6803. proname => 'regclass', provolatile => 's', prorettype => 'regclass',
  6804. proargtypes => 'text', prosrc => 'text_regclass' },
  6805. { oid => '4098', descr => 'I/O',
  6806. proname => 'regrolein', provolatile => 's', prorettype => 'regrole',
  6807. proargtypes => 'cstring', prosrc => 'regrolein' },
  6808. { oid => '4092', descr => 'I/O',
  6809. proname => 'regroleout', provolatile => 's', prorettype => 'cstring',
  6810. proargtypes => 'regrole', prosrc => 'regroleout' },
  6811. { oid => '4093', descr => 'convert role name to regrole',
  6812. proname => 'to_regrole', provolatile => 's', prorettype => 'regrole',
  6813. proargtypes => 'text', prosrc => 'to_regrole' },
  6814. { oid => '4084', descr => 'I/O',
  6815. proname => 'regnamespacein', provolatile => 's', prorettype => 'regnamespace',
  6816. proargtypes => 'cstring', prosrc => 'regnamespacein' },
  6817. { oid => '4085', descr => 'I/O',
  6818. proname => 'regnamespaceout', provolatile => 's', prorettype => 'cstring',
  6819. proargtypes => 'regnamespace', prosrc => 'regnamespaceout' },
  6820. { oid => '4086', descr => 'convert namespace name to regnamespace',
  6821. proname => 'to_regnamespace', provolatile => 's',
  6822. prorettype => 'regnamespace', proargtypes => 'text',
  6823. prosrc => 'to_regnamespace' },
  6824. { oid => '6210', descr => 'test whether string is valid input for data type',
  6825. proname => 'pg_input_is_valid', provolatile => 's', prorettype => 'bool',
  6826. proargtypes => 'text text', prosrc => 'pg_input_is_valid' },
  6827. { oid => '6211',
  6828. descr => 'get error details if string is not valid input for data type',
  6829. proname => 'pg_input_error_info', provolatile => 's', prorettype => 'record',
  6830. proargtypes => 'text text',
  6831. proallargtypes => '{text,text,text,text,text,text}',
  6832. proargmodes => '{i,i,o,o,o,o}',
  6833. proargnames => '{value,type_name,message,detail,hint,sql_error_code}',
  6834. prosrc => 'pg_input_error_info' },
  6835. { oid => '1268',
  6836. descr => 'parse qualified identifier to array of identifiers',
  6837. proname => 'parse_ident', prorettype => '_text', proargtypes => 'text bool',
  6838. proargnames => '{str,strict}', prosrc => 'parse_ident' },
  6839. { oid => '2246', descr => '(internal)',
  6840. proname => 'fmgr_internal_validator', provolatile => 's',
  6841. prorettype => 'void', proargtypes => 'oid',
  6842. prosrc => 'fmgr_internal_validator' },
  6843. { oid => '2247', descr => '(internal)',
  6844. proname => 'fmgr_c_validator', provolatile => 's', prorettype => 'void',
  6845. proargtypes => 'oid', prosrc => 'fmgr_c_validator' },
  6846. { oid => '2248', descr => '(internal)',
  6847. proname => 'fmgr_sql_validator', provolatile => 's', prorettype => 'void',
  6848. proargtypes => 'oid', prosrc => 'fmgr_sql_validator' },
  6849. { oid => '2250',
  6850. descr => 'user privilege on database by username, database name',
  6851. proname => 'has_database_privilege', provolatile => 's', prorettype => 'bool',
  6852. proargtypes => 'name text text',
  6853. prosrc => 'has_database_privilege_name_name' },
  6854. { oid => '2251',
  6855. descr => 'user privilege on database by username, database oid',
  6856. proname => 'has_database_privilege', provolatile => 's', prorettype => 'bool',
  6857. proargtypes => 'name oid text', prosrc => 'has_database_privilege_name_id' },
  6858. { oid => '2252',
  6859. descr => 'user privilege on database by user oid, database name',
  6860. proname => 'has_database_privilege', provolatile => 's', prorettype => 'bool',
  6861. proargtypes => 'oid text text', prosrc => 'has_database_privilege_id_name' },
  6862. { oid => '2253',
  6863. descr => 'user privilege on database by user oid, database oid',
  6864. proname => 'has_database_privilege', provolatile => 's', prorettype => 'bool',
  6865. proargtypes => 'oid oid text', prosrc => 'has_database_privilege_id_id' },
  6866. { oid => '2254',
  6867. descr => 'current user privilege on database by database name',
  6868. proname => 'has_database_privilege', provolatile => 's', prorettype => 'bool',
  6869. proargtypes => 'text text', prosrc => 'has_database_privilege_name' },
  6870. { oid => '2255',
  6871. descr => 'current user privilege on database by database oid',
  6872. proname => 'has_database_privilege', provolatile => 's', prorettype => 'bool',
  6873. proargtypes => 'oid text', prosrc => 'has_database_privilege_id' },
  6874. { oid => '2256',
  6875. descr => 'user privilege on function by username, function name',
  6876. proname => 'has_function_privilege', provolatile => 's', prorettype => 'bool',
  6877. proargtypes => 'name text text',
  6878. prosrc => 'has_function_privilege_name_name' },
  6879. { oid => '2257',
  6880. descr => 'user privilege on function by username, function oid',
  6881. proname => 'has_function_privilege', provolatile => 's', prorettype => 'bool',
  6882. proargtypes => 'name oid text', prosrc => 'has_function_privilege_name_id' },
  6883. { oid => '2258',
  6884. descr => 'user privilege on function by user oid, function name',
  6885. proname => 'has_function_privilege', provolatile => 's', prorettype => 'bool',
  6886. proargtypes => 'oid text text', prosrc => 'has_function_privilege_id_name' },
  6887. { oid => '2259',
  6888. descr => 'user privilege on function by user oid, function oid',
  6889. proname => 'has_function_privilege', provolatile => 's', prorettype => 'bool',
  6890. proargtypes => 'oid oid text', prosrc => 'has_function_privilege_id_id' },
  6891. { oid => '2260',
  6892. descr => 'current user privilege on function by function name',
  6893. proname => 'has_function_privilege', provolatile => 's', prorettype => 'bool',
  6894. proargtypes => 'text text', prosrc => 'has_function_privilege_name' },
  6895. { oid => '2261',
  6896. descr => 'current user privilege on function by function oid',
  6897. proname => 'has_function_privilege', provolatile => 's', prorettype => 'bool',
  6898. proargtypes => 'oid text', prosrc => 'has_function_privilege_id' },
  6899. { oid => '2262',
  6900. descr => 'user privilege on language by username, language name',
  6901. proname => 'has_language_privilege', provolatile => 's', prorettype => 'bool',
  6902. proargtypes => 'name text text',
  6903. prosrc => 'has_language_privilege_name_name' },
  6904. { oid => '2263',
  6905. descr => 'user privilege on language by username, language oid',
  6906. proname => 'has_language_privilege', provolatile => 's', prorettype => 'bool',
  6907. proargtypes => 'name oid text', prosrc => 'has_language_privilege_name_id' },
  6908. { oid => '2264',
  6909. descr => 'user privilege on language by user oid, language name',
  6910. proname => 'has_language_privilege', provolatile => 's', prorettype => 'bool',
  6911. proargtypes => 'oid text text', prosrc => 'has_language_privilege_id_name' },
  6912. { oid => '2265',
  6913. descr => 'user privilege on language by user oid, language oid',
  6914. proname => 'has_language_privilege', provolatile => 's', prorettype => 'bool',
  6915. proargtypes => 'oid oid text', prosrc => 'has_language_privilege_id_id' },
  6916. { oid => '2266',
  6917. descr => 'current user privilege on language by language name',
  6918. proname => 'has_language_privilege', provolatile => 's', prorettype => 'bool',
  6919. proargtypes => 'text text', prosrc => 'has_language_privilege_name' },
  6920. { oid => '2267',
  6921. descr => 'current user privilege on language by language oid',
  6922. proname => 'has_language_privilege', provolatile => 's', prorettype => 'bool',
  6923. proargtypes => 'oid text', prosrc => 'has_language_privilege_id' },
  6924. { oid => '2268', descr => 'user privilege on schema by username, schema name',
  6925. proname => 'has_schema_privilege', provolatile => 's', prorettype => 'bool',
  6926. proargtypes => 'name text text', prosrc => 'has_schema_privilege_name_name' },
  6927. { oid => '2269', descr => 'user privilege on schema by username, schema oid',
  6928. proname => 'has_schema_privilege', provolatile => 's', prorettype => 'bool',
  6929. proargtypes => 'name oid text', prosrc => 'has_schema_privilege_name_id' },
  6930. { oid => '2270', descr => 'user privilege on schema by user oid, schema name',
  6931. proname => 'has_schema_privilege', provolatile => 's', prorettype => 'bool',
  6932. proargtypes => 'oid text text', prosrc => 'has_schema_privilege_id_name' },
  6933. { oid => '2271', descr => 'user privilege on schema by user oid, schema oid',
  6934. proname => 'has_schema_privilege', provolatile => 's', prorettype => 'bool',
  6935. proargtypes => 'oid oid text', prosrc => 'has_schema_privilege_id_id' },
  6936. { oid => '2272', descr => 'current user privilege on schema by schema name',
  6937. proname => 'has_schema_privilege', provolatile => 's', prorettype => 'bool',
  6938. proargtypes => 'text text', prosrc => 'has_schema_privilege_name' },
  6939. { oid => '2273', descr => 'current user privilege on schema by schema oid',
  6940. proname => 'has_schema_privilege', provolatile => 's', prorettype => 'bool',
  6941. proargtypes => 'oid text', prosrc => 'has_schema_privilege_id' },
  6942. { oid => '2390',
  6943. descr => 'user privilege on tablespace by username, tablespace name',
  6944. proname => 'has_tablespace_privilege', provolatile => 's',
  6945. prorettype => 'bool', proargtypes => 'name text text',
  6946. prosrc => 'has_tablespace_privilege_name_name' },
  6947. { oid => '2391',
  6948. descr => 'user privilege on tablespace by username, tablespace oid',
  6949. proname => 'has_tablespace_privilege', provolatile => 's',
  6950. prorettype => 'bool', proargtypes => 'name oid text',
  6951. prosrc => 'has_tablespace_privilege_name_id' },
  6952. { oid => '2392',
  6953. descr => 'user privilege on tablespace by user oid, tablespace name',
  6954. proname => 'has_tablespace_privilege', provolatile => 's',
  6955. prorettype => 'bool', proargtypes => 'oid text text',
  6956. prosrc => 'has_tablespace_privilege_id_name' },
  6957. { oid => '2393',
  6958. descr => 'user privilege on tablespace by user oid, tablespace oid',
  6959. proname => 'has_tablespace_privilege', provolatile => 's',
  6960. prorettype => 'bool', proargtypes => 'oid oid text',
  6961. prosrc => 'has_tablespace_privilege_id_id' },
  6962. { oid => '2394',
  6963. descr => 'current user privilege on tablespace by tablespace name',
  6964. proname => 'has_tablespace_privilege', provolatile => 's',
  6965. prorettype => 'bool', proargtypes => 'text text',
  6966. prosrc => 'has_tablespace_privilege_name' },
  6967. { oid => '2395',
  6968. descr => 'current user privilege on tablespace by tablespace oid',
  6969. proname => 'has_tablespace_privilege', provolatile => 's',
  6970. prorettype => 'bool', proargtypes => 'oid text',
  6971. prosrc => 'has_tablespace_privilege_id' },
  6972. { oid => '3000',
  6973. descr => 'user privilege on foreign data wrapper by username, foreign data wrapper name',
  6974. proname => 'has_foreign_data_wrapper_privilege', provolatile => 's',
  6975. prorettype => 'bool', proargtypes => 'name text text',
  6976. prosrc => 'has_foreign_data_wrapper_privilege_name_name' },
  6977. { oid => '3001',
  6978. descr => 'user privilege on foreign data wrapper by username, foreign data wrapper oid',
  6979. proname => 'has_foreign_data_wrapper_privilege', provolatile => 's',
  6980. prorettype => 'bool', proargtypes => 'name oid text',
  6981. prosrc => 'has_foreign_data_wrapper_privilege_name_id' },
  6982. { oid => '3002',
  6983. descr => 'user privilege on foreign data wrapper by user oid, foreign data wrapper name',
  6984. proname => 'has_foreign_data_wrapper_privilege', provolatile => 's',
  6985. prorettype => 'bool', proargtypes => 'oid text text',
  6986. prosrc => 'has_foreign_data_wrapper_privilege_id_name' },
  6987. { oid => '3003',
  6988. descr => 'user privilege on foreign data wrapper by user oid, foreign data wrapper oid',
  6989. proname => 'has_foreign_data_wrapper_privilege', provolatile => 's',
  6990. prorettype => 'bool', proargtypes => 'oid oid text',
  6991. prosrc => 'has_foreign_data_wrapper_privilege_id_id' },
  6992. { oid => '3004',
  6993. descr => 'current user privilege on foreign data wrapper by foreign data wrapper name',
  6994. proname => 'has_foreign_data_wrapper_privilege', provolatile => 's',
  6995. prorettype => 'bool', proargtypes => 'text text',
  6996. prosrc => 'has_foreign_data_wrapper_privilege_name' },
  6997. { oid => '3005',
  6998. descr => 'current user privilege on foreign data wrapper by foreign data wrapper oid',
  6999. proname => 'has_foreign_data_wrapper_privilege', provolatile => 's',
  7000. prorettype => 'bool', proargtypes => 'oid text',
  7001. prosrc => 'has_foreign_data_wrapper_privilege_id' },
  7002. { oid => '3006', descr => 'user privilege on server by username, server name',
  7003. proname => 'has_server_privilege', provolatile => 's', prorettype => 'bool',
  7004. proargtypes => 'name text text', prosrc => 'has_server_privilege_name_name' },
  7005. { oid => '3007', descr => 'user privilege on server by username, server oid',
  7006. proname => 'has_server_privilege', provolatile => 's', prorettype => 'bool',
  7007. proargtypes => 'name oid text', prosrc => 'has_server_privilege_name_id' },
  7008. { oid => '3008', descr => 'user privilege on server by user oid, server name',
  7009. proname => 'has_server_privilege', provolatile => 's', prorettype => 'bool',
  7010. proargtypes => 'oid text text', prosrc => 'has_server_privilege_id_name' },
  7011. { oid => '3009', descr => 'user privilege on server by user oid, server oid',
  7012. proname => 'has_server_privilege', provolatile => 's', prorettype => 'bool',
  7013. proargtypes => 'oid oid text', prosrc => 'has_server_privilege_id_id' },
  7014. { oid => '3010', descr => 'current user privilege on server by server name',
  7015. proname => 'has_server_privilege', provolatile => 's', prorettype => 'bool',
  7016. proargtypes => 'text text', prosrc => 'has_server_privilege_name' },
  7017. { oid => '3011', descr => 'current user privilege on server by server oid',
  7018. proname => 'has_server_privilege', provolatile => 's', prorettype => 'bool',
  7019. proargtypes => 'oid text', prosrc => 'has_server_privilege_id' },
  7020. { oid => '3138', descr => 'user privilege on type by username, type name',
  7021. proname => 'has_type_privilege', provolatile => 's', prorettype => 'bool',
  7022. proargtypes => 'name text text', prosrc => 'has_type_privilege_name_name' },
  7023. { oid => '3139', descr => 'user privilege on type by username, type oid',
  7024. proname => 'has_type_privilege', provolatile => 's', prorettype => 'bool',
  7025. proargtypes => 'name oid text', prosrc => 'has_type_privilege_name_id' },
  7026. { oid => '3140', descr => 'user privilege on type by user oid, type name',
  7027. proname => 'has_type_privilege', provolatile => 's', prorettype => 'bool',
  7028. proargtypes => 'oid text text', prosrc => 'has_type_privilege_id_name' },
  7029. { oid => '3141', descr => 'user privilege on type by user oid, type oid',
  7030. proname => 'has_type_privilege', provolatile => 's', prorettype => 'bool',
  7031. proargtypes => 'oid oid text', prosrc => 'has_type_privilege_id_id' },
  7032. { oid => '3142', descr => 'current user privilege on type by type name',
  7033. proname => 'has_type_privilege', provolatile => 's', prorettype => 'bool',
  7034. proargtypes => 'text text', prosrc => 'has_type_privilege_name' },
  7035. { oid => '3143', descr => 'current user privilege on type by type oid',
  7036. proname => 'has_type_privilege', provolatile => 's', prorettype => 'bool',
  7037. proargtypes => 'oid text', prosrc => 'has_type_privilege_id' },
  7038. { oid => '6205',
  7039. descr => 'user privilege on parameter by username, parameter name',
  7040. proname => 'has_parameter_privilege', provolatile => 's',
  7041. prorettype => 'bool', proargtypes => 'name text text',
  7042. prosrc => 'has_parameter_privilege_name_name' },
  7043. { oid => '6206',
  7044. descr => 'user privilege on parameter by user oid, parameter name',
  7045. proname => 'has_parameter_privilege', provolatile => 's',
  7046. prorettype => 'bool', proargtypes => 'oid text text',
  7047. prosrc => 'has_parameter_privilege_id_name' },
  7048. { oid => '6207',
  7049. descr => 'current user privilege on parameter by parameter name',
  7050. proname => 'has_parameter_privilege', provolatile => 's',
  7051. prorettype => 'bool', proargtypes => 'text text',
  7052. prosrc => 'has_parameter_privilege_name' },
  7053. { oid => '2705', descr => 'user privilege on role by username, role name',
  7054. proname => 'pg_has_role', provolatile => 's', prorettype => 'bool',
  7055. proargtypes => 'name name text', prosrc => 'pg_has_role_name_name' },
  7056. { oid => '2706', descr => 'user privilege on role by username, role oid',
  7057. proname => 'pg_has_role', provolatile => 's', prorettype => 'bool',
  7058. proargtypes => 'name oid text', prosrc => 'pg_has_role_name_id' },
  7059. { oid => '2707', descr => 'user privilege on role by user oid, role name',
  7060. proname => 'pg_has_role', provolatile => 's', prorettype => 'bool',
  7061. proargtypes => 'oid name text', prosrc => 'pg_has_role_id_name' },
  7062. { oid => '2708', descr => 'user privilege on role by user oid, role oid',
  7063. proname => 'pg_has_role', provolatile => 's', prorettype => 'bool',
  7064. proargtypes => 'oid oid text', prosrc => 'pg_has_role_id_id' },
  7065. { oid => '2709', descr => 'current user privilege on role by role name',
  7066. proname => 'pg_has_role', provolatile => 's', prorettype => 'bool',
  7067. proargtypes => 'name text', prosrc => 'pg_has_role_name' },
  7068. { oid => '2710', descr => 'current user privilege on role by role oid',
  7069. proname => 'pg_has_role', provolatile => 's', prorettype => 'bool',
  7070. proargtypes => 'oid text', prosrc => 'pg_has_role_id' },
  7071. { oid => '1269',
  7072. descr => 'bytes required to store the value, perhaps with compression',
  7073. proname => 'pg_column_size', provolatile => 's', prorettype => 'int4',
  7074. proargtypes => 'any', prosrc => 'pg_column_size' },
  7075. { oid => '2121', descr => 'compression method for the compressed datum',
  7076. proname => 'pg_column_compression', provolatile => 's', prorettype => 'text',
  7077. proargtypes => 'any', prosrc => 'pg_column_compression' },
  7078. { oid => '2322',
  7079. descr => 'total disk space usage for the specified tablespace',
  7080. proname => 'pg_tablespace_size', provolatile => 'v', prorettype => 'int8',
  7081. proargtypes => 'oid', prosrc => 'pg_tablespace_size_oid' },
  7082. { oid => '2323',
  7083. descr => 'total disk space usage for the specified tablespace',
  7084. proname => 'pg_tablespace_size', provolatile => 'v', prorettype => 'int8',
  7085. proargtypes => 'name', prosrc => 'pg_tablespace_size_name' },
  7086. { oid => '2324', descr => 'total disk space usage for the specified database',
  7087. proname => 'pg_database_size', provolatile => 'v', prorettype => 'int8',
  7088. proargtypes => 'oid', prosrc => 'pg_database_size_oid' },
  7089. { oid => '2168', descr => 'total disk space usage for the specified database',
  7090. proname => 'pg_database_size', provolatile => 'v', prorettype => 'int8',
  7091. proargtypes => 'name', prosrc => 'pg_database_size_name' },
  7092. { oid => '2325',
  7093. descr => 'disk space usage for the main fork of the specified table or index',
  7094. proname => 'pg_relation_size', prolang => 'sql', provolatile => 'v',
  7095. prorettype => 'int8', proargtypes => 'regclass',
  7096. prosrc => 'see system_functions.sql' },
  7097. { oid => '2332',
  7098. descr => 'disk space usage for the specified fork of a table or index',
  7099. proname => 'pg_relation_size', provolatile => 'v', prorettype => 'int8',
  7100. proargtypes => 'regclass text', prosrc => 'pg_relation_size' },
  7101. { oid => '2286',
  7102. descr => 'total disk space usage for the specified table and associated indexes',
  7103. proname => 'pg_total_relation_size', provolatile => 'v', prorettype => 'int8',
  7104. proargtypes => 'regclass', prosrc => 'pg_total_relation_size' },
  7105. { oid => '2288',
  7106. descr => 'convert a long int to a human readable text using size units',
  7107. proname => 'pg_size_pretty', prorettype => 'text', proargtypes => 'int8',
  7108. prosrc => 'pg_size_pretty' },
  7109. { oid => '3166',
  7110. descr => 'convert a numeric to a human readable text using size units',
  7111. proname => 'pg_size_pretty', prorettype => 'text', proargtypes => 'numeric',
  7112. prosrc => 'pg_size_pretty_numeric' },
  7113. { oid => '3334',
  7114. descr => 'convert a size in human-readable format with size units into bytes',
  7115. proname => 'pg_size_bytes', prorettype => 'int8', proargtypes => 'text',
  7116. prosrc => 'pg_size_bytes' },
  7117. { oid => '2997',
  7118. descr => 'disk space usage for the specified table, including TOAST, free space and visibility map',
  7119. proname => 'pg_table_size', provolatile => 'v', prorettype => 'int8',
  7120. proargtypes => 'regclass', prosrc => 'pg_table_size' },
  7121. { oid => '2998',
  7122. descr => 'disk space usage for all indexes attached to the specified table',
  7123. proname => 'pg_indexes_size', provolatile => 'v', prorettype => 'int8',
  7124. proargtypes => 'regclass', prosrc => 'pg_indexes_size' },
  7125. { oid => '2999', descr => 'filenode identifier of relation',
  7126. proname => 'pg_relation_filenode', provolatile => 's', prorettype => 'oid',
  7127. proargtypes => 'regclass', prosrc => 'pg_relation_filenode' },
  7128. { oid => '3454', descr => 'relation OID for filenode and tablespace',
  7129. proname => 'pg_filenode_relation', provolatile => 's',
  7130. prorettype => 'regclass', proargtypes => 'oid oid',
  7131. prosrc => 'pg_filenode_relation' },
  7132. { oid => '3034', descr => 'file path of relation',
  7133. proname => 'pg_relation_filepath', provolatile => 's', prorettype => 'text',
  7134. proargtypes => 'regclass', prosrc => 'pg_relation_filepath' },
  7135. { oid => '2316', descr => '(internal)',
  7136. proname => 'postgresql_fdw_validator', prorettype => 'bool',
  7137. proargtypes => '_text oid', prosrc => 'postgresql_fdw_validator' },
  7138. { oid => '2290', descr => 'I/O',
  7139. proname => 'record_in', provolatile => 's', prorettype => 'record',
  7140. proargtypes => 'cstring oid int4', prosrc => 'record_in' },
  7141. { oid => '2291', descr => 'I/O',
  7142. proname => 'record_out', provolatile => 's', prorettype => 'cstring',
  7143. proargtypes => 'record', prosrc => 'record_out' },
  7144. { oid => '2292', descr => 'I/O',
  7145. proname => 'cstring_in', prorettype => 'cstring', proargtypes => 'cstring',
  7146. prosrc => 'cstring_in' },
  7147. { oid => '2293', descr => 'I/O',
  7148. proname => 'cstring_out', prorettype => 'cstring', proargtypes => 'cstring',
  7149. prosrc => 'cstring_out' },
  7150. { oid => '2294', descr => 'I/O',
  7151. proname => 'any_in', prorettype => 'any', proargtypes => 'cstring',
  7152. prosrc => 'any_in' },
  7153. { oid => '2295', descr => 'I/O',
  7154. proname => 'any_out', prorettype => 'cstring', proargtypes => 'any',
  7155. prosrc => 'any_out' },
  7156. { oid => '2296', descr => 'I/O',
  7157. proname => 'anyarray_in', prorettype => 'anyarray', proargtypes => 'cstring',
  7158. prosrc => 'anyarray_in' },
  7159. { oid => '2297', descr => 'I/O',
  7160. proname => 'anyarray_out', provolatile => 's', prorettype => 'cstring',
  7161. proargtypes => 'anyarray', prosrc => 'anyarray_out' },
  7162. { oid => '2298', descr => 'I/O',
  7163. proname => 'void_in', prorettype => 'void', proargtypes => 'cstring',
  7164. prosrc => 'void_in' },
  7165. { oid => '2299', descr => 'I/O',
  7166. proname => 'void_out', prorettype => 'cstring', proargtypes => 'void',
  7167. prosrc => 'void_out' },
  7168. { oid => '2300', descr => 'I/O',
  7169. proname => 'trigger_in', proisstrict => 'f', prorettype => 'trigger',
  7170. proargtypes => 'cstring', prosrc => 'trigger_in' },
  7171. { oid => '2301', descr => 'I/O',
  7172. proname => 'trigger_out', prorettype => 'cstring', proargtypes => 'trigger',
  7173. prosrc => 'trigger_out' },
  7174. { oid => '3594', descr => 'I/O',
  7175. proname => 'event_trigger_in', proisstrict => 'f',
  7176. prorettype => 'event_trigger', proargtypes => 'cstring',
  7177. prosrc => 'event_trigger_in' },
  7178. { oid => '3595', descr => 'I/O',
  7179. proname => 'event_trigger_out', prorettype => 'cstring',
  7180. proargtypes => 'event_trigger', prosrc => 'event_trigger_out' },
  7181. { oid => '2302', descr => 'I/O',
  7182. proname => 'language_handler_in', proisstrict => 'f',
  7183. prorettype => 'language_handler', proargtypes => 'cstring',
  7184. prosrc => 'language_handler_in' },
  7185. { oid => '2303', descr => 'I/O',
  7186. proname => 'language_handler_out', prorettype => 'cstring',
  7187. proargtypes => 'language_handler', prosrc => 'language_handler_out' },
  7188. { oid => '2304', descr => 'I/O',
  7189. proname => 'internal_in', proisstrict => 'f', prorettype => 'internal',
  7190. proargtypes => 'cstring', prosrc => 'internal_in' },
  7191. { oid => '2305', descr => 'I/O',
  7192. proname => 'internal_out', prorettype => 'cstring', proargtypes => 'internal',
  7193. prosrc => 'internal_out' },
  7194. { oid => '2312', descr => 'I/O',
  7195. proname => 'anyelement_in', prorettype => 'anyelement',
  7196. proargtypes => 'cstring', prosrc => 'anyelement_in' },
  7197. { oid => '2313', descr => 'I/O',
  7198. proname => 'anyelement_out', prorettype => 'cstring',
  7199. proargtypes => 'anyelement', prosrc => 'anyelement_out' },
  7200. { oid => '2398', descr => 'I/O',
  7201. proname => 'shell_in', proisstrict => 'f', prorettype => 'void',
  7202. proargtypes => 'cstring', prosrc => 'shell_in' },
  7203. { oid => '2399', descr => 'I/O',
  7204. proname => 'shell_out', prorettype => 'cstring', proargtypes => 'void',
  7205. prosrc => 'shell_out' },
  7206. { oid => '2597', descr => 'I/O',
  7207. proname => 'domain_in', proisstrict => 'f', provolatile => 's',
  7208. prorettype => 'any', proargtypes => 'cstring oid int4',
  7209. prosrc => 'domain_in' },
  7210. { oid => '2598', descr => 'I/O',
  7211. proname => 'domain_recv', proisstrict => 'f', provolatile => 's',
  7212. prorettype => 'any', proargtypes => 'internal oid int4',
  7213. prosrc => 'domain_recv' },
  7214. { oid => '2777', descr => 'I/O',
  7215. proname => 'anynonarray_in', prorettype => 'anynonarray',
  7216. proargtypes => 'cstring', prosrc => 'anynonarray_in' },
  7217. { oid => '2778', descr => 'I/O',
  7218. proname => 'anynonarray_out', prorettype => 'cstring',
  7219. proargtypes => 'anynonarray', prosrc => 'anynonarray_out' },
  7220. { oid => '3116', descr => 'I/O',
  7221. proname => 'fdw_handler_in', proisstrict => 'f', prorettype => 'fdw_handler',
  7222. proargtypes => 'cstring', prosrc => 'fdw_handler_in' },
  7223. { oid => '3117', descr => 'I/O',
  7224. proname => 'fdw_handler_out', prorettype => 'cstring',
  7225. proargtypes => 'fdw_handler', prosrc => 'fdw_handler_out' },
  7226. { oid => '326', descr => 'I/O',
  7227. proname => 'index_am_handler_in', proisstrict => 'f',
  7228. prorettype => 'index_am_handler', proargtypes => 'cstring',
  7229. prosrc => 'index_am_handler_in' },
  7230. { oid => '327', descr => 'I/O',
  7231. proname => 'index_am_handler_out', prorettype => 'cstring',
  7232. proargtypes => 'index_am_handler', prosrc => 'index_am_handler_out' },
  7233. { oid => '3311', descr => 'I/O',
  7234. proname => 'tsm_handler_in', proisstrict => 'f', prorettype => 'tsm_handler',
  7235. proargtypes => 'cstring', prosrc => 'tsm_handler_in' },
  7236. { oid => '3312', descr => 'I/O',
  7237. proname => 'tsm_handler_out', prorettype => 'cstring',
  7238. proargtypes => 'tsm_handler', prosrc => 'tsm_handler_out' },
  7239. { oid => '267', descr => 'I/O',
  7240. proname => 'table_am_handler_in', proisstrict => 'f',
  7241. prorettype => 'table_am_handler', proargtypes => 'cstring',
  7242. prosrc => 'table_am_handler_in' },
  7243. { oid => '268', descr => 'I/O',
  7244. proname => 'table_am_handler_out', prorettype => 'cstring',
  7245. proargtypes => 'table_am_handler', prosrc => 'table_am_handler_out' },
  7246. { oid => '5086', descr => 'I/O',
  7247. proname => 'anycompatible_in', prorettype => 'anycompatible',
  7248. proargtypes => 'cstring', prosrc => 'anycompatible_in' },
  7249. { oid => '5087', descr => 'I/O',
  7250. proname => 'anycompatible_out', prorettype => 'cstring',
  7251. proargtypes => 'anycompatible', prosrc => 'anycompatible_out' },
  7252. { oid => '5088', descr => 'I/O',
  7253. proname => 'anycompatiblearray_in', prorettype => 'anycompatiblearray',
  7254. proargtypes => 'cstring', prosrc => 'anycompatiblearray_in' },
  7255. { oid => '5089', descr => 'I/O',
  7256. proname => 'anycompatiblearray_out', provolatile => 's',
  7257. prorettype => 'cstring', proargtypes => 'anycompatiblearray',
  7258. prosrc => 'anycompatiblearray_out' },
  7259. { oid => '5090', descr => 'I/O',
  7260. proname => 'anycompatiblearray_recv', provolatile => 's',
  7261. prorettype => 'anycompatiblearray', proargtypes => 'internal',
  7262. prosrc => 'anycompatiblearray_recv' },
  7263. { oid => '5091', descr => 'I/O',
  7264. proname => 'anycompatiblearray_send', provolatile => 's',
  7265. prorettype => 'bytea', proargtypes => 'anycompatiblearray',
  7266. prosrc => 'anycompatiblearray_send' },
  7267. { oid => '5092', descr => 'I/O',
  7268. proname => 'anycompatiblenonarray_in', prorettype => 'anycompatiblenonarray',
  7269. proargtypes => 'cstring', prosrc => 'anycompatiblenonarray_in' },
  7270. { oid => '5093', descr => 'I/O',
  7271. proname => 'anycompatiblenonarray_out', prorettype => 'cstring',
  7272. proargtypes => 'anycompatiblenonarray',
  7273. prosrc => 'anycompatiblenonarray_out' },
  7274. { oid => '5094', descr => 'I/O',
  7275. proname => 'anycompatiblerange_in', provolatile => 's',
  7276. prorettype => 'anycompatiblerange', proargtypes => 'cstring oid int4',
  7277. prosrc => 'anycompatiblerange_in' },
  7278. { oid => '5095', descr => 'I/O',
  7279. proname => 'anycompatiblerange_out', provolatile => 's',
  7280. prorettype => 'cstring', proargtypes => 'anycompatiblerange',
  7281. prosrc => 'anycompatiblerange_out' },
  7282. { oid => '4226', descr => 'I/O',
  7283. proname => 'anycompatiblemultirange_in', provolatile => 's',
  7284. prorettype => 'anycompatiblemultirange', proargtypes => 'cstring oid int4',
  7285. prosrc => 'anycompatiblemultirange_in' },
  7286. { oid => '4227', descr => 'I/O',
  7287. proname => 'anycompatiblemultirange_out', provolatile => 's',
  7288. prorettype => 'cstring', proargtypes => 'anycompatiblemultirange',
  7289. prosrc => 'anycompatiblemultirange_out' },
  7290. # tablesample method handlers
  7291. { oid => '3313', descr => 'BERNOULLI tablesample method handler',
  7292. proname => 'bernoulli', provolatile => 'v', prorettype => 'tsm_handler',
  7293. proargtypes => 'internal', prosrc => 'tsm_bernoulli_handler' },
  7294. { oid => '3314', descr => 'SYSTEM tablesample method handler',
  7295. proname => 'system', provolatile => 'v', prorettype => 'tsm_handler',
  7296. proargtypes => 'internal', prosrc => 'tsm_system_handler' },
  7297. # cryptographic
  7298. { oid => '2311', descr => 'MD5 hash',
  7299. proname => 'md5', proleakproof => 't', prorettype => 'text',
  7300. proargtypes => 'text', prosrc => 'md5_text' },
  7301. { oid => '2321', descr => 'MD5 hash',
  7302. proname => 'md5', proleakproof => 't', prorettype => 'text',
  7303. proargtypes => 'bytea', prosrc => 'md5_bytea' },
  7304. { oid => '3419', descr => 'SHA-224 hash',
  7305. proname => 'sha224', proleakproof => 't', prorettype => 'bytea',
  7306. proargtypes => 'bytea', prosrc => 'sha224_bytea' },
  7307. { oid => '3420', descr => 'SHA-256 hash',
  7308. proname => 'sha256', proleakproof => 't', prorettype => 'bytea',
  7309. proargtypes => 'bytea', prosrc => 'sha256_bytea' },
  7310. { oid => '3421', descr => 'SHA-384 hash',
  7311. proname => 'sha384', proleakproof => 't', prorettype => 'bytea',
  7312. proargtypes => 'bytea', prosrc => 'sha384_bytea' },
  7313. { oid => '3422', descr => 'SHA-512 hash',
  7314. proname => 'sha512', proleakproof => 't', prorettype => 'bytea',
  7315. proargtypes => 'bytea', prosrc => 'sha512_bytea' },
  7316. # crosstype operations for date vs. timestamp and timestamptz
  7317. { oid => '2338',
  7318. proname => 'date_lt_timestamp', prorettype => 'bool',
  7319. proargtypes => 'date timestamp', prosrc => 'date_lt_timestamp' },
  7320. { oid => '2339',
  7321. proname => 'date_le_timestamp', prorettype => 'bool',
  7322. proargtypes => 'date timestamp', prosrc => 'date_le_timestamp' },
  7323. { oid => '2340',
  7324. proname => 'date_eq_timestamp', prorettype => 'bool',
  7325. proargtypes => 'date timestamp', prosrc => 'date_eq_timestamp' },
  7326. { oid => '2341',
  7327. proname => 'date_gt_timestamp', prorettype => 'bool',
  7328. proargtypes => 'date timestamp', prosrc => 'date_gt_timestamp' },
  7329. { oid => '2342',
  7330. proname => 'date_ge_timestamp', prorettype => 'bool',
  7331. proargtypes => 'date timestamp', prosrc => 'date_ge_timestamp' },
  7332. { oid => '2343',
  7333. proname => 'date_ne_timestamp', prorettype => 'bool',
  7334. proargtypes => 'date timestamp', prosrc => 'date_ne_timestamp' },
  7335. { oid => '2344', descr => 'less-equal-greater',
  7336. proname => 'date_cmp_timestamp', prorettype => 'int4',
  7337. proargtypes => 'date timestamp', prosrc => 'date_cmp_timestamp' },
  7338. { oid => '2351',
  7339. proname => 'date_lt_timestamptz', provolatile => 's', prorettype => 'bool',
  7340. proargtypes => 'date timestamptz', prosrc => 'date_lt_timestamptz' },
  7341. { oid => '2352',
  7342. proname => 'date_le_timestamptz', provolatile => 's', prorettype => 'bool',
  7343. proargtypes => 'date timestamptz', prosrc => 'date_le_timestamptz' },
  7344. { oid => '2353',
  7345. proname => 'date_eq_timestamptz', provolatile => 's', prorettype => 'bool',
  7346. proargtypes => 'date timestamptz', prosrc => 'date_eq_timestamptz' },
  7347. { oid => '2354',
  7348. proname => 'date_gt_timestamptz', provolatile => 's', prorettype => 'bool',
  7349. proargtypes => 'date timestamptz', prosrc => 'date_gt_timestamptz' },
  7350. { oid => '2355',
  7351. proname => 'date_ge_timestamptz', provolatile => 's', prorettype => 'bool',
  7352. proargtypes => 'date timestamptz', prosrc => 'date_ge_timestamptz' },
  7353. { oid => '2356',
  7354. proname => 'date_ne_timestamptz', provolatile => 's', prorettype => 'bool',
  7355. proargtypes => 'date timestamptz', prosrc => 'date_ne_timestamptz' },
  7356. { oid => '2357', descr => 'less-equal-greater',
  7357. proname => 'date_cmp_timestamptz', provolatile => 's', prorettype => 'int4',
  7358. proargtypes => 'date timestamptz', prosrc => 'date_cmp_timestamptz' },
  7359. { oid => '2364',
  7360. proname => 'timestamp_lt_date', prorettype => 'bool',
  7361. proargtypes => 'timestamp date', prosrc => 'timestamp_lt_date' },
  7362. { oid => '2365',
  7363. proname => 'timestamp_le_date', prorettype => 'bool',
  7364. proargtypes => 'timestamp date', prosrc => 'timestamp_le_date' },
  7365. { oid => '2366',
  7366. proname => 'timestamp_eq_date', prorettype => 'bool',
  7367. proargtypes => 'timestamp date', prosrc => 'timestamp_eq_date' },
  7368. { oid => '2367',
  7369. proname => 'timestamp_gt_date', prorettype => 'bool',
  7370. proargtypes => 'timestamp date', prosrc => 'timestamp_gt_date' },
  7371. { oid => '2368',
  7372. proname => 'timestamp_ge_date', prorettype => 'bool',
  7373. proargtypes => 'timestamp date', prosrc => 'timestamp_ge_date' },
  7374. { oid => '2369',
  7375. proname => 'timestamp_ne_date', prorettype => 'bool',
  7376. proargtypes => 'timestamp date', prosrc => 'timestamp_ne_date' },
  7377. { oid => '2370', descr => 'less-equal-greater',
  7378. proname => 'timestamp_cmp_date', prorettype => 'int4',
  7379. proargtypes => 'timestamp date', prosrc => 'timestamp_cmp_date' },
  7380. { oid => '2377',
  7381. proname => 'timestamptz_lt_date', provolatile => 's', prorettype => 'bool',
  7382. proargtypes => 'timestamptz date', prosrc => 'timestamptz_lt_date' },
  7383. { oid => '2378',
  7384. proname => 'timestamptz_le_date', provolatile => 's', prorettype => 'bool',
  7385. proargtypes => 'timestamptz date', prosrc => 'timestamptz_le_date' },
  7386. { oid => '2379',
  7387. proname => 'timestamptz_eq_date', provolatile => 's', prorettype => 'bool',
  7388. proargtypes => 'timestamptz date', prosrc => 'timestamptz_eq_date' },
  7389. { oid => '2380',
  7390. proname => 'timestamptz_gt_date', provolatile => 's', prorettype => 'bool',
  7391. proargtypes => 'timestamptz date', prosrc => 'timestamptz_gt_date' },
  7392. { oid => '2381',
  7393. proname => 'timestamptz_ge_date', provolatile => 's', prorettype => 'bool',
  7394. proargtypes => 'timestamptz date', prosrc => 'timestamptz_ge_date' },
  7395. { oid => '2382',
  7396. proname => 'timestamptz_ne_date', provolatile => 's', prorettype => 'bool',
  7397. proargtypes => 'timestamptz date', prosrc => 'timestamptz_ne_date' },
  7398. { oid => '2383', descr => 'less-equal-greater',
  7399. proname => 'timestamptz_cmp_date', provolatile => 's', prorettype => 'int4',
  7400. proargtypes => 'timestamptz date', prosrc => 'timestamptz_cmp_date' },
  7401. # crosstype operations for timestamp vs. timestamptz
  7402. { oid => '2520',
  7403. proname => 'timestamp_lt_timestamptz', provolatile => 's',
  7404. prorettype => 'bool', proargtypes => 'timestamp timestamptz',
  7405. prosrc => 'timestamp_lt_timestamptz' },
  7406. { oid => '2521',
  7407. proname => 'timestamp_le_timestamptz', provolatile => 's',
  7408. prorettype => 'bool', proargtypes => 'timestamp timestamptz',
  7409. prosrc => 'timestamp_le_timestamptz' },
  7410. { oid => '2522',
  7411. proname => 'timestamp_eq_timestamptz', provolatile => 's',
  7412. prorettype => 'bool', proargtypes => 'timestamp timestamptz',
  7413. prosrc => 'timestamp_eq_timestamptz' },
  7414. { oid => '2523',
  7415. proname => 'timestamp_gt_timestamptz', provolatile => 's',
  7416. prorettype => 'bool', proargtypes => 'timestamp timestamptz',
  7417. prosrc => 'timestamp_gt_timestamptz' },
  7418. { oid => '2524',
  7419. proname => 'timestamp_ge_timestamptz', provolatile => 's',
  7420. prorettype => 'bool', proargtypes => 'timestamp timestamptz',
  7421. prosrc => 'timestamp_ge_timestamptz' },
  7422. { oid => '2525',
  7423. proname => 'timestamp_ne_timestamptz', provolatile => 's',
  7424. prorettype => 'bool', proargtypes => 'timestamp timestamptz',
  7425. prosrc => 'timestamp_ne_timestamptz' },
  7426. { oid => '2526', descr => 'less-equal-greater',
  7427. proname => 'timestamp_cmp_timestamptz', provolatile => 's',
  7428. prorettype => 'int4', proargtypes => 'timestamp timestamptz',
  7429. prosrc => 'timestamp_cmp_timestamptz' },
  7430. { oid => '2527',
  7431. proname => 'timestamptz_lt_timestamp', provolatile => 's',
  7432. prorettype => 'bool', proargtypes => 'timestamptz timestamp',
  7433. prosrc => 'timestamptz_lt_timestamp' },
  7434. { oid => '2528',
  7435. proname => 'timestamptz_le_timestamp', provolatile => 's',
  7436. prorettype => 'bool', proargtypes => 'timestamptz timestamp',
  7437. prosrc => 'timestamptz_le_timestamp' },
  7438. { oid => '2529',
  7439. proname => 'timestamptz_eq_timestamp', provolatile => 's',
  7440. prorettype => 'bool', proargtypes => 'timestamptz timestamp',
  7441. prosrc => 'timestamptz_eq_timestamp' },
  7442. { oid => '2530',
  7443. proname => 'timestamptz_gt_timestamp', provolatile => 's',
  7444. prorettype => 'bool', proargtypes => 'timestamptz timestamp',
  7445. prosrc => 'timestamptz_gt_timestamp' },
  7446. { oid => '2531',
  7447. proname => 'timestamptz_ge_timestamp', provolatile => 's',
  7448. prorettype => 'bool', proargtypes => 'timestamptz timestamp',
  7449. prosrc => 'timestamptz_ge_timestamp' },
  7450. { oid => '2532',
  7451. proname => 'timestamptz_ne_timestamp', provolatile => 's',
  7452. prorettype => 'bool', proargtypes => 'timestamptz timestamp',
  7453. prosrc => 'timestamptz_ne_timestamp' },
  7454. { oid => '2533', descr => 'less-equal-greater',
  7455. proname => 'timestamptz_cmp_timestamp', provolatile => 's',
  7456. prorettype => 'int4', proargtypes => 'timestamptz timestamp',
  7457. prosrc => 'timestamptz_cmp_timestamp' },
  7458. # send/receive functions
  7459. { oid => '2400', descr => 'I/O',
  7460. proname => 'array_recv', provolatile => 's', prorettype => 'anyarray',
  7461. proargtypes => 'internal oid int4', prosrc => 'array_recv' },
  7462. { oid => '2401', descr => 'I/O',
  7463. proname => 'array_send', provolatile => 's', prorettype => 'bytea',
  7464. proargtypes => 'anyarray', prosrc => 'array_send' },
  7465. { oid => '2402', descr => 'I/O',
  7466. proname => 'record_recv', provolatile => 's', prorettype => 'record',
  7467. proargtypes => 'internal oid int4', prosrc => 'record_recv' },
  7468. { oid => '2403', descr => 'I/O',
  7469. proname => 'record_send', provolatile => 's', prorettype => 'bytea',
  7470. proargtypes => 'record', prosrc => 'record_send' },
  7471. { oid => '2404', descr => 'I/O',
  7472. proname => 'int2recv', prorettype => 'int2', proargtypes => 'internal',
  7473. prosrc => 'int2recv' },
  7474. { oid => '2405', descr => 'I/O',
  7475. proname => 'int2send', prorettype => 'bytea', proargtypes => 'int2',
  7476. prosrc => 'int2send' },
  7477. { oid => '2406', descr => 'I/O',
  7478. proname => 'int4recv', prorettype => 'int4', proargtypes => 'internal',
  7479. prosrc => 'int4recv' },
  7480. { oid => '2407', descr => 'I/O',
  7481. proname => 'int4send', prorettype => 'bytea', proargtypes => 'int4',
  7482. prosrc => 'int4send' },
  7483. { oid => '2408', descr => 'I/O',
  7484. proname => 'int8recv', prorettype => 'int8', proargtypes => 'internal',
  7485. prosrc => 'int8recv' },
  7486. { oid => '2409', descr => 'I/O',
  7487. proname => 'int8send', prorettype => 'bytea', proargtypes => 'int8',
  7488. prosrc => 'int8send' },
  7489. { oid => '2410', descr => 'I/O',
  7490. proname => 'int2vectorrecv', prorettype => 'int2vector',
  7491. proargtypes => 'internal', prosrc => 'int2vectorrecv' },
  7492. { oid => '2411', descr => 'I/O',
  7493. proname => 'int2vectorsend', prorettype => 'bytea',
  7494. proargtypes => 'int2vector', prosrc => 'int2vectorsend' },
  7495. { oid => '2412', descr => 'I/O',
  7496. proname => 'bytearecv', prorettype => 'bytea', proargtypes => 'internal',
  7497. prosrc => 'bytearecv' },
  7498. { oid => '2413', descr => 'I/O',
  7499. proname => 'byteasend', prorettype => 'bytea', proargtypes => 'bytea',
  7500. prosrc => 'byteasend' },
  7501. { oid => '2414', descr => 'I/O',
  7502. proname => 'textrecv', provolatile => 's', prorettype => 'text',
  7503. proargtypes => 'internal', prosrc => 'textrecv' },
  7504. { oid => '2415', descr => 'I/O',
  7505. proname => 'textsend', provolatile => 's', prorettype => 'bytea',
  7506. proargtypes => 'text', prosrc => 'textsend' },
  7507. { oid => '2416', descr => 'I/O',
  7508. proname => 'unknownrecv', prorettype => 'unknown', proargtypes => 'internal',
  7509. prosrc => 'unknownrecv' },
  7510. { oid => '2417', descr => 'I/O',
  7511. proname => 'unknownsend', prorettype => 'bytea', proargtypes => 'unknown',
  7512. prosrc => 'unknownsend' },
  7513. { oid => '2418', descr => 'I/O',
  7514. proname => 'oidrecv', prorettype => 'oid', proargtypes => 'internal',
  7515. prosrc => 'oidrecv' },
  7516. { oid => '2419', descr => 'I/O',
  7517. proname => 'oidsend', prorettype => 'bytea', proargtypes => 'oid',
  7518. prosrc => 'oidsend' },
  7519. { oid => '2420', descr => 'I/O',
  7520. proname => 'oidvectorrecv', prorettype => 'oidvector',
  7521. proargtypes => 'internal', prosrc => 'oidvectorrecv' },
  7522. { oid => '2421', descr => 'I/O',
  7523. proname => 'oidvectorsend', prorettype => 'bytea', proargtypes => 'oidvector',
  7524. prosrc => 'oidvectorsend' },
  7525. { oid => '2422', descr => 'I/O',
  7526. proname => 'namerecv', provolatile => 's', prorettype => 'name',
  7527. proargtypes => 'internal', prosrc => 'namerecv' },
  7528. { oid => '2423', descr => 'I/O',
  7529. proname => 'namesend', provolatile => 's', prorettype => 'bytea',
  7530. proargtypes => 'name', prosrc => 'namesend' },
  7531. { oid => '2424', descr => 'I/O',
  7532. proname => 'float4recv', prorettype => 'float4', proargtypes => 'internal',
  7533. prosrc => 'float4recv' },
  7534. { oid => '2425', descr => 'I/O',
  7535. proname => 'float4send', prorettype => 'bytea', proargtypes => 'float4',
  7536. prosrc => 'float4send' },
  7537. { oid => '2426', descr => 'I/O',
  7538. proname => 'float8recv', prorettype => 'float8', proargtypes => 'internal',
  7539. prosrc => 'float8recv' },
  7540. { oid => '2427', descr => 'I/O',
  7541. proname => 'float8send', prorettype => 'bytea', proargtypes => 'float8',
  7542. prosrc => 'float8send' },
  7543. { oid => '2428', descr => 'I/O',
  7544. proname => 'point_recv', prorettype => 'point', proargtypes => 'internal',
  7545. prosrc => 'point_recv' },
  7546. { oid => '2429', descr => 'I/O',
  7547. proname => 'point_send', prorettype => 'bytea', proargtypes => 'point',
  7548. prosrc => 'point_send' },
  7549. { oid => '2430', descr => 'I/O',
  7550. proname => 'bpcharrecv', provolatile => 's', prorettype => 'bpchar',
  7551. proargtypes => 'internal oid int4', prosrc => 'bpcharrecv' },
  7552. { oid => '2431', descr => 'I/O',
  7553. proname => 'bpcharsend', provolatile => 's', prorettype => 'bytea',
  7554. proargtypes => 'bpchar', prosrc => 'bpcharsend' },
  7555. { oid => '2432', descr => 'I/O',
  7556. proname => 'varcharrecv', provolatile => 's', prorettype => 'varchar',
  7557. proargtypes => 'internal oid int4', prosrc => 'varcharrecv' },
  7558. { oid => '2433', descr => 'I/O',
  7559. proname => 'varcharsend', provolatile => 's', prorettype => 'bytea',
  7560. proargtypes => 'varchar', prosrc => 'varcharsend' },
  7561. { oid => '2434', descr => 'I/O',
  7562. proname => 'charrecv', prorettype => 'char', proargtypes => 'internal',
  7563. prosrc => 'charrecv' },
  7564. { oid => '2435', descr => 'I/O',
  7565. proname => 'charsend', prorettype => 'bytea', proargtypes => 'char',
  7566. prosrc => 'charsend' },
  7567. { oid => '2436', descr => 'I/O',
  7568. proname => 'boolrecv', prorettype => 'bool', proargtypes => 'internal',
  7569. prosrc => 'boolrecv' },
  7570. { oid => '2437', descr => 'I/O',
  7571. proname => 'boolsend', prorettype => 'bytea', proargtypes => 'bool',
  7572. prosrc => 'boolsend' },
  7573. { oid => '2438', descr => 'I/O',
  7574. proname => 'tidrecv', prorettype => 'tid', proargtypes => 'internal',
  7575. prosrc => 'tidrecv' },
  7576. { oid => '2439', descr => 'I/O',
  7577. proname => 'tidsend', prorettype => 'bytea', proargtypes => 'tid',
  7578. prosrc => 'tidsend' },
  7579. { oid => '2440', descr => 'I/O',
  7580. proname => 'xidrecv', prorettype => 'xid', proargtypes => 'internal',
  7581. prosrc => 'xidrecv' },
  7582. { oid => '2441', descr => 'I/O',
  7583. proname => 'xidsend', prorettype => 'bytea', proargtypes => 'xid',
  7584. prosrc => 'xidsend' },
  7585. { oid => '2442', descr => 'I/O',
  7586. proname => 'cidrecv', prorettype => 'cid', proargtypes => 'internal',
  7587. prosrc => 'cidrecv' },
  7588. { oid => '2443', descr => 'I/O',
  7589. proname => 'cidsend', prorettype => 'bytea', proargtypes => 'cid',
  7590. prosrc => 'cidsend' },
  7591. { oid => '2444', descr => 'I/O',
  7592. proname => 'regprocrecv', prorettype => 'regproc', proargtypes => 'internal',
  7593. prosrc => 'regprocrecv' },
  7594. { oid => '2445', descr => 'I/O',
  7595. proname => 'regprocsend', prorettype => 'bytea', proargtypes => 'regproc',
  7596. prosrc => 'regprocsend' },
  7597. { oid => '2446', descr => 'I/O',
  7598. proname => 'regprocedurerecv', prorettype => 'regprocedure',
  7599. proargtypes => 'internal', prosrc => 'regprocedurerecv' },
  7600. { oid => '2447', descr => 'I/O',
  7601. proname => 'regproceduresend', prorettype => 'bytea',
  7602. proargtypes => 'regprocedure', prosrc => 'regproceduresend' },
  7603. { oid => '2448', descr => 'I/O',
  7604. proname => 'regoperrecv', prorettype => 'regoper', proargtypes => 'internal',
  7605. prosrc => 'regoperrecv' },
  7606. { oid => '2449', descr => 'I/O',
  7607. proname => 'regopersend', prorettype => 'bytea', proargtypes => 'regoper',
  7608. prosrc => 'regopersend' },
  7609. { oid => '2450', descr => 'I/O',
  7610. proname => 'regoperatorrecv', prorettype => 'regoperator',
  7611. proargtypes => 'internal', prosrc => 'regoperatorrecv' },
  7612. { oid => '2451', descr => 'I/O',
  7613. proname => 'regoperatorsend', prorettype => 'bytea',
  7614. proargtypes => 'regoperator', prosrc => 'regoperatorsend' },
  7615. { oid => '2452', descr => 'I/O',
  7616. proname => 'regclassrecv', prorettype => 'regclass',
  7617. proargtypes => 'internal', prosrc => 'regclassrecv' },
  7618. { oid => '2453', descr => 'I/O',
  7619. proname => 'regclasssend', prorettype => 'bytea', proargtypes => 'regclass',
  7620. prosrc => 'regclasssend' },
  7621. { oid => '4196', descr => 'I/O',
  7622. proname => 'regcollationrecv', prorettype => 'regcollation',
  7623. proargtypes => 'internal', prosrc => 'regcollationrecv' },
  7624. { oid => '4197', descr => 'I/O',
  7625. proname => 'regcollationsend', prorettype => 'bytea',
  7626. proargtypes => 'regcollation', prosrc => 'regcollationsend' },
  7627. { oid => '2454', descr => 'I/O',
  7628. proname => 'regtyperecv', prorettype => 'regtype', proargtypes => 'internal',
  7629. prosrc => 'regtyperecv' },
  7630. { oid => '2455', descr => 'I/O',
  7631. proname => 'regtypesend', prorettype => 'bytea', proargtypes => 'regtype',
  7632. prosrc => 'regtypesend' },
  7633. { oid => '4094', descr => 'I/O',
  7634. proname => 'regrolerecv', prorettype => 'regrole', proargtypes => 'internal',
  7635. prosrc => 'regrolerecv' },
  7636. { oid => '4095', descr => 'I/O',
  7637. proname => 'regrolesend', prorettype => 'bytea', proargtypes => 'regrole',
  7638. prosrc => 'regrolesend' },
  7639. { oid => '4087', descr => 'I/O',
  7640. proname => 'regnamespacerecv', prorettype => 'regnamespace',
  7641. proargtypes => 'internal', prosrc => 'regnamespacerecv' },
  7642. { oid => '4088', descr => 'I/O',
  7643. proname => 'regnamespacesend', prorettype => 'bytea',
  7644. proargtypes => 'regnamespace', prosrc => 'regnamespacesend' },
  7645. { oid => '2456', descr => 'I/O',
  7646. proname => 'bit_recv', prorettype => 'bit',
  7647. proargtypes => 'internal oid int4', prosrc => 'bit_recv' },
  7648. { oid => '2457', descr => 'I/O',
  7649. proname => 'bit_send', prorettype => 'bytea', proargtypes => 'bit',
  7650. prosrc => 'bit_send' },
  7651. { oid => '2458', descr => 'I/O',
  7652. proname => 'varbit_recv', prorettype => 'varbit',
  7653. proargtypes => 'internal oid int4', prosrc => 'varbit_recv' },
  7654. { oid => '2459', descr => 'I/O',
  7655. proname => 'varbit_send', prorettype => 'bytea', proargtypes => 'varbit',
  7656. prosrc => 'varbit_send' },
  7657. { oid => '2460', descr => 'I/O',
  7658. proname => 'numeric_recv', prorettype => 'numeric',
  7659. proargtypes => 'internal oid int4', prosrc => 'numeric_recv' },
  7660. { oid => '2461', descr => 'I/O',
  7661. proname => 'numeric_send', prorettype => 'bytea', proargtypes => 'numeric',
  7662. prosrc => 'numeric_send' },
  7663. { oid => '2468', descr => 'I/O',
  7664. proname => 'date_recv', prorettype => 'date', proargtypes => 'internal',
  7665. prosrc => 'date_recv' },
  7666. { oid => '2469', descr => 'I/O',
  7667. proname => 'date_send', prorettype => 'bytea', proargtypes => 'date',
  7668. prosrc => 'date_send' },
  7669. { oid => '2470', descr => 'I/O',
  7670. proname => 'time_recv', prorettype => 'time',
  7671. proargtypes => 'internal oid int4', prosrc => 'time_recv' },
  7672. { oid => '2471', descr => 'I/O',
  7673. proname => 'time_send', prorettype => 'bytea', proargtypes => 'time',
  7674. prosrc => 'time_send' },
  7675. { oid => '2472', descr => 'I/O',
  7676. proname => 'timetz_recv', prorettype => 'timetz',
  7677. proargtypes => 'internal oid int4', prosrc => 'timetz_recv' },
  7678. { oid => '2473', descr => 'I/O',
  7679. proname => 'timetz_send', prorettype => 'bytea', proargtypes => 'timetz',
  7680. prosrc => 'timetz_send' },
  7681. { oid => '2474', descr => 'I/O',
  7682. proname => 'timestamp_recv', prorettype => 'timestamp',
  7683. proargtypes => 'internal oid int4', prosrc => 'timestamp_recv' },
  7684. { oid => '2475', descr => 'I/O',
  7685. proname => 'timestamp_send', prorettype => 'bytea',
  7686. proargtypes => 'timestamp', prosrc => 'timestamp_send' },
  7687. { oid => '2476', descr => 'I/O',
  7688. proname => 'timestamptz_recv', prorettype => 'timestamptz',
  7689. proargtypes => 'internal oid int4', prosrc => 'timestamptz_recv' },
  7690. { oid => '2477', descr => 'I/O',
  7691. proname => 'timestamptz_send', prorettype => 'bytea',
  7692. proargtypes => 'timestamptz', prosrc => 'timestamptz_send' },
  7693. { oid => '2478', descr => 'I/O',
  7694. proname => 'interval_recv', prorettype => 'interval',
  7695. proargtypes => 'internal oid int4', prosrc => 'interval_recv' },
  7696. { oid => '2479', descr => 'I/O',
  7697. proname => 'interval_send', prorettype => 'bytea', proargtypes => 'interval',
  7698. prosrc => 'interval_send' },
  7699. { oid => '2480', descr => 'I/O',
  7700. proname => 'lseg_recv', prorettype => 'lseg', proargtypes => 'internal',
  7701. prosrc => 'lseg_recv' },
  7702. { oid => '2481', descr => 'I/O',
  7703. proname => 'lseg_send', prorettype => 'bytea', proargtypes => 'lseg',
  7704. prosrc => 'lseg_send' },
  7705. { oid => '2482', descr => 'I/O',
  7706. proname => 'path_recv', prorettype => 'path', proargtypes => 'internal',
  7707. prosrc => 'path_recv' },
  7708. { oid => '2483', descr => 'I/O',
  7709. proname => 'path_send', prorettype => 'bytea', proargtypes => 'path',
  7710. prosrc => 'path_send' },
  7711. { oid => '2484', descr => 'I/O',
  7712. proname => 'box_recv', prorettype => 'box', proargtypes => 'internal',
  7713. prosrc => 'box_recv' },
  7714. { oid => '2485', descr => 'I/O',
  7715. proname => 'box_send', prorettype => 'bytea', proargtypes => 'box',
  7716. prosrc => 'box_send' },
  7717. { oid => '2486', descr => 'I/O',
  7718. proname => 'poly_recv', prorettype => 'polygon', proargtypes => 'internal',
  7719. prosrc => 'poly_recv' },
  7720. { oid => '2487', descr => 'I/O',
  7721. proname => 'poly_send', prorettype => 'bytea', proargtypes => 'polygon',
  7722. prosrc => 'poly_send' },
  7723. { oid => '2488', descr => 'I/O',
  7724. proname => 'line_recv', prorettype => 'line', proargtypes => 'internal',
  7725. prosrc => 'line_recv' },
  7726. { oid => '2489', descr => 'I/O',
  7727. proname => 'line_send', prorettype => 'bytea', proargtypes => 'line',
  7728. prosrc => 'line_send' },
  7729. { oid => '2490', descr => 'I/O',
  7730. proname => 'circle_recv', prorettype => 'circle', proargtypes => 'internal',
  7731. prosrc => 'circle_recv' },
  7732. { oid => '2491', descr => 'I/O',
  7733. proname => 'circle_send', prorettype => 'bytea', proargtypes => 'circle',
  7734. prosrc => 'circle_send' },
  7735. { oid => '2492', descr => 'I/O',
  7736. proname => 'cash_recv', prorettype => 'money', proargtypes => 'internal',
  7737. prosrc => 'cash_recv' },
  7738. { oid => '2493', descr => 'I/O',
  7739. proname => 'cash_send', prorettype => 'bytea', proargtypes => 'money',
  7740. prosrc => 'cash_send' },
  7741. { oid => '2494', descr => 'I/O',
  7742. proname => 'macaddr_recv', prorettype => 'macaddr', proargtypes => 'internal',
  7743. prosrc => 'macaddr_recv' },
  7744. { oid => '2495', descr => 'I/O',
  7745. proname => 'macaddr_send', prorettype => 'bytea', proargtypes => 'macaddr',
  7746. prosrc => 'macaddr_send' },
  7747. { oid => '2496', descr => 'I/O',
  7748. proname => 'inet_recv', prorettype => 'inet', proargtypes => 'internal',
  7749. prosrc => 'inet_recv' },
  7750. { oid => '2497', descr => 'I/O',
  7751. proname => 'inet_send', prorettype => 'bytea', proargtypes => 'inet',
  7752. prosrc => 'inet_send' },
  7753. { oid => '2498', descr => 'I/O',
  7754. proname => 'cidr_recv', prorettype => 'cidr', proargtypes => 'internal',
  7755. prosrc => 'cidr_recv' },
  7756. { oid => '2499', descr => 'I/O',
  7757. proname => 'cidr_send', prorettype => 'bytea', proargtypes => 'cidr',
  7758. prosrc => 'cidr_send' },
  7759. { oid => '2500', descr => 'I/O',
  7760. proname => 'cstring_recv', provolatile => 's', prorettype => 'cstring',
  7761. proargtypes => 'internal', prosrc => 'cstring_recv' },
  7762. { oid => '2501', descr => 'I/O',
  7763. proname => 'cstring_send', provolatile => 's', prorettype => 'bytea',
  7764. proargtypes => 'cstring', prosrc => 'cstring_send' },
  7765. { oid => '2502', descr => 'I/O',
  7766. proname => 'anyarray_recv', provolatile => 's', prorettype => 'anyarray',
  7767. proargtypes => 'internal', prosrc => 'anyarray_recv' },
  7768. { oid => '2503', descr => 'I/O',
  7769. proname => 'anyarray_send', provolatile => 's', prorettype => 'bytea',
  7770. proargtypes => 'anyarray', prosrc => 'anyarray_send' },
  7771. { oid => '3120', descr => 'I/O',
  7772. proname => 'void_recv', prorettype => 'void', proargtypes => 'internal',
  7773. prosrc => 'void_recv' },
  7774. { oid => '3121', descr => 'I/O',
  7775. proname => 'void_send', prorettype => 'bytea', proargtypes => 'void',
  7776. prosrc => 'void_send' },
  7777. { oid => '3446', descr => 'I/O',
  7778. proname => 'macaddr8_recv', prorettype => 'macaddr8',
  7779. proargtypes => 'internal', prosrc => 'macaddr8_recv' },
  7780. { oid => '3447', descr => 'I/O',
  7781. proname => 'macaddr8_send', prorettype => 'bytea', proargtypes => 'macaddr8',
  7782. prosrc => 'macaddr8_send' },
  7783. # System-view support functions with pretty-print option
  7784. { oid => '2504', descr => 'source text of a rule with pretty-print option',
  7785. proname => 'pg_get_ruledef', provolatile => 's', prorettype => 'text',
  7786. proargtypes => 'oid bool', prosrc => 'pg_get_ruledef_ext' },
  7787. { oid => '2505',
  7788. descr => 'select statement of a view with pretty-print option',
  7789. proname => 'pg_get_viewdef', provolatile => 's', proparallel => 'r',
  7790. prorettype => 'text', proargtypes => 'text bool',
  7791. prosrc => 'pg_get_viewdef_name_ext' },
  7792. { oid => '2506',
  7793. descr => 'select statement of a view with pretty-print option',
  7794. proname => 'pg_get_viewdef', provolatile => 's', proparallel => 'r',
  7795. prorettype => 'text', proargtypes => 'oid bool',
  7796. prosrc => 'pg_get_viewdef_ext' },
  7797. { oid => '3159',
  7798. descr => 'select statement of a view with pretty-printing and specified line wrapping',
  7799. proname => 'pg_get_viewdef', provolatile => 's', proparallel => 'r',
  7800. prorettype => 'text', proargtypes => 'oid int4',
  7801. prosrc => 'pg_get_viewdef_wrap' },
  7802. { oid => '2507',
  7803. descr => 'index description (full create statement or single expression) with pretty-print option',
  7804. proname => 'pg_get_indexdef', provolatile => 's', prorettype => 'text',
  7805. proargtypes => 'oid int4 bool', prosrc => 'pg_get_indexdef_ext' },
  7806. { oid => '2508', descr => 'constraint description with pretty-print option',
  7807. proname => 'pg_get_constraintdef', provolatile => 's', prorettype => 'text',
  7808. proargtypes => 'oid bool', prosrc => 'pg_get_constraintdef_ext' },
  7809. { oid => '2509',
  7810. descr => 'deparse an encoded expression with pretty-print option',
  7811. proname => 'pg_get_expr', provolatile => 's', prorettype => 'text',
  7812. proargtypes => 'pg_node_tree oid bool', prosrc => 'pg_get_expr_ext' },
  7813. { oid => '2510', descr => 'get the prepared statements for this session',
  7814. proname => 'pg_prepared_statement', prorows => '1000', proretset => 't',
  7815. provolatile => 's', proparallel => 'r', prorettype => 'record',
  7816. proargtypes => '',
  7817. proallargtypes => '{text,text,timestamptz,_regtype,_regtype,bool,int8,int8}',
  7818. proargmodes => '{o,o,o,o,o,o,o,o}',
  7819. proargnames => '{name,statement,prepare_time,parameter_types,result_types,from_sql,generic_plans,custom_plans}',
  7820. prosrc => 'pg_prepared_statement' },
  7821. { oid => '2511', descr => 'get the open cursors for this session',
  7822. proname => 'pg_cursor', prorows => '1000', proretset => 't',
  7823. provolatile => 's', proparallel => 'r', prorettype => 'record',
  7824. proargtypes => '', proallargtypes => '{text,text,bool,bool,bool,timestamptz}',
  7825. proargmodes => '{o,o,o,o,o,o}',
  7826. proargnames => '{name,statement,is_holdable,is_binary,is_scrollable,creation_time}',
  7827. prosrc => 'pg_cursor' },
  7828. { oid => '2599', descr => 'get the available time zone abbreviations',
  7829. proname => 'pg_timezone_abbrevs', prorows => '1000', proretset => 't',
  7830. provolatile => 's', prorettype => 'record', proargtypes => '',
  7831. proallargtypes => '{text,interval,bool}', proargmodes => '{o,o,o}',
  7832. proargnames => '{abbrev,utc_offset,is_dst}',
  7833. prosrc => 'pg_timezone_abbrevs' },
  7834. { oid => '2856', descr => 'get the available time zone names',
  7835. proname => 'pg_timezone_names', prorows => '1000', proretset => 't',
  7836. provolatile => 's', prorettype => 'record', proargtypes => '',
  7837. proallargtypes => '{text,text,interval,bool}', proargmodes => '{o,o,o,o}',
  7838. proargnames => '{name,abbrev,utc_offset,is_dst}',
  7839. prosrc => 'pg_timezone_names' },
  7840. { oid => '2730', descr => 'trigger description with pretty-print option',
  7841. proname => 'pg_get_triggerdef', provolatile => 's', prorettype => 'text',
  7842. proargtypes => 'oid bool', prosrc => 'pg_get_triggerdef_ext' },
  7843. # asynchronous notifications
  7844. { oid => '3035',
  7845. descr => 'get the channels that the current backend listens to',
  7846. proname => 'pg_listening_channels', prorows => '10', proretset => 't',
  7847. provolatile => 's', proparallel => 'r', prorettype => 'text',
  7848. proargtypes => '', prosrc => 'pg_listening_channels' },
  7849. { oid => '3036', descr => 'send a notification event',
  7850. proname => 'pg_notify', proisstrict => 'f', provolatile => 'v',
  7851. proparallel => 'r', prorettype => 'void', proargtypes => 'text text',
  7852. prosrc => 'pg_notify' },
  7853. { oid => '3296',
  7854. descr => 'get the fraction of the asynchronous notification queue currently in use',
  7855. proname => 'pg_notification_queue_usage', provolatile => 'v',
  7856. proparallel => 'r', prorettype => 'float8', proargtypes => '',
  7857. prosrc => 'pg_notification_queue_usage' },
  7858. # shared memory usage
  7859. { oid => '5052', descr => 'allocations from the main shared memory segment',
  7860. proname => 'pg_get_shmem_allocations', prorows => '50', proretset => 't',
  7861. provolatile => 'v', prorettype => 'record', proargtypes => '',
  7862. proallargtypes => '{text,int8,int8,int8}', proargmodes => '{o,o,o,o}',
  7863. proargnames => '{name,off,size,allocated_size}',
  7864. prosrc => 'pg_get_shmem_allocations' },
  7865. # memory context of local backend
  7866. { oid => '2282',
  7867. descr => 'information about all memory contexts of local backend',
  7868. proname => 'pg_get_backend_memory_contexts', prorows => '100',
  7869. proretset => 't', provolatile => 'v', proparallel => 'r',
  7870. prorettype => 'record', proargtypes => '',
  7871. proallargtypes => '{text,text,text,int4,int8,int8,int8,int8,int8}',
  7872. proargmodes => '{o,o,o,o,o,o,o,o,o}',
  7873. proargnames => '{name, ident, parent, level, total_bytes, total_nblocks, free_bytes, free_chunks, used_bytes}',
  7874. prosrc => 'pg_get_backend_memory_contexts' },
  7875. # logging memory contexts of the specified backend
  7876. { oid => '4543', descr => 'log memory contexts of the specified backend',
  7877. proname => 'pg_log_backend_memory_contexts', provolatile => 'v',
  7878. prorettype => 'bool', proargtypes => 'int4',
  7879. prosrc => 'pg_log_backend_memory_contexts' },
  7880. # non-persistent series generator
  7881. { oid => '1066', descr => 'non-persistent series generator',
  7882. proname => 'generate_series', prorows => '1000',
  7883. prosupport => 'generate_series_int4_support', proretset => 't',
  7884. prorettype => 'int4', proargtypes => 'int4 int4 int4',
  7885. prosrc => 'generate_series_step_int4' },
  7886. { oid => '1067', descr => 'non-persistent series generator',
  7887. proname => 'generate_series', prorows => '1000',
  7888. prosupport => 'generate_series_int4_support', proretset => 't',
  7889. prorettype => 'int4', proargtypes => 'int4 int4',
  7890. prosrc => 'generate_series_int4' },
  7891. { oid => '3994', descr => 'planner support for generate_series',
  7892. proname => 'generate_series_int4_support', prorettype => 'internal',
  7893. proargtypes => 'internal', prosrc => 'generate_series_int4_support' },
  7894. { oid => '1068', descr => 'non-persistent series generator',
  7895. proname => 'generate_series', prorows => '1000',
  7896. prosupport => 'generate_series_int8_support', proretset => 't',
  7897. prorettype => 'int8', proargtypes => 'int8 int8 int8',
  7898. prosrc => 'generate_series_step_int8' },
  7899. { oid => '1069', descr => 'non-persistent series generator',
  7900. proname => 'generate_series', prorows => '1000',
  7901. prosupport => 'generate_series_int8_support', proretset => 't',
  7902. prorettype => 'int8', proargtypes => 'int8 int8',
  7903. prosrc => 'generate_series_int8' },
  7904. { oid => '3995', descr => 'planner support for generate_series',
  7905. proname => 'generate_series_int8_support', prorettype => 'internal',
  7906. proargtypes => 'internal', prosrc => 'generate_series_int8_support' },
  7907. { oid => '3259', descr => 'non-persistent series generator',
  7908. proname => 'generate_series', prorows => '1000', proretset => 't',
  7909. prorettype => 'numeric', proargtypes => 'numeric numeric numeric',
  7910. prosrc => 'generate_series_step_numeric' },
  7911. { oid => '3260', descr => 'non-persistent series generator',
  7912. proname => 'generate_series', prorows => '1000', proretset => 't',
  7913. prorettype => 'numeric', proargtypes => 'numeric numeric',
  7914. prosrc => 'generate_series_numeric' },
  7915. { oid => '938', descr => 'non-persistent series generator',
  7916. proname => 'generate_series', prorows => '1000', proretset => 't',
  7917. prorettype => 'timestamp', proargtypes => 'timestamp timestamp interval',
  7918. prosrc => 'generate_series_timestamp' },
  7919. { oid => '939', descr => 'non-persistent series generator',
  7920. proname => 'generate_series', prorows => '1000', proretset => 't',
  7921. provolatile => 's', prorettype => 'timestamptz',
  7922. proargtypes => 'timestamptz timestamptz interval',
  7923. prosrc => 'generate_series_timestamptz' },
  7924. { oid => '6274', descr => 'non-persistent series generator',
  7925. proname => 'generate_series', prorows => '1000', proretset => 't',
  7926. prorettype => 'timestamptz',
  7927. proargtypes => 'timestamptz timestamptz interval text',
  7928. prosrc => 'generate_series_timestamptz_at_zone' },
  7929. # boolean aggregates
  7930. { oid => '2515', descr => 'aggregate transition function',
  7931. proname => 'booland_statefunc', prorettype => 'bool',
  7932. proargtypes => 'bool bool', prosrc => 'booland_statefunc' },
  7933. { oid => '2516', descr => 'aggregate transition function',
  7934. proname => 'boolor_statefunc', prorettype => 'bool',
  7935. proargtypes => 'bool bool', prosrc => 'boolor_statefunc' },
  7936. { oid => '3496', descr => 'aggregate transition function',
  7937. proname => 'bool_accum', proisstrict => 'f', prorettype => 'internal',
  7938. proargtypes => 'internal bool', prosrc => 'bool_accum' },
  7939. { oid => '3497', descr => 'aggregate transition function',
  7940. proname => 'bool_accum_inv', proisstrict => 'f', prorettype => 'internal',
  7941. proargtypes => 'internal bool', prosrc => 'bool_accum_inv' },
  7942. { oid => '3498', descr => 'aggregate final function',
  7943. proname => 'bool_alltrue', prorettype => 'bool', proargtypes => 'internal',
  7944. prosrc => 'bool_alltrue' },
  7945. { oid => '3499', descr => 'aggregate final function',
  7946. proname => 'bool_anytrue', prorettype => 'bool', proargtypes => 'internal',
  7947. prosrc => 'bool_anytrue' },
  7948. { oid => '2517', descr => 'boolean-and aggregate',
  7949. proname => 'bool_and', prokind => 'a', proisstrict => 'f',
  7950. prorettype => 'bool', proargtypes => 'bool', prosrc => 'aggregate_dummy' },
  7951. # ANY, SOME? These names conflict with subquery operators. See doc.
  7952. { oid => '2518', descr => 'boolean-or aggregate',
  7953. proname => 'bool_or', prokind => 'a', proisstrict => 'f',
  7954. prorettype => 'bool', proargtypes => 'bool', prosrc => 'aggregate_dummy' },
  7955. { oid => '2519', descr => 'boolean-and aggregate',
  7956. proname => 'every', prokind => 'a', proisstrict => 'f', prorettype => 'bool',
  7957. proargtypes => 'bool', prosrc => 'aggregate_dummy' },
  7958. # bitwise integer aggregates
  7959. { oid => '2236', descr => 'bitwise-and smallint aggregate',
  7960. proname => 'bit_and', prokind => 'a', proisstrict => 'f',
  7961. prorettype => 'int2', proargtypes => 'int2', prosrc => 'aggregate_dummy' },
  7962. { oid => '2237', descr => 'bitwise-or smallint aggregate',
  7963. proname => 'bit_or', prokind => 'a', proisstrict => 'f', prorettype => 'int2',
  7964. proargtypes => 'int2', prosrc => 'aggregate_dummy' },
  7965. { oid => '6164', descr => 'bitwise-xor smallint aggregate',
  7966. proname => 'bit_xor', prokind => 'a', proisstrict => 'f',
  7967. prorettype => 'int2', proargtypes => 'int2', prosrc => 'aggregate_dummy' },
  7968. { oid => '2238', descr => 'bitwise-and integer aggregate',
  7969. proname => 'bit_and', prokind => 'a', proisstrict => 'f',
  7970. prorettype => 'int4', proargtypes => 'int4', prosrc => 'aggregate_dummy' },
  7971. { oid => '2239', descr => 'bitwise-or integer aggregate',
  7972. proname => 'bit_or', prokind => 'a', proisstrict => 'f', prorettype => 'int4',
  7973. proargtypes => 'int4', prosrc => 'aggregate_dummy' },
  7974. { oid => '6165', descr => 'bitwise-xor integer aggregate',
  7975. proname => 'bit_xor', prokind => 'a', proisstrict => 'f',
  7976. prorettype => 'int4', proargtypes => 'int4', prosrc => 'aggregate_dummy' },
  7977. { oid => '2240', descr => 'bitwise-and bigint aggregate',
  7978. proname => 'bit_and', prokind => 'a', proisstrict => 'f',
  7979. prorettype => 'int8', proargtypes => 'int8', prosrc => 'aggregate_dummy' },
  7980. { oid => '2241', descr => 'bitwise-or bigint aggregate',
  7981. proname => 'bit_or', prokind => 'a', proisstrict => 'f', prorettype => 'int8',
  7982. proargtypes => 'int8', prosrc => 'aggregate_dummy' },
  7983. { oid => '6166', descr => 'bitwise-xor bigint aggregate',
  7984. proname => 'bit_xor', prokind => 'a', proisstrict => 'f',
  7985. prorettype => 'int8', proargtypes => 'int8', prosrc => 'aggregate_dummy' },
  7986. { oid => '2242', descr => 'bitwise-and bit aggregate',
  7987. proname => 'bit_and', prokind => 'a', proisstrict => 'f', prorettype => 'bit',
  7988. proargtypes => 'bit', prosrc => 'aggregate_dummy' },
  7989. { oid => '2243', descr => 'bitwise-or bit aggregate',
  7990. proname => 'bit_or', prokind => 'a', proisstrict => 'f', prorettype => 'bit',
  7991. proargtypes => 'bit', prosrc => 'aggregate_dummy' },
  7992. { oid => '6167', descr => 'bitwise-xor bit aggregate',
  7993. proname => 'bit_xor', prokind => 'a', proisstrict => 'f', prorettype => 'bit',
  7994. proargtypes => 'bit', prosrc => 'aggregate_dummy' },
  7995. # formerly-missing interval + datetime operators
  7996. { oid => '2546',
  7997. proname => 'interval_pl_date', prolang => 'sql', prorettype => 'timestamp',
  7998. proargtypes => 'interval date', prosrc => 'see system_functions.sql' },
  7999. { oid => '2547',
  8000. proname => 'interval_pl_timetz', prolang => 'sql', prorettype => 'timetz',
  8001. proargtypes => 'interval timetz', prosrc => 'see system_functions.sql' },
  8002. { oid => '2548',
  8003. proname => 'interval_pl_timestamp', prolang => 'sql',
  8004. prorettype => 'timestamp', proargtypes => 'interval timestamp',
  8005. prosrc => 'see system_functions.sql' },
  8006. { oid => '2549',
  8007. proname => 'interval_pl_timestamptz', prolang => 'sql', provolatile => 's',
  8008. prorettype => 'timestamptz', proargtypes => 'interval timestamptz',
  8009. prosrc => 'see system_functions.sql' },
  8010. { oid => '2550',
  8011. proname => 'integer_pl_date', prolang => 'sql', prorettype => 'date',
  8012. proargtypes => 'int4 date', prosrc => 'see system_functions.sql' },
  8013. { oid => '2556', descr => 'get OIDs of databases in a tablespace',
  8014. proname => 'pg_tablespace_databases', prorows => '1000', proretset => 't',
  8015. provolatile => 's', prorettype => 'oid', proargtypes => 'oid',
  8016. prosrc => 'pg_tablespace_databases' },
  8017. { oid => '2557', descr => 'convert int4 to boolean',
  8018. proname => 'bool', proleakproof => 't', prorettype => 'bool',
  8019. proargtypes => 'int4', prosrc => 'int4_bool' },
  8020. { oid => '2558', descr => 'convert boolean to int4',
  8021. proname => 'int4', proleakproof => 't', prorettype => 'int4',
  8022. proargtypes => 'bool', prosrc => 'bool_int4' },
  8023. { oid => '2559', descr => 'current value from last used sequence',
  8024. proname => 'lastval', provolatile => 'v', proparallel => 'u',
  8025. prorettype => 'int8', proargtypes => '', prosrc => 'lastval' },
  8026. # start time function
  8027. { oid => '2560', descr => 'postmaster start time',
  8028. proname => 'pg_postmaster_start_time', provolatile => 's',
  8029. prorettype => 'timestamptz', proargtypes => '',
  8030. prosrc => 'pg_postmaster_start_time' },
  8031. # config reload time function
  8032. { oid => '2034', descr => 'configuration load time',
  8033. proname => 'pg_conf_load_time', provolatile => 's', proparallel => 'r',
  8034. prorettype => 'timestamptz', proargtypes => '',
  8035. prosrc => 'pg_conf_load_time' },
  8036. # new functions for Y-direction rtree opclasses
  8037. { oid => '2562',
  8038. proname => 'box_below', prorettype => 'bool', proargtypes => 'box box',
  8039. prosrc => 'box_below' },
  8040. { oid => '2563',
  8041. proname => 'box_overbelow', prorettype => 'bool', proargtypes => 'box box',
  8042. prosrc => 'box_overbelow' },
  8043. { oid => '2564',
  8044. proname => 'box_overabove', prorettype => 'bool', proargtypes => 'box box',
  8045. prosrc => 'box_overabove' },
  8046. { oid => '2565',
  8047. proname => 'box_above', prorettype => 'bool', proargtypes => 'box box',
  8048. prosrc => 'box_above' },
  8049. { oid => '2566',
  8050. proname => 'poly_below', prorettype => 'bool',
  8051. proargtypes => 'polygon polygon', prosrc => 'poly_below' },
  8052. { oid => '2567',
  8053. proname => 'poly_overbelow', prorettype => 'bool',
  8054. proargtypes => 'polygon polygon', prosrc => 'poly_overbelow' },
  8055. { oid => '2568',
  8056. proname => 'poly_overabove', prorettype => 'bool',
  8057. proargtypes => 'polygon polygon', prosrc => 'poly_overabove' },
  8058. { oid => '2569',
  8059. proname => 'poly_above', prorettype => 'bool',
  8060. proargtypes => 'polygon polygon', prosrc => 'poly_above' },
  8061. { oid => '2587',
  8062. proname => 'circle_overbelow', prorettype => 'bool',
  8063. proargtypes => 'circle circle', prosrc => 'circle_overbelow' },
  8064. { oid => '2588',
  8065. proname => 'circle_overabove', prorettype => 'bool',
  8066. proargtypes => 'circle circle', prosrc => 'circle_overabove' },
  8067. # support functions for GiST r-tree emulation
  8068. { oid => '2578', descr => 'GiST support',
  8069. proname => 'gist_box_consistent', prorettype => 'bool',
  8070. proargtypes => 'internal box int2 oid internal',
  8071. prosrc => 'gist_box_consistent' },
  8072. { oid => '2581', descr => 'GiST support',
  8073. proname => 'gist_box_penalty', prorettype => 'internal',
  8074. proargtypes => 'internal internal internal', prosrc => 'gist_box_penalty' },
  8075. { oid => '2582', descr => 'GiST support',
  8076. proname => 'gist_box_picksplit', prorettype => 'internal',
  8077. proargtypes => 'internal internal', prosrc => 'gist_box_picksplit' },
  8078. { oid => '2583', descr => 'GiST support',
  8079. proname => 'gist_box_union', prorettype => 'box',
  8080. proargtypes => 'internal internal', prosrc => 'gist_box_union' },
  8081. { oid => '2584', descr => 'GiST support',
  8082. proname => 'gist_box_same', prorettype => 'internal',
  8083. proargtypes => 'box box internal', prosrc => 'gist_box_same' },
  8084. { oid => '3998', descr => 'GiST support',
  8085. proname => 'gist_box_distance', prorettype => 'float8',
  8086. proargtypes => 'internal box int2 oid internal',
  8087. prosrc => 'gist_box_distance' },
  8088. { oid => '2585', descr => 'GiST support',
  8089. proname => 'gist_poly_consistent', prorettype => 'bool',
  8090. proargtypes => 'internal polygon int2 oid internal',
  8091. prosrc => 'gist_poly_consistent' },
  8092. { oid => '2586', descr => 'GiST support',
  8093. proname => 'gist_poly_compress', prorettype => 'internal',
  8094. proargtypes => 'internal', prosrc => 'gist_poly_compress' },
  8095. { oid => '2591', descr => 'GiST support',
  8096. proname => 'gist_circle_consistent', prorettype => 'bool',
  8097. proargtypes => 'internal circle int2 oid internal',
  8098. prosrc => 'gist_circle_consistent' },
  8099. { oid => '2592', descr => 'GiST support',
  8100. proname => 'gist_circle_compress', prorettype => 'internal',
  8101. proargtypes => 'internal', prosrc => 'gist_circle_compress' },
  8102. { oid => '1030', descr => 'GiST support',
  8103. proname => 'gist_point_compress', prorettype => 'internal',
  8104. proargtypes => 'internal', prosrc => 'gist_point_compress' },
  8105. { oid => '3282', descr => 'GiST support',
  8106. proname => 'gist_point_fetch', prorettype => 'internal',
  8107. proargtypes => 'internal', prosrc => 'gist_point_fetch' },
  8108. { oid => '2179', descr => 'GiST support',
  8109. proname => 'gist_point_consistent', prorettype => 'bool',
  8110. proargtypes => 'internal point int2 oid internal',
  8111. prosrc => 'gist_point_consistent' },
  8112. { oid => '3064', descr => 'GiST support',
  8113. proname => 'gist_point_distance', prorettype => 'float8',
  8114. proargtypes => 'internal point int2 oid internal',
  8115. prosrc => 'gist_point_distance' },
  8116. { oid => '3280', descr => 'GiST support',
  8117. proname => 'gist_circle_distance', prorettype => 'float8',
  8118. proargtypes => 'internal circle int2 oid internal',
  8119. prosrc => 'gist_circle_distance' },
  8120. { oid => '3288', descr => 'GiST support',
  8121. proname => 'gist_poly_distance', prorettype => 'float8',
  8122. proargtypes => 'internal polygon int2 oid internal',
  8123. prosrc => 'gist_poly_distance' },
  8124. { oid => '3435', descr => 'sort support',
  8125. proname => 'gist_point_sortsupport', prorettype => 'void',
  8126. proargtypes => 'internal', prosrc => 'gist_point_sortsupport' },
  8127. # GIN array support
  8128. { oid => '2743', descr => 'GIN array support',
  8129. proname => 'ginarrayextract', prorettype => 'internal',
  8130. proargtypes => 'anyarray internal internal', prosrc => 'ginarrayextract' },
  8131. { oid => '2774', descr => 'GIN array support',
  8132. proname => 'ginqueryarrayextract', prorettype => 'internal',
  8133. proargtypes => 'anyarray internal int2 internal internal internal internal',
  8134. prosrc => 'ginqueryarrayextract' },
  8135. { oid => '2744', descr => 'GIN array support',
  8136. proname => 'ginarrayconsistent', prorettype => 'bool',
  8137. proargtypes => 'internal int2 anyarray int4 internal internal internal internal',
  8138. prosrc => 'ginarrayconsistent' },
  8139. { oid => '3920', descr => 'GIN array support',
  8140. proname => 'ginarraytriconsistent', prorettype => 'char',
  8141. proargtypes => 'internal int2 anyarray int4 internal internal internal',
  8142. prosrc => 'ginarraytriconsistent' },
  8143. { oid => '3076', descr => 'GIN array support (obsolete)',
  8144. proname => 'ginarrayextract', prorettype => 'internal',
  8145. proargtypes => 'anyarray internal', prosrc => 'ginarrayextract_2args' },
  8146. # overlap/contains/contained
  8147. { oid => '2747',
  8148. proname => 'arrayoverlap', prorettype => 'bool',
  8149. proargtypes => 'anyarray anyarray', prosrc => 'arrayoverlap' },
  8150. { oid => '2748',
  8151. proname => 'arraycontains', prorettype => 'bool',
  8152. proargtypes => 'anyarray anyarray', prosrc => 'arraycontains' },
  8153. { oid => '2749',
  8154. proname => 'arraycontained', prorettype => 'bool',
  8155. proargtypes => 'anyarray anyarray', prosrc => 'arraycontained' },
  8156. # BRIN minmax
  8157. { oid => '3383', descr => 'BRIN minmax support',
  8158. proname => 'brin_minmax_opcinfo', prorettype => 'internal',
  8159. proargtypes => 'internal', prosrc => 'brin_minmax_opcinfo' },
  8160. { oid => '3384', descr => 'BRIN minmax support',
  8161. proname => 'brin_minmax_add_value', prorettype => 'bool',
  8162. proargtypes => 'internal internal internal internal',
  8163. prosrc => 'brin_minmax_add_value' },
  8164. { oid => '3385', descr => 'BRIN minmax support',
  8165. proname => 'brin_minmax_consistent', prorettype => 'bool',
  8166. proargtypes => 'internal internal internal',
  8167. prosrc => 'brin_minmax_consistent' },
  8168. { oid => '3386', descr => 'BRIN minmax support',
  8169. proname => 'brin_minmax_union', prorettype => 'bool',
  8170. proargtypes => 'internal internal internal', prosrc => 'brin_minmax_union' },
  8171. # BRIN minmax multi
  8172. { oid => '4616', descr => 'BRIN multi minmax support',
  8173. proname => 'brin_minmax_multi_opcinfo', prorettype => 'internal',
  8174. proargtypes => 'internal', prosrc => 'brin_minmax_multi_opcinfo' },
  8175. { oid => '4617', descr => 'BRIN multi minmax support',
  8176. proname => 'brin_minmax_multi_add_value', prorettype => 'bool',
  8177. proargtypes => 'internal internal internal internal',
  8178. prosrc => 'brin_minmax_multi_add_value' },
  8179. { oid => '4618', descr => 'BRIN multi minmax support',
  8180. proname => 'brin_minmax_multi_consistent', prorettype => 'bool',
  8181. proargtypes => 'internal internal internal int4',
  8182. prosrc => 'brin_minmax_multi_consistent' },
  8183. { oid => '4619', descr => 'BRIN multi minmax support',
  8184. proname => 'brin_minmax_multi_union', prorettype => 'bool',
  8185. proargtypes => 'internal internal internal',
  8186. prosrc => 'brin_minmax_multi_union' },
  8187. { oid => '4620', descr => 'BRIN multi minmax support',
  8188. proname => 'brin_minmax_multi_options', proisstrict => 'f',
  8189. prorettype => 'void', proargtypes => 'internal',
  8190. prosrc => 'brin_minmax_multi_options' },
  8191. { oid => '4621', descr => 'BRIN multi minmax int2 distance',
  8192. proname => 'brin_minmax_multi_distance_int2', prorettype => 'float8',
  8193. proargtypes => 'internal internal',
  8194. prosrc => 'brin_minmax_multi_distance_int2' },
  8195. { oid => '4622', descr => 'BRIN multi minmax int4 distance',
  8196. proname => 'brin_minmax_multi_distance_int4', prorettype => 'float8',
  8197. proargtypes => 'internal internal',
  8198. prosrc => 'brin_minmax_multi_distance_int4' },
  8199. { oid => '4623', descr => 'BRIN multi minmax int8 distance',
  8200. proname => 'brin_minmax_multi_distance_int8', prorettype => 'float8',
  8201. proargtypes => 'internal internal',
  8202. prosrc => 'brin_minmax_multi_distance_int8' },
  8203. { oid => '4624', descr => 'BRIN multi minmax float4 distance',
  8204. proname => 'brin_minmax_multi_distance_float4', prorettype => 'float8',
  8205. proargtypes => 'internal internal',
  8206. prosrc => 'brin_minmax_multi_distance_float4' },
  8207. { oid => '4625', descr => 'BRIN multi minmax float8 distance',
  8208. proname => 'brin_minmax_multi_distance_float8', prorettype => 'float8',
  8209. proargtypes => 'internal internal',
  8210. prosrc => 'brin_minmax_multi_distance_float8' },
  8211. { oid => '4626', descr => 'BRIN multi minmax numeric distance',
  8212. proname => 'brin_minmax_multi_distance_numeric', prorettype => 'float8',
  8213. proargtypes => 'internal internal',
  8214. prosrc => 'brin_minmax_multi_distance_numeric' },
  8215. { oid => '4627', descr => 'BRIN multi minmax tid distance',
  8216. proname => 'brin_minmax_multi_distance_tid', prorettype => 'float8',
  8217. proargtypes => 'internal internal',
  8218. prosrc => 'brin_minmax_multi_distance_tid' },
  8219. { oid => '4628', descr => 'BRIN multi minmax uuid distance',
  8220. proname => 'brin_minmax_multi_distance_uuid', prorettype => 'float8',
  8221. proargtypes => 'internal internal',
  8222. prosrc => 'brin_minmax_multi_distance_uuid' },
  8223. { oid => '4629', descr => 'BRIN multi minmax date distance',
  8224. proname => 'brin_minmax_multi_distance_date', prorettype => 'float8',
  8225. proargtypes => 'internal internal',
  8226. prosrc => 'brin_minmax_multi_distance_date' },
  8227. { oid => '4630', descr => 'BRIN multi minmax time distance',
  8228. proname => 'brin_minmax_multi_distance_time', prorettype => 'float8',
  8229. proargtypes => 'internal internal',
  8230. prosrc => 'brin_minmax_multi_distance_time' },
  8231. { oid => '4631', descr => 'BRIN multi minmax interval distance',
  8232. proname => 'brin_minmax_multi_distance_interval', prorettype => 'float8',
  8233. proargtypes => 'internal internal',
  8234. prosrc => 'brin_minmax_multi_distance_interval' },
  8235. { oid => '4632', descr => 'BRIN multi minmax timetz distance',
  8236. proname => 'brin_minmax_multi_distance_timetz', prorettype => 'float8',
  8237. proargtypes => 'internal internal',
  8238. prosrc => 'brin_minmax_multi_distance_timetz' },
  8239. { oid => '4633', descr => 'BRIN multi minmax pg_lsn distance',
  8240. proname => 'brin_minmax_multi_distance_pg_lsn', prorettype => 'float8',
  8241. proargtypes => 'internal internal',
  8242. prosrc => 'brin_minmax_multi_distance_pg_lsn' },
  8243. { oid => '4634', descr => 'BRIN multi minmax macaddr distance',
  8244. proname => 'brin_minmax_multi_distance_macaddr', prorettype => 'float8',
  8245. proargtypes => 'internal internal',
  8246. prosrc => 'brin_minmax_multi_distance_macaddr' },
  8247. { oid => '4635', descr => 'BRIN multi minmax macaddr8 distance',
  8248. proname => 'brin_minmax_multi_distance_macaddr8', prorettype => 'float8',
  8249. proargtypes => 'internal internal',
  8250. prosrc => 'brin_minmax_multi_distance_macaddr8' },
  8251. { oid => '4636', descr => 'BRIN multi minmax inet distance',
  8252. proname => 'brin_minmax_multi_distance_inet', prorettype => 'float8',
  8253. proargtypes => 'internal internal',
  8254. prosrc => 'brin_minmax_multi_distance_inet' },
  8255. { oid => '4637', descr => 'BRIN multi minmax timestamp distance',
  8256. proname => 'brin_minmax_multi_distance_timestamp', prorettype => 'float8',
  8257. proargtypes => 'internal internal',
  8258. prosrc => 'brin_minmax_multi_distance_timestamp' },
  8259. # BRIN inclusion
  8260. { oid => '4105', descr => 'BRIN inclusion support',
  8261. proname => 'brin_inclusion_opcinfo', prorettype => 'internal',
  8262. proargtypes => 'internal', prosrc => 'brin_inclusion_opcinfo' },
  8263. { oid => '4106', descr => 'BRIN inclusion support',
  8264. proname => 'brin_inclusion_add_value', prorettype => 'bool',
  8265. proargtypes => 'internal internal internal internal',
  8266. prosrc => 'brin_inclusion_add_value' },
  8267. { oid => '4107', descr => 'BRIN inclusion support',
  8268. proname => 'brin_inclusion_consistent', prorettype => 'bool',
  8269. proargtypes => 'internal internal internal',
  8270. prosrc => 'brin_inclusion_consistent' },
  8271. { oid => '4108', descr => 'BRIN inclusion support',
  8272. proname => 'brin_inclusion_union', prorettype => 'bool',
  8273. proargtypes => 'internal internal internal',
  8274. prosrc => 'brin_inclusion_union' },
  8275. # BRIN bloom
  8276. { oid => '4591', descr => 'BRIN bloom support',
  8277. proname => 'brin_bloom_opcinfo', prorettype => 'internal',
  8278. proargtypes => 'internal', prosrc => 'brin_bloom_opcinfo' },
  8279. { oid => '4592', descr => 'BRIN bloom support',
  8280. proname => 'brin_bloom_add_value', prorettype => 'bool',
  8281. proargtypes => 'internal internal internal internal',
  8282. prosrc => 'brin_bloom_add_value' },
  8283. { oid => '4593', descr => 'BRIN bloom support',
  8284. proname => 'brin_bloom_consistent', prorettype => 'bool',
  8285. proargtypes => 'internal internal internal int4',
  8286. prosrc => 'brin_bloom_consistent' },
  8287. { oid => '4594', descr => 'BRIN bloom support',
  8288. proname => 'brin_bloom_union', prorettype => 'bool',
  8289. proargtypes => 'internal internal internal', prosrc => 'brin_bloom_union' },
  8290. { oid => '4595', descr => 'BRIN bloom support',
  8291. proname => 'brin_bloom_options', proisstrict => 'f', prorettype => 'void',
  8292. proargtypes => 'internal', prosrc => 'brin_bloom_options' },
  8293. # userlock replacements
  8294. { oid => '2880', descr => 'obtain exclusive advisory lock',
  8295. proname => 'pg_advisory_lock', provolatile => 'v', proparallel => 'r',
  8296. prorettype => 'void', proargtypes => 'int8',
  8297. prosrc => 'pg_advisory_lock_int8' },
  8298. { oid => '3089', descr => 'obtain exclusive advisory lock',
  8299. proname => 'pg_advisory_xact_lock', provolatile => 'v', proparallel => 'r',
  8300. prorettype => 'void', proargtypes => 'int8',
  8301. prosrc => 'pg_advisory_xact_lock_int8' },
  8302. { oid => '2881', descr => 'obtain shared advisory lock',
  8303. proname => 'pg_advisory_lock_shared', provolatile => 'v', proparallel => 'r',
  8304. prorettype => 'void', proargtypes => 'int8',
  8305. prosrc => 'pg_advisory_lock_shared_int8' },
  8306. { oid => '3090', descr => 'obtain shared advisory lock',
  8307. proname => 'pg_advisory_xact_lock_shared', provolatile => 'v',
  8308. proparallel => 'r', prorettype => 'void', proargtypes => 'int8',
  8309. prosrc => 'pg_advisory_xact_lock_shared_int8' },
  8310. { oid => '2882', descr => 'obtain exclusive advisory lock if available',
  8311. proname => 'pg_try_advisory_lock', provolatile => 'v', proparallel => 'r',
  8312. prorettype => 'bool', proargtypes => 'int8',
  8313. prosrc => 'pg_try_advisory_lock_int8' },
  8314. { oid => '3091', descr => 'obtain exclusive advisory lock if available',
  8315. proname => 'pg_try_advisory_xact_lock', provolatile => 'v',
  8316. proparallel => 'r', prorettype => 'bool', proargtypes => 'int8',
  8317. prosrc => 'pg_try_advisory_xact_lock_int8' },
  8318. { oid => '2883', descr => 'obtain shared advisory lock if available',
  8319. proname => 'pg_try_advisory_lock_shared', provolatile => 'v',
  8320. proparallel => 'r', prorettype => 'bool', proargtypes => 'int8',
  8321. prosrc => 'pg_try_advisory_lock_shared_int8' },
  8322. { oid => '3092', descr => 'obtain shared advisory lock if available',
  8323. proname => 'pg_try_advisory_xact_lock_shared', provolatile => 'v',
  8324. proparallel => 'r', prorettype => 'bool', proargtypes => 'int8',
  8325. prosrc => 'pg_try_advisory_xact_lock_shared_int8' },
  8326. { oid => '2884', descr => 'release exclusive advisory lock',
  8327. proname => 'pg_advisory_unlock', provolatile => 'v', proparallel => 'r',
  8328. prorettype => 'bool', proargtypes => 'int8',
  8329. prosrc => 'pg_advisory_unlock_int8' },
  8330. { oid => '2885', descr => 'release shared advisory lock',
  8331. proname => 'pg_advisory_unlock_shared', provolatile => 'v',
  8332. proparallel => 'r', prorettype => 'bool', proargtypes => 'int8',
  8333. prosrc => 'pg_advisory_unlock_shared_int8' },
  8334. { oid => '2886', descr => 'obtain exclusive advisory lock',
  8335. proname => 'pg_advisory_lock', provolatile => 'v', proparallel => 'r',
  8336. prorettype => 'void', proargtypes => 'int4 int4',
  8337. prosrc => 'pg_advisory_lock_int4' },
  8338. { oid => '3093', descr => 'obtain exclusive advisory lock',
  8339. proname => 'pg_advisory_xact_lock', provolatile => 'v', proparallel => 'r',
  8340. prorettype => 'void', proargtypes => 'int4 int4',
  8341. prosrc => 'pg_advisory_xact_lock_int4' },
  8342. { oid => '2887', descr => 'obtain shared advisory lock',
  8343. proname => 'pg_advisory_lock_shared', provolatile => 'v', proparallel => 'r',
  8344. prorettype => 'void', proargtypes => 'int4 int4',
  8345. prosrc => 'pg_advisory_lock_shared_int4' },
  8346. { oid => '3094', descr => 'obtain shared advisory lock',
  8347. proname => 'pg_advisory_xact_lock_shared', provolatile => 'v',
  8348. proparallel => 'r', prorettype => 'void', proargtypes => 'int4 int4',
  8349. prosrc => 'pg_advisory_xact_lock_shared_int4' },
  8350. { oid => '2888', descr => 'obtain exclusive advisory lock if available',
  8351. proname => 'pg_try_advisory_lock', provolatile => 'v', proparallel => 'r',
  8352. prorettype => 'bool', proargtypes => 'int4 int4',
  8353. prosrc => 'pg_try_advisory_lock_int4' },
  8354. { oid => '3095', descr => 'obtain exclusive advisory lock if available',
  8355. proname => 'pg_try_advisory_xact_lock', provolatile => 'v',
  8356. proparallel => 'r', prorettype => 'bool', proargtypes => 'int4 int4',
  8357. prosrc => 'pg_try_advisory_xact_lock_int4' },
  8358. { oid => '2889', descr => 'obtain shared advisory lock if available',
  8359. proname => 'pg_try_advisory_lock_shared', provolatile => 'v',
  8360. proparallel => 'r', prorettype => 'bool', proargtypes => 'int4 int4',
  8361. prosrc => 'pg_try_advisory_lock_shared_int4' },
  8362. { oid => '3096', descr => 'obtain shared advisory lock if available',
  8363. proname => 'pg_try_advisory_xact_lock_shared', provolatile => 'v',
  8364. proparallel => 'r', prorettype => 'bool', proargtypes => 'int4 int4',
  8365. prosrc => 'pg_try_advisory_xact_lock_shared_int4' },
  8366. { oid => '2890', descr => 'release exclusive advisory lock',
  8367. proname => 'pg_advisory_unlock', provolatile => 'v', proparallel => 'r',
  8368. prorettype => 'bool', proargtypes => 'int4 int4',
  8369. prosrc => 'pg_advisory_unlock_int4' },
  8370. { oid => '2891', descr => 'release shared advisory lock',
  8371. proname => 'pg_advisory_unlock_shared', provolatile => 'v',
  8372. proparallel => 'r', prorettype => 'bool', proargtypes => 'int4 int4',
  8373. prosrc => 'pg_advisory_unlock_shared_int4' },
  8374. { oid => '2892', descr => 'release all advisory locks',
  8375. proname => 'pg_advisory_unlock_all', provolatile => 'v', proparallel => 'r',
  8376. prorettype => 'void', proargtypes => '', prosrc => 'pg_advisory_unlock_all' },
  8377. # XML support
  8378. { oid => '2893', descr => 'I/O',
  8379. proname => 'xml_in', provolatile => 's', prorettype => 'xml',
  8380. proargtypes => 'cstring', prosrc => 'xml_in' },
  8381. { oid => '2894', descr => 'I/O',
  8382. proname => 'xml_out', prorettype => 'cstring', proargtypes => 'xml',
  8383. prosrc => 'xml_out' },
  8384. { oid => '2895', descr => 'generate XML comment',
  8385. proname => 'xmlcomment', prorettype => 'xml', proargtypes => 'text',
  8386. prosrc => 'xmlcomment' },
  8387. { oid => '2896',
  8388. descr => 'perform a non-validating parse of a character string to produce an XML value',
  8389. proname => 'xml', provolatile => 's', prorettype => 'xml',
  8390. proargtypes => 'text', prosrc => 'texttoxml' },
  8391. { oid => '2897', descr => 'validate an XML value',
  8392. proname => 'xmlvalidate', prorettype => 'bool', proargtypes => 'xml text',
  8393. prosrc => 'xmlvalidate' },
  8394. { oid => '2898', descr => 'I/O',
  8395. proname => 'xml_recv', provolatile => 's', prorettype => 'xml',
  8396. proargtypes => 'internal', prosrc => 'xml_recv' },
  8397. { oid => '2899', descr => 'I/O',
  8398. proname => 'xml_send', provolatile => 's', prorettype => 'bytea',
  8399. proargtypes => 'xml', prosrc => 'xml_send' },
  8400. { oid => '2900', descr => 'aggregate transition function',
  8401. proname => 'xmlconcat2', proisstrict => 'f', prorettype => 'xml',
  8402. proargtypes => 'xml xml', prosrc => 'xmlconcat2' },
  8403. { oid => '2901', descr => 'concatenate XML values',
  8404. proname => 'xmlagg', prokind => 'a', proisstrict => 'f', prorettype => 'xml',
  8405. proargtypes => 'xml', prosrc => 'aggregate_dummy' },
  8406. { oid => '2922', descr => 'serialize an XML value to a character string',
  8407. proname => 'text', prorettype => 'text', proargtypes => 'xml',
  8408. prosrc => 'xmltotext' },
  8409. { oid => '2923', descr => 'map table contents to XML',
  8410. proname => 'table_to_xml', procost => '100', provolatile => 's',
  8411. proparallel => 'r', prorettype => 'xml',
  8412. proargtypes => 'regclass bool bool text',
  8413. proargnames => '{tbl,nulls,tableforest,targetns}', prosrc => 'table_to_xml' },
  8414. { oid => '2924', descr => 'map query result to XML',
  8415. proname => 'query_to_xml', procost => '100', provolatile => 'v',
  8416. proparallel => 'u', prorettype => 'xml', proargtypes => 'text bool bool text',
  8417. proargnames => '{query,nulls,tableforest,targetns}',
  8418. prosrc => 'query_to_xml' },
  8419. { oid => '2925', descr => 'map rows from cursor to XML',
  8420. proname => 'cursor_to_xml', procost => '100', provolatile => 'v',
  8421. proparallel => 'u', prorettype => 'xml',
  8422. proargtypes => 'refcursor int4 bool bool text',
  8423. proargnames => '{cursor,count,nulls,tableforest,targetns}',
  8424. prosrc => 'cursor_to_xml' },
  8425. { oid => '2926', descr => 'map table structure to XML Schema',
  8426. proname => 'table_to_xmlschema', procost => '100', provolatile => 's',
  8427. proparallel => 'r', prorettype => 'xml',
  8428. proargtypes => 'regclass bool bool text',
  8429. proargnames => '{tbl,nulls,tableforest,targetns}',
  8430. prosrc => 'table_to_xmlschema' },
  8431. { oid => '2927', descr => 'map query result structure to XML Schema',
  8432. proname => 'query_to_xmlschema', procost => '100', provolatile => 'v',
  8433. proparallel => 'u', prorettype => 'xml', proargtypes => 'text bool bool text',
  8434. proargnames => '{query,nulls,tableforest,targetns}',
  8435. prosrc => 'query_to_xmlschema' },
  8436. { oid => '2928', descr => 'map cursor structure to XML Schema',
  8437. proname => 'cursor_to_xmlschema', procost => '100', provolatile => 'v',
  8438. proparallel => 'u', prorettype => 'xml',
  8439. proargtypes => 'refcursor bool bool text',
  8440. proargnames => '{cursor,nulls,tableforest,targetns}',
  8441. prosrc => 'cursor_to_xmlschema' },
  8442. { oid => '2929',
  8443. descr => 'map table contents and structure to XML and XML Schema',
  8444. proname => 'table_to_xml_and_xmlschema', procost => '100', provolatile => 's',
  8445. proparallel => 'r', prorettype => 'xml',
  8446. proargtypes => 'regclass bool bool text',
  8447. proargnames => '{tbl,nulls,tableforest,targetns}',
  8448. prosrc => 'table_to_xml_and_xmlschema' },
  8449. { oid => '2930',
  8450. descr => 'map query result and structure to XML and XML Schema',
  8451. proname => 'query_to_xml_and_xmlschema', procost => '100', provolatile => 'v',
  8452. proparallel => 'u', prorettype => 'xml', proargtypes => 'text bool bool text',
  8453. proargnames => '{query,nulls,tableforest,targetns}',
  8454. prosrc => 'query_to_xml_and_xmlschema' },
  8455. { oid => '2933', descr => 'map schema contents to XML',
  8456. proname => 'schema_to_xml', procost => '100', provolatile => 's',
  8457. proparallel => 'r', prorettype => 'xml', proargtypes => 'name bool bool text',
  8458. proargnames => '{schema,nulls,tableforest,targetns}',
  8459. prosrc => 'schema_to_xml' },
  8460. { oid => '2934', descr => 'map schema structure to XML Schema',
  8461. proname => 'schema_to_xmlschema', procost => '100', provolatile => 's',
  8462. proparallel => 'r', prorettype => 'xml', proargtypes => 'name bool bool text',
  8463. proargnames => '{schema,nulls,tableforest,targetns}',
  8464. prosrc => 'schema_to_xmlschema' },
  8465. { oid => '2935',
  8466. descr => 'map schema contents and structure to XML and XML Schema',
  8467. proname => 'schema_to_xml_and_xmlschema', procost => '100',
  8468. provolatile => 's', proparallel => 'r', prorettype => 'xml',
  8469. proargtypes => 'name bool bool text',
  8470. proargnames => '{schema,nulls,tableforest,targetns}',
  8471. prosrc => 'schema_to_xml_and_xmlschema' },
  8472. { oid => '2936', descr => 'map database contents to XML',
  8473. proname => 'database_to_xml', procost => '100', provolatile => 's',
  8474. proparallel => 'r', prorettype => 'xml', proargtypes => 'bool bool text',
  8475. proargnames => '{nulls,tableforest,targetns}', prosrc => 'database_to_xml' },
  8476. { oid => '2937', descr => 'map database structure to XML Schema',
  8477. proname => 'database_to_xmlschema', procost => '100', provolatile => 's',
  8478. proparallel => 'r', prorettype => 'xml', proargtypes => 'bool bool text',
  8479. proargnames => '{nulls,tableforest,targetns}',
  8480. prosrc => 'database_to_xmlschema' },
  8481. { oid => '2938',
  8482. descr => 'map database contents and structure to XML and XML Schema',
  8483. proname => 'database_to_xml_and_xmlschema', procost => '100',
  8484. provolatile => 's', proparallel => 'r', prorettype => 'xml',
  8485. proargtypes => 'bool bool text',
  8486. proargnames => '{nulls,tableforest,targetns}',
  8487. prosrc => 'database_to_xml_and_xmlschema' },
  8488. { oid => '2931',
  8489. descr => 'evaluate XPath expression, with namespaces support',
  8490. proname => 'xpath', prorettype => '_xml', proargtypes => 'text xml _text',
  8491. prosrc => 'xpath' },
  8492. { oid => '2932', descr => 'evaluate XPath expression',
  8493. proname => 'xpath', prolang => 'sql', prorettype => '_xml',
  8494. proargtypes => 'text xml', prosrc => 'see system_functions.sql' },
  8495. { oid => '2614', descr => 'test XML value against XPath expression',
  8496. proname => 'xmlexists', prorettype => 'bool', proargtypes => 'text xml',
  8497. prosrc => 'xmlexists' },
  8498. { oid => '3049',
  8499. descr => 'test XML value against XPath expression, with namespace support',
  8500. proname => 'xpath_exists', prorettype => 'bool',
  8501. proargtypes => 'text xml _text', prosrc => 'xpath_exists' },
  8502. { oid => '3050', descr => 'test XML value against XPath expression',
  8503. proname => 'xpath_exists', prolang => 'sql', prorettype => 'bool',
  8504. proargtypes => 'text xml', prosrc => 'see system_functions.sql' },
  8505. { oid => '3051', descr => 'determine if a string is well formed XML',
  8506. proname => 'xml_is_well_formed', provolatile => 's', prorettype => 'bool',
  8507. proargtypes => 'text', prosrc => 'xml_is_well_formed' },
  8508. { oid => '3052', descr => 'determine if a string is well formed XML document',
  8509. proname => 'xml_is_well_formed_document', prorettype => 'bool',
  8510. proargtypes => 'text', prosrc => 'xml_is_well_formed_document' },
  8511. { oid => '3053', descr => 'determine if a string is well formed XML content',
  8512. proname => 'xml_is_well_formed_content', prorettype => 'bool',
  8513. proargtypes => 'text', prosrc => 'xml_is_well_formed_content' },
  8514. # json
  8515. { oid => '321', descr => 'I/O',
  8516. proname => 'json_in', prorettype => 'json', proargtypes => 'cstring',
  8517. prosrc => 'json_in' },
  8518. { oid => '322', descr => 'I/O',
  8519. proname => 'json_out', prorettype => 'cstring', proargtypes => 'json',
  8520. prosrc => 'json_out' },
  8521. { oid => '323', descr => 'I/O',
  8522. proname => 'json_recv', prorettype => 'json', proargtypes => 'internal',
  8523. prosrc => 'json_recv' },
  8524. { oid => '324', descr => 'I/O',
  8525. proname => 'json_send', prorettype => 'bytea', proargtypes => 'json',
  8526. prosrc => 'json_send' },
  8527. { oid => '3153', descr => 'map array to json',
  8528. proname => 'array_to_json', provolatile => 's', prorettype => 'json',
  8529. proargtypes => 'anyarray', prosrc => 'array_to_json' },
  8530. { oid => '3154', descr => 'map array to json with optional pretty printing',
  8531. proname => 'array_to_json', provolatile => 's', prorettype => 'json',
  8532. proargtypes => 'anyarray bool', prosrc => 'array_to_json_pretty' },
  8533. { oid => '3155', descr => 'map row to json',
  8534. proname => 'row_to_json', provolatile => 's', prorettype => 'json',
  8535. proargtypes => 'record', prosrc => 'row_to_json' },
  8536. { oid => '3156', descr => 'map row to json with optional pretty printing',
  8537. proname => 'row_to_json', provolatile => 's', prorettype => 'json',
  8538. proargtypes => 'record bool', prosrc => 'row_to_json_pretty' },
  8539. { oid => '3173', descr => 'json aggregate transition function',
  8540. proname => 'json_agg_transfn', proisstrict => 'f', provolatile => 's',
  8541. prorettype => 'internal', proargtypes => 'internal anyelement',
  8542. prosrc => 'json_agg_transfn' },
  8543. { oid => '6275', descr => 'json aggregate transition function',
  8544. proname => 'json_agg_strict_transfn', proisstrict => 'f', provolatile => 's',
  8545. prorettype => 'internal', proargtypes => 'internal anyelement',
  8546. prosrc => 'json_agg_strict_transfn' },
  8547. { oid => '3174', descr => 'json aggregate final function',
  8548. proname => 'json_agg_finalfn', proisstrict => 'f', prorettype => 'json',
  8549. proargtypes => 'internal', prosrc => 'json_agg_finalfn' },
  8550. { oid => '3175', descr => 'aggregate input into json',
  8551. proname => 'json_agg', prokind => 'a', proisstrict => 'f', provolatile => 's',
  8552. prorettype => 'json', proargtypes => 'anyelement',
  8553. prosrc => 'aggregate_dummy' },
  8554. { oid => '6276', descr => 'aggregate input into json',
  8555. proname => 'json_agg_strict', prokind => 'a', proisstrict => 'f',
  8556. provolatile => 's', prorettype => 'json', proargtypes => 'anyelement',
  8557. prosrc => 'aggregate_dummy' },
  8558. { oid => '3180', descr => 'json object aggregate transition function',
  8559. proname => 'json_object_agg_transfn', proisstrict => 'f', provolatile => 's',
  8560. prorettype => 'internal', proargtypes => 'internal any any',
  8561. prosrc => 'json_object_agg_transfn' },
  8562. { oid => '6277', descr => 'json object aggregate transition function',
  8563. proname => 'json_object_agg_strict_transfn', proisstrict => 'f',
  8564. provolatile => 's', prorettype => 'internal',
  8565. proargtypes => 'internal any any',
  8566. prosrc => 'json_object_agg_strict_transfn' },
  8567. { oid => '6278', descr => 'json object aggregate transition function',
  8568. proname => 'json_object_agg_unique_transfn', proisstrict => 'f',
  8569. provolatile => 's', prorettype => 'internal',
  8570. proargtypes => 'internal any any',
  8571. prosrc => 'json_object_agg_unique_transfn' },
  8572. { oid => '6279', descr => 'json object aggregate transition function',
  8573. proname => 'json_object_agg_unique_strict_transfn', proisstrict => 'f',
  8574. provolatile => 's', prorettype => 'internal',
  8575. proargtypes => 'internal any any',
  8576. prosrc => 'json_object_agg_unique_strict_transfn' },
  8577. { oid => '3196', descr => 'json object aggregate final function',
  8578. proname => 'json_object_agg_finalfn', proisstrict => 'f',
  8579. prorettype => 'json', proargtypes => 'internal',
  8580. prosrc => 'json_object_agg_finalfn' },
  8581. { oid => '3197', descr => 'aggregate input into a json object',
  8582. proname => 'json_object_agg', prokind => 'a', proisstrict => 'f',
  8583. provolatile => 's', prorettype => 'json', proargtypes => 'any any',
  8584. prosrc => 'aggregate_dummy' },
  8585. { oid => '6280', descr => 'aggregate non-NULL input into a json object',
  8586. proname => 'json_object_agg_strict', prokind => 'a', proisstrict => 'f',
  8587. provolatile => 's', prorettype => 'json', proargtypes => 'any any',
  8588. prosrc => 'aggregate_dummy' },
  8589. { oid => '6281',
  8590. descr => 'aggregate input into a json object with unique keys',
  8591. proname => 'json_object_agg_unique', prokind => 'a', proisstrict => 'f',
  8592. provolatile => 's', prorettype => 'json', proargtypes => 'any any',
  8593. prosrc => 'aggregate_dummy' },
  8594. { oid => '6282',
  8595. descr => 'aggregate non-NULL input into a json object with unique keys',
  8596. proname => 'json_object_agg_unique_strict', prokind => 'a',
  8597. proisstrict => 'f', provolatile => 's', prorettype => 'json',
  8598. proargtypes => 'any any', prosrc => 'aggregate_dummy' },
  8599. { oid => '3198', descr => 'build a json array from any inputs',
  8600. proname => 'json_build_array', provariadic => 'any', proisstrict => 'f',
  8601. provolatile => 's', prorettype => 'json', proargtypes => 'any',
  8602. proallargtypes => '{any}', proargmodes => '{v}',
  8603. prosrc => 'json_build_array' },
  8604. { oid => '3199', descr => 'build an empty json array',
  8605. proname => 'json_build_array', proisstrict => 'f', provolatile => 's',
  8606. prorettype => 'json', proargtypes => '',
  8607. prosrc => 'json_build_array_noargs' },
  8608. { oid => '3200',
  8609. descr => 'build a json object from pairwise key/value inputs',
  8610. proname => 'json_build_object', provariadic => 'any', proisstrict => 'f',
  8611. provolatile => 's', prorettype => 'json', proargtypes => 'any',
  8612. proallargtypes => '{any}', proargmodes => '{v}',
  8613. prosrc => 'json_build_object' },
  8614. { oid => '3201', descr => 'build an empty json object',
  8615. proname => 'json_build_object', proisstrict => 'f', provolatile => 's',
  8616. prorettype => 'json', proargtypes => '',
  8617. prosrc => 'json_build_object_noargs' },
  8618. { oid => '3202', descr => 'map text array of key value pairs to json object',
  8619. proname => 'json_object', prorettype => 'json', proargtypes => '_text',
  8620. prosrc => 'json_object' },
  8621. { oid => '3203', descr => 'map text arrays of keys and values to json object',
  8622. proname => 'json_object', prorettype => 'json', proargtypes => '_text _text',
  8623. prosrc => 'json_object_two_arg' },
  8624. { oid => '3176', descr => 'map input to json',
  8625. proname => 'to_json', provolatile => 's', prorettype => 'json',
  8626. proargtypes => 'anyelement', prosrc => 'to_json' },
  8627. { oid => '3261', descr => 'remove object fields with null values from json',
  8628. proname => 'json_strip_nulls', prorettype => 'json', proargtypes => 'json',
  8629. prosrc => 'json_strip_nulls' },
  8630. { oid => '3947',
  8631. proname => 'json_object_field', prorettype => 'json',
  8632. proargtypes => 'json text', proargnames => '{from_json, field_name}',
  8633. prosrc => 'json_object_field' },
  8634. { oid => '3948',
  8635. proname => 'json_object_field_text', prorettype => 'text',
  8636. proargtypes => 'json text', proargnames => '{from_json, field_name}',
  8637. prosrc => 'json_object_field_text' },
  8638. { oid => '3949',
  8639. proname => 'json_array_element', prorettype => 'json',
  8640. proargtypes => 'json int4', proargnames => '{from_json, element_index}',
  8641. prosrc => 'json_array_element' },
  8642. { oid => '3950',
  8643. proname => 'json_array_element_text', prorettype => 'text',
  8644. proargtypes => 'json int4', proargnames => '{from_json, element_index}',
  8645. prosrc => 'json_array_element_text' },
  8646. { oid => '3951', descr => 'get value from json with path elements',
  8647. proname => 'json_extract_path', provariadic => 'text', prorettype => 'json',
  8648. proargtypes => 'json _text', proallargtypes => '{json,_text}',
  8649. proargmodes => '{i,v}', proargnames => '{from_json,path_elems}',
  8650. prosrc => 'json_extract_path' },
  8651. { oid => '3953', descr => 'get value from json as text with path elements',
  8652. proname => 'json_extract_path_text', provariadic => 'text',
  8653. prorettype => 'text', proargtypes => 'json _text',
  8654. proallargtypes => '{json,_text}', proargmodes => '{i,v}',
  8655. proargnames => '{from_json,path_elems}', prosrc => 'json_extract_path_text' },
  8656. { oid => '3955', descr => 'key value pairs of a json object',
  8657. proname => 'json_array_elements', prorows => '100', proretset => 't',
  8658. prorettype => 'json', proargtypes => 'json', proallargtypes => '{json,json}',
  8659. proargmodes => '{i,o}', proargnames => '{from_json,value}',
  8660. prosrc => 'json_array_elements' },
  8661. { oid => '3969', descr => 'elements of json array',
  8662. proname => 'json_array_elements_text', prorows => '100', proretset => 't',
  8663. prorettype => 'text', proargtypes => 'json', proallargtypes => '{json,text}',
  8664. proargmodes => '{i,o}', proargnames => '{from_json,value}',
  8665. prosrc => 'json_array_elements_text' },
  8666. { oid => '3956', descr => 'length of json array',
  8667. proname => 'json_array_length', prorettype => 'int4', proargtypes => 'json',
  8668. prosrc => 'json_array_length' },
  8669. { oid => '3957', descr => 'get json object keys',
  8670. proname => 'json_object_keys', prorows => '100', proretset => 't',
  8671. prorettype => 'text', proargtypes => 'json', prosrc => 'json_object_keys' },
  8672. { oid => '3958', descr => 'key value pairs of a json object',
  8673. proname => 'json_each', prorows => '100', proretset => 't',
  8674. prorettype => 'record', proargtypes => 'json',
  8675. proallargtypes => '{json,text,json}', proargmodes => '{i,o,o}',
  8676. proargnames => '{from_json,key,value}', prosrc => 'json_each' },
  8677. { oid => '3959', descr => 'key value pairs of a json object',
  8678. proname => 'json_each_text', prorows => '100', proretset => 't',
  8679. prorettype => 'record', proargtypes => 'json',
  8680. proallargtypes => '{json,text,text}', proargmodes => '{i,o,o}',
  8681. proargnames => '{from_json,key,value}', prosrc => 'json_each_text' },
  8682. { oid => '3960', descr => 'get record fields from a json object',
  8683. proname => 'json_populate_record', proisstrict => 'f', provolatile => 's',
  8684. prorettype => 'anyelement', proargtypes => 'anyelement json bool',
  8685. prosrc => 'json_populate_record' },
  8686. { oid => '3961',
  8687. descr => 'get set of records with fields from a json array of objects',
  8688. proname => 'json_populate_recordset', prorows => '100', proisstrict => 'f',
  8689. proretset => 't', provolatile => 's', prorettype => 'anyelement',
  8690. proargtypes => 'anyelement json bool', prosrc => 'json_populate_recordset' },
  8691. { oid => '3204', descr => 'get record fields from a json object',
  8692. proname => 'json_to_record', provolatile => 's', prorettype => 'record',
  8693. proargtypes => 'json', prosrc => 'json_to_record' },
  8694. { oid => '3205',
  8695. descr => 'get set of records with fields from a json array of objects',
  8696. proname => 'json_to_recordset', prorows => '100', proisstrict => 'f',
  8697. proretset => 't', provolatile => 's', prorettype => 'record',
  8698. proargtypes => 'json', prosrc => 'json_to_recordset' },
  8699. { oid => '3968', descr => 'get the type of a json value',
  8700. proname => 'json_typeof', prorettype => 'text', proargtypes => 'json',
  8701. prosrc => 'json_typeof' },
  8702. # uuid
  8703. { oid => '2952', descr => 'I/O',
  8704. proname => 'uuid_in', prorettype => 'uuid', proargtypes => 'cstring',
  8705. prosrc => 'uuid_in' },
  8706. { oid => '2953', descr => 'I/O',
  8707. proname => 'uuid_out', prorettype => 'cstring', proargtypes => 'uuid',
  8708. prosrc => 'uuid_out' },
  8709. { oid => '2954',
  8710. proname => 'uuid_lt', proleakproof => 't', prorettype => 'bool',
  8711. proargtypes => 'uuid uuid', prosrc => 'uuid_lt' },
  8712. { oid => '2955',
  8713. proname => 'uuid_le', proleakproof => 't', prorettype => 'bool',
  8714. proargtypes => 'uuid uuid', prosrc => 'uuid_le' },
  8715. { oid => '2956',
  8716. proname => 'uuid_eq', proleakproof => 't', prorettype => 'bool',
  8717. proargtypes => 'uuid uuid', prosrc => 'uuid_eq' },
  8718. { oid => '2957',
  8719. proname => 'uuid_ge', proleakproof => 't', prorettype => 'bool',
  8720. proargtypes => 'uuid uuid', prosrc => 'uuid_ge' },
  8721. { oid => '2958',
  8722. proname => 'uuid_gt', proleakproof => 't', prorettype => 'bool',
  8723. proargtypes => 'uuid uuid', prosrc => 'uuid_gt' },
  8724. { oid => '2959',
  8725. proname => 'uuid_ne', proleakproof => 't', prorettype => 'bool',
  8726. proargtypes => 'uuid uuid', prosrc => 'uuid_ne' },
  8727. { oid => '2960', descr => 'less-equal-greater',
  8728. proname => 'uuid_cmp', proleakproof => 't', prorettype => 'int4',
  8729. proargtypes => 'uuid uuid', prosrc => 'uuid_cmp' },
  8730. { oid => '3300', descr => 'sort support',
  8731. proname => 'uuid_sortsupport', prorettype => 'void',
  8732. proargtypes => 'internal', prosrc => 'uuid_sortsupport' },
  8733. { oid => '2961', descr => 'I/O',
  8734. proname => 'uuid_recv', prorettype => 'uuid', proargtypes => 'internal',
  8735. prosrc => 'uuid_recv' },
  8736. { oid => '2962', descr => 'I/O',
  8737. proname => 'uuid_send', prorettype => 'bytea', proargtypes => 'uuid',
  8738. prosrc => 'uuid_send' },
  8739. { oid => '2963', descr => 'hash',
  8740. proname => 'uuid_hash', prorettype => 'int4', proargtypes => 'uuid',
  8741. prosrc => 'uuid_hash' },
  8742. { oid => '3412', descr => 'hash',
  8743. proname => 'uuid_hash_extended', prorettype => 'int8',
  8744. proargtypes => 'uuid int8', prosrc => 'uuid_hash_extended' },
  8745. { oid => '3432', descr => 'generate random UUID',
  8746. proname => 'gen_random_uuid', proleakproof => 't', provolatile => 'v',
  8747. prorettype => 'uuid', proargtypes => '', prosrc => 'gen_random_uuid' },
  8748. # pg_lsn
  8749. { oid => '3229', descr => 'I/O',
  8750. proname => 'pg_lsn_in', prorettype => 'pg_lsn', proargtypes => 'cstring',
  8751. prosrc => 'pg_lsn_in' },
  8752. { oid => '3230', descr => 'I/O',
  8753. proname => 'pg_lsn_out', prorettype => 'cstring', proargtypes => 'pg_lsn',
  8754. prosrc => 'pg_lsn_out' },
  8755. { oid => '3231',
  8756. proname => 'pg_lsn_lt', proleakproof => 't', prorettype => 'bool',
  8757. proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_lt' },
  8758. { oid => '3232',
  8759. proname => 'pg_lsn_le', proleakproof => 't', prorettype => 'bool',
  8760. proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_le' },
  8761. { oid => '3233',
  8762. proname => 'pg_lsn_eq', proleakproof => 't', prorettype => 'bool',
  8763. proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_eq' },
  8764. { oid => '3234',
  8765. proname => 'pg_lsn_ge', proleakproof => 't', prorettype => 'bool',
  8766. proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_ge' },
  8767. { oid => '3235',
  8768. proname => 'pg_lsn_gt', proleakproof => 't', prorettype => 'bool',
  8769. proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_gt' },
  8770. { oid => '3236',
  8771. proname => 'pg_lsn_ne', proleakproof => 't', prorettype => 'bool',
  8772. proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_ne' },
  8773. { oid => '3237',
  8774. proname => 'pg_lsn_mi', prorettype => 'numeric',
  8775. proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_mi' },
  8776. { oid => '3238', descr => 'I/O',
  8777. proname => 'pg_lsn_recv', prorettype => 'pg_lsn', proargtypes => 'internal',
  8778. prosrc => 'pg_lsn_recv' },
  8779. { oid => '3239', descr => 'I/O',
  8780. proname => 'pg_lsn_send', prorettype => 'bytea', proargtypes => 'pg_lsn',
  8781. prosrc => 'pg_lsn_send' },
  8782. { oid => '3251', descr => 'less-equal-greater',
  8783. proname => 'pg_lsn_cmp', proleakproof => 't', prorettype => 'int4',
  8784. proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_cmp' },
  8785. { oid => '3252', descr => 'hash',
  8786. proname => 'pg_lsn_hash', prorettype => 'int4', proargtypes => 'pg_lsn',
  8787. prosrc => 'pg_lsn_hash' },
  8788. { oid => '3413', descr => 'hash',
  8789. proname => 'pg_lsn_hash_extended', prorettype => 'int8',
  8790. proargtypes => 'pg_lsn int8', prosrc => 'pg_lsn_hash_extended' },
  8791. { oid => '4187', descr => 'larger of two',
  8792. proname => 'pg_lsn_larger', prorettype => 'pg_lsn',
  8793. proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_larger' },
  8794. { oid => '4188', descr => 'smaller of two',
  8795. proname => 'pg_lsn_smaller', prorettype => 'pg_lsn',
  8796. proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_smaller' },
  8797. { oid => '5022',
  8798. proname => 'pg_lsn_pli', prorettype => 'pg_lsn',
  8799. proargtypes => 'pg_lsn numeric', prosrc => 'pg_lsn_pli' },
  8800. { oid => '5023',
  8801. proname => 'numeric_pl_pg_lsn', prolang => 'sql', prorettype => 'pg_lsn',
  8802. proargtypes => 'numeric pg_lsn', prosrc => 'see system_functions.sql' },
  8803. { oid => '5024',
  8804. proname => 'pg_lsn_mii', prorettype => 'pg_lsn',
  8805. proargtypes => 'pg_lsn numeric', prosrc => 'pg_lsn_mii' },
  8806. # enum related procs
  8807. { oid => '3504', descr => 'I/O',
  8808. proname => 'anyenum_in', prorettype => 'anyenum', proargtypes => 'cstring',
  8809. prosrc => 'anyenum_in' },
  8810. { oid => '3505', descr => 'I/O',
  8811. proname => 'anyenum_out', provolatile => 's', prorettype => 'cstring',
  8812. proargtypes => 'anyenum', prosrc => 'anyenum_out' },
  8813. { oid => '3506', descr => 'I/O',
  8814. proname => 'enum_in', provolatile => 's', prorettype => 'anyenum',
  8815. proargtypes => 'cstring oid', prosrc => 'enum_in' },
  8816. { oid => '3507', descr => 'I/O',
  8817. proname => 'enum_out', provolatile => 's', prorettype => 'cstring',
  8818. proargtypes => 'anyenum', prosrc => 'enum_out' },
  8819. { oid => '3508',
  8820. proname => 'enum_eq', prorettype => 'bool', proargtypes => 'anyenum anyenum',
  8821. prosrc => 'enum_eq' },
  8822. { oid => '3509',
  8823. proname => 'enum_ne', prorettype => 'bool', proargtypes => 'anyenum anyenum',
  8824. prosrc => 'enum_ne' },
  8825. { oid => '3510',
  8826. proname => 'enum_lt', prorettype => 'bool', proargtypes => 'anyenum anyenum',
  8827. prosrc => 'enum_lt' },
  8828. { oid => '3511',
  8829. proname => 'enum_gt', prorettype => 'bool', proargtypes => 'anyenum anyenum',
  8830. prosrc => 'enum_gt' },
  8831. { oid => '3512',
  8832. proname => 'enum_le', prorettype => 'bool', proargtypes => 'anyenum anyenum',
  8833. prosrc => 'enum_le' },
  8834. { oid => '3513',
  8835. proname => 'enum_ge', prorettype => 'bool', proargtypes => 'anyenum anyenum',
  8836. prosrc => 'enum_ge' },
  8837. { oid => '3514', descr => 'less-equal-greater',
  8838. proname => 'enum_cmp', prorettype => 'int4', proargtypes => 'anyenum anyenum',
  8839. prosrc => 'enum_cmp' },
  8840. { oid => '3515', descr => 'hash',
  8841. proname => 'hashenum', prorettype => 'int4', proargtypes => 'anyenum',
  8842. prosrc => 'hashenum' },
  8843. { oid => '3414', descr => 'hash',
  8844. proname => 'hashenumextended', prorettype => 'int8',
  8845. proargtypes => 'anyenum int8', prosrc => 'hashenumextended' },
  8846. { oid => '3524', descr => 'smaller of two',
  8847. proname => 'enum_smaller', prorettype => 'anyenum',
  8848. proargtypes => 'anyenum anyenum', prosrc => 'enum_smaller' },
  8849. { oid => '3525', descr => 'larger of two',
  8850. proname => 'enum_larger', prorettype => 'anyenum',
  8851. proargtypes => 'anyenum anyenum', prosrc => 'enum_larger' },
  8852. { oid => '3526', descr => 'maximum value of all enum input values',
  8853. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'anyenum',
  8854. proargtypes => 'anyenum', prosrc => 'aggregate_dummy' },
  8855. { oid => '3527', descr => 'minimum value of all enum input values',
  8856. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'anyenum',
  8857. proargtypes => 'anyenum', prosrc => 'aggregate_dummy' },
  8858. { oid => '3528', descr => 'first value of the input enum type',
  8859. proname => 'enum_first', proisstrict => 'f', provolatile => 's',
  8860. prorettype => 'anyenum', proargtypes => 'anyenum', prosrc => 'enum_first' },
  8861. { oid => '3529', descr => 'last value of the input enum type',
  8862. proname => 'enum_last', proisstrict => 'f', provolatile => 's',
  8863. prorettype => 'anyenum', proargtypes => 'anyenum', prosrc => 'enum_last' },
  8864. { oid => '3530',
  8865. descr => 'range between the two given enum values, as an ordered array',
  8866. proname => 'enum_range', proisstrict => 'f', provolatile => 's',
  8867. prorettype => 'anyarray', proargtypes => 'anyenum anyenum',
  8868. prosrc => 'enum_range_bounds' },
  8869. { oid => '3531', descr => 'range of the given enum type, as an ordered array',
  8870. proname => 'enum_range', proisstrict => 'f', provolatile => 's',
  8871. prorettype => 'anyarray', proargtypes => 'anyenum',
  8872. prosrc => 'enum_range_all' },
  8873. { oid => '3532', descr => 'I/O',
  8874. proname => 'enum_recv', provolatile => 's', prorettype => 'anyenum',
  8875. proargtypes => 'internal oid', prosrc => 'enum_recv' },
  8876. { oid => '3533', descr => 'I/O',
  8877. proname => 'enum_send', provolatile => 's', prorettype => 'bytea',
  8878. proargtypes => 'anyenum', prosrc => 'enum_send' },
  8879. # text search stuff
  8880. { oid => '3610', descr => 'I/O',
  8881. proname => 'tsvectorin', prorettype => 'tsvector', proargtypes => 'cstring',
  8882. prosrc => 'tsvectorin' },
  8883. { oid => '3639', descr => 'I/O',
  8884. proname => 'tsvectorrecv', prorettype => 'tsvector',
  8885. proargtypes => 'internal', prosrc => 'tsvectorrecv' },
  8886. { oid => '3611', descr => 'I/O',
  8887. proname => 'tsvectorout', prorettype => 'cstring', proargtypes => 'tsvector',
  8888. prosrc => 'tsvectorout' },
  8889. { oid => '3638', descr => 'I/O',
  8890. proname => 'tsvectorsend', prorettype => 'bytea', proargtypes => 'tsvector',
  8891. prosrc => 'tsvectorsend' },
  8892. { oid => '3612', descr => 'I/O',
  8893. proname => 'tsqueryin', prorettype => 'tsquery', proargtypes => 'cstring',
  8894. prosrc => 'tsqueryin' },
  8895. { oid => '3641', descr => 'I/O',
  8896. proname => 'tsqueryrecv', prorettype => 'tsquery', proargtypes => 'internal',
  8897. prosrc => 'tsqueryrecv' },
  8898. { oid => '3613', descr => 'I/O',
  8899. proname => 'tsqueryout', prorettype => 'cstring', proargtypes => 'tsquery',
  8900. prosrc => 'tsqueryout' },
  8901. { oid => '3640', descr => 'I/O',
  8902. proname => 'tsquerysend', prorettype => 'bytea', proargtypes => 'tsquery',
  8903. prosrc => 'tsquerysend' },
  8904. { oid => '3646', descr => 'I/O',
  8905. proname => 'gtsvectorin', prorettype => 'gtsvector', proargtypes => 'cstring',
  8906. prosrc => 'gtsvectorin' },
  8907. { oid => '3647', descr => 'I/O',
  8908. proname => 'gtsvectorout', prorettype => 'cstring',
  8909. proargtypes => 'gtsvector', prosrc => 'gtsvectorout' },
  8910. { oid => '3616',
  8911. proname => 'tsvector_lt', prorettype => 'bool',
  8912. proargtypes => 'tsvector tsvector', prosrc => 'tsvector_lt' },
  8913. { oid => '3617',
  8914. proname => 'tsvector_le', prorettype => 'bool',
  8915. proargtypes => 'tsvector tsvector', prosrc => 'tsvector_le' },
  8916. { oid => '3618',
  8917. proname => 'tsvector_eq', prorettype => 'bool',
  8918. proargtypes => 'tsvector tsvector', prosrc => 'tsvector_eq' },
  8919. { oid => '3619',
  8920. proname => 'tsvector_ne', prorettype => 'bool',
  8921. proargtypes => 'tsvector tsvector', prosrc => 'tsvector_ne' },
  8922. { oid => '3620',
  8923. proname => 'tsvector_ge', prorettype => 'bool',
  8924. proargtypes => 'tsvector tsvector', prosrc => 'tsvector_ge' },
  8925. { oid => '3621',
  8926. proname => 'tsvector_gt', prorettype => 'bool',
  8927. proargtypes => 'tsvector tsvector', prosrc => 'tsvector_gt' },
  8928. { oid => '3622', descr => 'less-equal-greater',
  8929. proname => 'tsvector_cmp', prorettype => 'int4',
  8930. proargtypes => 'tsvector tsvector', prosrc => 'tsvector_cmp' },
  8931. { oid => '3711', descr => 'number of lexemes',
  8932. proname => 'length', prorettype => 'int4', proargtypes => 'tsvector',
  8933. prosrc => 'tsvector_length' },
  8934. { oid => '3623', descr => 'strip position information',
  8935. proname => 'strip', prorettype => 'tsvector', proargtypes => 'tsvector',
  8936. prosrc => 'tsvector_strip' },
  8937. { oid => '3624', descr => 'set given weight for whole tsvector',
  8938. proname => 'setweight', prorettype => 'tsvector',
  8939. proargtypes => 'tsvector char', prosrc => 'tsvector_setweight' },
  8940. { oid => '3320', descr => 'set given weight for given lexemes',
  8941. proname => 'setweight', prorettype => 'tsvector',
  8942. proargtypes => 'tsvector char _text',
  8943. prosrc => 'tsvector_setweight_by_filter' },
  8944. { oid => '3625',
  8945. proname => 'tsvector_concat', prorettype => 'tsvector',
  8946. proargtypes => 'tsvector tsvector', prosrc => 'tsvector_concat' },
  8947. { oid => '3321', descr => 'delete lexeme',
  8948. proname => 'ts_delete', prorettype => 'tsvector',
  8949. proargtypes => 'tsvector text', prosrc => 'tsvector_delete_str' },
  8950. { oid => '3323', descr => 'delete given lexemes',
  8951. proname => 'ts_delete', prorettype => 'tsvector',
  8952. proargtypes => 'tsvector _text', prosrc => 'tsvector_delete_arr' },
  8953. { oid => '3322', descr => 'expand tsvector to set of rows',
  8954. proname => 'unnest', prorows => '10', proretset => 't',
  8955. prorettype => 'record', proargtypes => 'tsvector',
  8956. proallargtypes => '{tsvector,text,_int2,_text}', proargmodes => '{i,o,o,o}',
  8957. proargnames => '{tsvector,lexeme,positions,weights}',
  8958. prosrc => 'tsvector_unnest' },
  8959. { oid => '3326', descr => 'convert tsvector to array of lexemes',
  8960. proname => 'tsvector_to_array', prorettype => '_text',
  8961. proargtypes => 'tsvector', prosrc => 'tsvector_to_array' },
  8962. { oid => '3327', descr => 'build tsvector from array of lexemes',
  8963. proname => 'array_to_tsvector', prorettype => 'tsvector',
  8964. proargtypes => '_text', prosrc => 'array_to_tsvector' },
  8965. { oid => '3319',
  8966. descr => 'delete lexemes that do not have one of the given weights',
  8967. proname => 'ts_filter', prorettype => 'tsvector',
  8968. proargtypes => 'tsvector _char', prosrc => 'tsvector_filter' },
  8969. { oid => '3634',
  8970. proname => 'ts_match_vq', prorettype => 'bool',
  8971. proargtypes => 'tsvector tsquery', prosrc => 'ts_match_vq' },
  8972. { oid => '3635',
  8973. proname => 'ts_match_qv', prorettype => 'bool',
  8974. proargtypes => 'tsquery tsvector', prosrc => 'ts_match_qv' },
  8975. { oid => '3760',
  8976. proname => 'ts_match_tt', procost => '100', provolatile => 's',
  8977. prorettype => 'bool', proargtypes => 'text text', prosrc => 'ts_match_tt' },
  8978. { oid => '3761',
  8979. proname => 'ts_match_tq', procost => '100', provolatile => 's',
  8980. prorettype => 'bool', proargtypes => 'text tsquery',
  8981. prosrc => 'ts_match_tq' },
  8982. { oid => '3648', descr => 'GiST tsvector support',
  8983. proname => 'gtsvector_compress', prorettype => 'internal',
  8984. proargtypes => 'internal', prosrc => 'gtsvector_compress' },
  8985. { oid => '3649', descr => 'GiST tsvector support',
  8986. proname => 'gtsvector_decompress', prorettype => 'internal',
  8987. proargtypes => 'internal', prosrc => 'gtsvector_decompress' },
  8988. { oid => '3650', descr => 'GiST tsvector support',
  8989. proname => 'gtsvector_picksplit', prorettype => 'internal',
  8990. proargtypes => 'internal internal', prosrc => 'gtsvector_picksplit' },
  8991. { oid => '3651', descr => 'GiST tsvector support',
  8992. proname => 'gtsvector_union', prorettype => 'gtsvector',
  8993. proargtypes => 'internal internal', prosrc => 'gtsvector_union' },
  8994. { oid => '3652', descr => 'GiST tsvector support',
  8995. proname => 'gtsvector_same', prorettype => 'internal',
  8996. proargtypes => 'gtsvector gtsvector internal', prosrc => 'gtsvector_same' },
  8997. { oid => '3653', descr => 'GiST tsvector support',
  8998. proname => 'gtsvector_penalty', prorettype => 'internal',
  8999. proargtypes => 'internal internal internal', prosrc => 'gtsvector_penalty' },
  9000. { oid => '3654', descr => 'GiST tsvector support',
  9001. proname => 'gtsvector_consistent', prorettype => 'bool',
  9002. proargtypes => 'internal tsvector int2 oid internal',
  9003. prosrc => 'gtsvector_consistent' },
  9004. { oid => '3790', descr => 'GiST tsvector support (obsolete)',
  9005. proname => 'gtsvector_consistent', prorettype => 'bool',
  9006. proargtypes => 'internal gtsvector int4 oid internal',
  9007. prosrc => 'gtsvector_consistent_oldsig' },
  9008. { oid => '3434', descr => 'GiST tsvector support',
  9009. proname => 'gtsvector_options', proisstrict => 'f', prorettype => 'void',
  9010. proargtypes => 'internal', prosrc => 'gtsvector_options' },
  9011. { oid => '3656', descr => 'GIN tsvector support',
  9012. proname => 'gin_extract_tsvector', prorettype => 'internal',
  9013. proargtypes => 'tsvector internal internal',
  9014. prosrc => 'gin_extract_tsvector' },
  9015. { oid => '3657', descr => 'GIN tsvector support',
  9016. proname => 'gin_extract_tsquery', prorettype => 'internal',
  9017. proargtypes => 'tsvector internal int2 internal internal internal internal',
  9018. prosrc => 'gin_extract_tsquery' },
  9019. { oid => '3658', descr => 'GIN tsvector support',
  9020. proname => 'gin_tsquery_consistent', prorettype => 'bool',
  9021. proargtypes => 'internal int2 tsvector int4 internal internal internal internal',
  9022. prosrc => 'gin_tsquery_consistent' },
  9023. { oid => '3921', descr => 'GIN tsvector support',
  9024. proname => 'gin_tsquery_triconsistent', prorettype => 'char',
  9025. proargtypes => 'internal int2 tsvector int4 internal internal internal',
  9026. prosrc => 'gin_tsquery_triconsistent' },
  9027. { oid => '3724', descr => 'GIN tsvector support',
  9028. proname => 'gin_cmp_tslexeme', prorettype => 'int4',
  9029. proargtypes => 'text text', prosrc => 'gin_cmp_tslexeme' },
  9030. { oid => '2700', descr => 'GIN tsvector support',
  9031. proname => 'gin_cmp_prefix', prorettype => 'int4',
  9032. proargtypes => 'text text int2 internal', prosrc => 'gin_cmp_prefix' },
  9033. { oid => '3077', descr => 'GIN tsvector support (obsolete)',
  9034. proname => 'gin_extract_tsvector', prorettype => 'internal',
  9035. proargtypes => 'tsvector internal', prosrc => 'gin_extract_tsvector_2args' },
  9036. { oid => '3087', descr => 'GIN tsvector support (obsolete)',
  9037. proname => 'gin_extract_tsquery', prorettype => 'internal',
  9038. proargtypes => 'tsquery internal int2 internal internal',
  9039. prosrc => 'gin_extract_tsquery_5args' },
  9040. { oid => '3088', descr => 'GIN tsvector support (obsolete)',
  9041. proname => 'gin_tsquery_consistent', prorettype => 'bool',
  9042. proargtypes => 'internal int2 tsquery int4 internal internal',
  9043. prosrc => 'gin_tsquery_consistent_6args' },
  9044. { oid => '3791', descr => 'GIN tsvector support (obsolete)',
  9045. proname => 'gin_extract_tsquery', prorettype => 'internal',
  9046. proargtypes => 'tsquery internal int2 internal internal internal internal',
  9047. prosrc => 'gin_extract_tsquery_oldsig' },
  9048. { oid => '3792', descr => 'GIN tsvector support (obsolete)',
  9049. proname => 'gin_tsquery_consistent', prorettype => 'bool',
  9050. proargtypes => 'internal int2 tsquery int4 internal internal internal internal',
  9051. prosrc => 'gin_tsquery_consistent_oldsig' },
  9052. { oid => '3789', descr => 'clean up GIN pending list',
  9053. proname => 'gin_clean_pending_list', provolatile => 'v', proparallel => 'u',
  9054. prorettype => 'int8', proargtypes => 'regclass',
  9055. prosrc => 'gin_clean_pending_list' },
  9056. { oid => '3662',
  9057. proname => 'tsquery_lt', prorettype => 'bool',
  9058. proargtypes => 'tsquery tsquery', prosrc => 'tsquery_lt' },
  9059. { oid => '3663',
  9060. proname => 'tsquery_le', prorettype => 'bool',
  9061. proargtypes => 'tsquery tsquery', prosrc => 'tsquery_le' },
  9062. { oid => '3664',
  9063. proname => 'tsquery_eq', prorettype => 'bool',
  9064. proargtypes => 'tsquery tsquery', prosrc => 'tsquery_eq' },
  9065. { oid => '3665',
  9066. proname => 'tsquery_ne', prorettype => 'bool',
  9067. proargtypes => 'tsquery tsquery', prosrc => 'tsquery_ne' },
  9068. { oid => '3666',
  9069. proname => 'tsquery_ge', prorettype => 'bool',
  9070. proargtypes => 'tsquery tsquery', prosrc => 'tsquery_ge' },
  9071. { oid => '3667',
  9072. proname => 'tsquery_gt', prorettype => 'bool',
  9073. proargtypes => 'tsquery tsquery', prosrc => 'tsquery_gt' },
  9074. { oid => '3668', descr => 'less-equal-greater',
  9075. proname => 'tsquery_cmp', prorettype => 'int4',
  9076. proargtypes => 'tsquery tsquery', prosrc => 'tsquery_cmp' },
  9077. { oid => '3669',
  9078. proname => 'tsquery_and', prorettype => 'tsquery',
  9079. proargtypes => 'tsquery tsquery', prosrc => 'tsquery_and' },
  9080. { oid => '3670',
  9081. proname => 'tsquery_or', prorettype => 'tsquery',
  9082. proargtypes => 'tsquery tsquery', prosrc => 'tsquery_or' },
  9083. { oid => '5003',
  9084. proname => 'tsquery_phrase', prorettype => 'tsquery',
  9085. proargtypes => 'tsquery tsquery', prosrc => 'tsquery_phrase' },
  9086. { oid => '5004', descr => 'phrase-concatenate with distance',
  9087. proname => 'tsquery_phrase', prorettype => 'tsquery',
  9088. proargtypes => 'tsquery tsquery int4', prosrc => 'tsquery_phrase_distance' },
  9089. { oid => '3671',
  9090. proname => 'tsquery_not', prorettype => 'tsquery', proargtypes => 'tsquery',
  9091. prosrc => 'tsquery_not' },
  9092. { oid => '3691',
  9093. proname => 'tsq_mcontains', prorettype => 'bool',
  9094. proargtypes => 'tsquery tsquery', prosrc => 'tsq_mcontains' },
  9095. { oid => '3692',
  9096. proname => 'tsq_mcontained', prorettype => 'bool',
  9097. proargtypes => 'tsquery tsquery', prosrc => 'tsq_mcontained' },
  9098. { oid => '3672', descr => 'number of nodes',
  9099. proname => 'numnode', prorettype => 'int4', proargtypes => 'tsquery',
  9100. prosrc => 'tsquery_numnode' },
  9101. { oid => '3673', descr => 'show real useful query for GiST index',
  9102. proname => 'querytree', prorettype => 'text', proargtypes => 'tsquery',
  9103. prosrc => 'tsquerytree' },
  9104. { oid => '3684', descr => 'rewrite tsquery',
  9105. proname => 'ts_rewrite', prorettype => 'tsquery',
  9106. proargtypes => 'tsquery tsquery tsquery', prosrc => 'tsquery_rewrite' },
  9107. { oid => '3685', descr => 'rewrite tsquery',
  9108. proname => 'ts_rewrite', procost => '100', provolatile => 'v',
  9109. proparallel => 'u', prorettype => 'tsquery', proargtypes => 'tsquery text',
  9110. prosrc => 'tsquery_rewrite_query' },
  9111. { oid => '3695', descr => 'GiST tsquery support',
  9112. proname => 'gtsquery_compress', prorettype => 'internal',
  9113. proargtypes => 'internal', prosrc => 'gtsquery_compress' },
  9114. { oid => '3697', descr => 'GiST tsquery support',
  9115. proname => 'gtsquery_picksplit', prorettype => 'internal',
  9116. proargtypes => 'internal internal', prosrc => 'gtsquery_picksplit' },
  9117. { oid => '3698', descr => 'GiST tsquery support',
  9118. proname => 'gtsquery_union', prorettype => 'int8',
  9119. proargtypes => 'internal internal', prosrc => 'gtsquery_union' },
  9120. { oid => '3699', descr => 'GiST tsquery support',
  9121. proname => 'gtsquery_same', prorettype => 'internal',
  9122. proargtypes => 'int8 int8 internal', prosrc => 'gtsquery_same' },
  9123. { oid => '3700', descr => 'GiST tsquery support',
  9124. proname => 'gtsquery_penalty', prorettype => 'internal',
  9125. proargtypes => 'internal internal internal', prosrc => 'gtsquery_penalty' },
  9126. { oid => '3701', descr => 'GiST tsquery support',
  9127. proname => 'gtsquery_consistent', prorettype => 'bool',
  9128. proargtypes => 'internal tsquery int2 oid internal',
  9129. prosrc => 'gtsquery_consistent' },
  9130. { oid => '3793', descr => 'GiST tsquery support (obsolete)',
  9131. proname => 'gtsquery_consistent', prorettype => 'bool',
  9132. proargtypes => 'internal internal int4 oid internal',
  9133. prosrc => 'gtsquery_consistent_oldsig' },
  9134. { oid => '3686', descr => 'restriction selectivity of tsvector @@ tsquery',
  9135. proname => 'tsmatchsel', provolatile => 's', prorettype => 'float8',
  9136. proargtypes => 'internal oid internal int4', prosrc => 'tsmatchsel' },
  9137. { oid => '3687', descr => 'join selectivity of tsvector @@ tsquery',
  9138. proname => 'tsmatchjoinsel', provolatile => 's', prorettype => 'float8',
  9139. proargtypes => 'internal oid internal int2 internal',
  9140. prosrc => 'tsmatchjoinsel' },
  9141. { oid => '3688', descr => 'tsvector typanalyze',
  9142. proname => 'ts_typanalyze', provolatile => 's', prorettype => 'bool',
  9143. proargtypes => 'internal', prosrc => 'ts_typanalyze' },
  9144. { oid => '3689', descr => 'statistics of tsvector column',
  9145. proname => 'ts_stat', procost => '10', prorows => '10000', proretset => 't',
  9146. provolatile => 'v', proparallel => 'u', prorettype => 'record',
  9147. proargtypes => 'text', proallargtypes => '{text,text,int4,int4}',
  9148. proargmodes => '{i,o,o,o}', proargnames => '{query,word,ndoc,nentry}',
  9149. prosrc => 'ts_stat1' },
  9150. { oid => '3690', descr => 'statistics of tsvector column',
  9151. proname => 'ts_stat', procost => '10', prorows => '10000', proretset => 't',
  9152. provolatile => 'v', proparallel => 'u', prorettype => 'record',
  9153. proargtypes => 'text text', proallargtypes => '{text,text,text,int4,int4}',
  9154. proargmodes => '{i,i,o,o,o}',
  9155. proargnames => '{query,weights,word,ndoc,nentry}', prosrc => 'ts_stat2' },
  9156. { oid => '3703', descr => 'relevance',
  9157. proname => 'ts_rank', prorettype => 'float4',
  9158. proargtypes => '_float4 tsvector tsquery int4', prosrc => 'ts_rank_wttf' },
  9159. { oid => '3704', descr => 'relevance',
  9160. proname => 'ts_rank', prorettype => 'float4',
  9161. proargtypes => '_float4 tsvector tsquery', prosrc => 'ts_rank_wtt' },
  9162. { oid => '3705', descr => 'relevance',
  9163. proname => 'ts_rank', prorettype => 'float4',
  9164. proargtypes => 'tsvector tsquery int4', prosrc => 'ts_rank_ttf' },
  9165. { oid => '3706', descr => 'relevance',
  9166. proname => 'ts_rank', prorettype => 'float4',
  9167. proargtypes => 'tsvector tsquery', prosrc => 'ts_rank_tt' },
  9168. { oid => '3707', descr => 'relevance',
  9169. proname => 'ts_rank_cd', prorettype => 'float4',
  9170. proargtypes => '_float4 tsvector tsquery int4', prosrc => 'ts_rankcd_wttf' },
  9171. { oid => '3708', descr => 'relevance',
  9172. proname => 'ts_rank_cd', prorettype => 'float4',
  9173. proargtypes => '_float4 tsvector tsquery', prosrc => 'ts_rankcd_wtt' },
  9174. { oid => '3709', descr => 'relevance',
  9175. proname => 'ts_rank_cd', prorettype => 'float4',
  9176. proargtypes => 'tsvector tsquery int4', prosrc => 'ts_rankcd_ttf' },
  9177. { oid => '3710', descr => 'relevance',
  9178. proname => 'ts_rank_cd', prorettype => 'float4',
  9179. proargtypes => 'tsvector tsquery', prosrc => 'ts_rankcd_tt' },
  9180. { oid => '3713', descr => 'get parser\'s token types',
  9181. proname => 'ts_token_type', prorows => '16', proretset => 't',
  9182. prorettype => 'record', proargtypes => 'oid',
  9183. proallargtypes => '{oid,int4,text,text}', proargmodes => '{i,o,o,o}',
  9184. proargnames => '{parser_oid,tokid,alias,description}',
  9185. prosrc => 'ts_token_type_byid' },
  9186. { oid => '3714', descr => 'get parser\'s token types',
  9187. proname => 'ts_token_type', prorows => '16', proretset => 't',
  9188. provolatile => 's', prorettype => 'record', proargtypes => 'text',
  9189. proallargtypes => '{text,int4,text,text}', proargmodes => '{i,o,o,o}',
  9190. proargnames => '{parser_name,tokid,alias,description}',
  9191. prosrc => 'ts_token_type_byname' },
  9192. { oid => '3715', descr => 'parse text to tokens',
  9193. proname => 'ts_parse', prorows => '1000', proretset => 't',
  9194. prorettype => 'record', proargtypes => 'oid text',
  9195. proallargtypes => '{oid,text,int4,text}', proargmodes => '{i,i,o,o}',
  9196. proargnames => '{parser_oid,txt,tokid,token}', prosrc => 'ts_parse_byid' },
  9197. { oid => '3716', descr => 'parse text to tokens',
  9198. proname => 'ts_parse', prorows => '1000', proretset => 't',
  9199. provolatile => 's', prorettype => 'record', proargtypes => 'text text',
  9200. proallargtypes => '{text,text,int4,text}', proargmodes => '{i,i,o,o}',
  9201. proargnames => '{parser_name,txt,tokid,token}', prosrc => 'ts_parse_byname' },
  9202. { oid => '3717', descr => '(internal)',
  9203. proname => 'prsd_start', prorettype => 'internal',
  9204. proargtypes => 'internal int4', prosrc => 'prsd_start' },
  9205. { oid => '3718', descr => '(internal)',
  9206. proname => 'prsd_nexttoken', prorettype => 'internal',
  9207. proargtypes => 'internal internal internal', prosrc => 'prsd_nexttoken' },
  9208. { oid => '3719', descr => '(internal)',
  9209. proname => 'prsd_end', prorettype => 'void', proargtypes => 'internal',
  9210. prosrc => 'prsd_end' },
  9211. { oid => '3720', descr => '(internal)',
  9212. proname => 'prsd_headline', prorettype => 'internal',
  9213. proargtypes => 'internal internal tsquery', prosrc => 'prsd_headline' },
  9214. { oid => '3721', descr => '(internal)',
  9215. proname => 'prsd_lextype', prorettype => 'internal',
  9216. proargtypes => 'internal', prosrc => 'prsd_lextype' },
  9217. { oid => '3723', descr => 'normalize one word by dictionary',
  9218. proname => 'ts_lexize', prorettype => '_text',
  9219. proargtypes => 'regdictionary text', prosrc => 'ts_lexize' },
  9220. { oid => '6183', descr => 'debug function for text search configuration',
  9221. proname => 'ts_debug', prolang => 'sql', prorows => '1000', proretset => 't',
  9222. provolatile => 's', prorettype => 'record', proargtypes => 'regconfig text',
  9223. proallargtypes => '{regconfig,text,text,text,text,_regdictionary,regdictionary,_text}',
  9224. proargmodes => '{i,i,o,o,o,o,o,o}',
  9225. proargnames => '{config,document,alias,description,token,dictionaries,dictionary,lexemes}',
  9226. prosrc => 'see system_functions.sql' },
  9227. { oid => '6184',
  9228. descr => 'debug function for current text search configuration',
  9229. proname => 'ts_debug', prolang => 'sql', prorows => '1000', proretset => 't',
  9230. provolatile => 's', prorettype => 'record', proargtypes => 'text',
  9231. proallargtypes => '{text,text,text,text,_regdictionary,regdictionary,_text}',
  9232. proargmodes => '{i,o,o,o,o,o,o}',
  9233. proargnames => '{document,alias,description,token,dictionaries,dictionary,lexemes}',
  9234. prosrc => 'see system_functions.sql' },
  9235. { oid => '3725', descr => '(internal)',
  9236. proname => 'dsimple_init', prorettype => 'internal',
  9237. proargtypes => 'internal', prosrc => 'dsimple_init' },
  9238. { oid => '3726', descr => '(internal)',
  9239. proname => 'dsimple_lexize', prorettype => 'internal',
  9240. proargtypes => 'internal internal internal internal',
  9241. prosrc => 'dsimple_lexize' },
  9242. { oid => '3728', descr => '(internal)',
  9243. proname => 'dsynonym_init', prorettype => 'internal',
  9244. proargtypes => 'internal', prosrc => 'dsynonym_init' },
  9245. { oid => '3729', descr => '(internal)',
  9246. proname => 'dsynonym_lexize', prorettype => 'internal',
  9247. proargtypes => 'internal internal internal internal',
  9248. prosrc => 'dsynonym_lexize' },
  9249. { oid => '3731', descr => '(internal)',
  9250. proname => 'dispell_init', prorettype => 'internal',
  9251. proargtypes => 'internal', prosrc => 'dispell_init' },
  9252. { oid => '3732', descr => '(internal)',
  9253. proname => 'dispell_lexize', prorettype => 'internal',
  9254. proargtypes => 'internal internal internal internal',
  9255. prosrc => 'dispell_lexize' },
  9256. { oid => '3740', descr => '(internal)',
  9257. proname => 'thesaurus_init', prorettype => 'internal',
  9258. proargtypes => 'internal', prosrc => 'thesaurus_init' },
  9259. { oid => '3741', descr => '(internal)',
  9260. proname => 'thesaurus_lexize', prorettype => 'internal',
  9261. proargtypes => 'internal internal internal internal',
  9262. prosrc => 'thesaurus_lexize' },
  9263. { oid => '3743', descr => 'generate headline',
  9264. proname => 'ts_headline', procost => '100', prorettype => 'text',
  9265. proargtypes => 'regconfig text tsquery text',
  9266. prosrc => 'ts_headline_byid_opt' },
  9267. { oid => '3744', descr => 'generate headline',
  9268. proname => 'ts_headline', procost => '100', prorettype => 'text',
  9269. proargtypes => 'regconfig text tsquery', prosrc => 'ts_headline_byid' },
  9270. { oid => '3754', descr => 'generate headline',
  9271. proname => 'ts_headline', procost => '100', provolatile => 's',
  9272. prorettype => 'text', proargtypes => 'text tsquery text',
  9273. prosrc => 'ts_headline_opt' },
  9274. { oid => '3755', descr => 'generate headline',
  9275. proname => 'ts_headline', procost => '100', provolatile => 's',
  9276. prorettype => 'text', proargtypes => 'text tsquery',
  9277. prosrc => 'ts_headline' },
  9278. { oid => '4201', descr => 'generate headline from jsonb',
  9279. proname => 'ts_headline', procost => '100', prorettype => 'jsonb',
  9280. proargtypes => 'regconfig jsonb tsquery text',
  9281. prosrc => 'ts_headline_jsonb_byid_opt' },
  9282. { oid => '4202', descr => 'generate headline from jsonb',
  9283. proname => 'ts_headline', procost => '100', prorettype => 'jsonb',
  9284. proargtypes => 'regconfig jsonb tsquery',
  9285. prosrc => 'ts_headline_jsonb_byid' },
  9286. { oid => '4203', descr => 'generate headline from jsonb',
  9287. proname => 'ts_headline', procost => '100', provolatile => 's',
  9288. prorettype => 'jsonb', proargtypes => 'jsonb tsquery text',
  9289. prosrc => 'ts_headline_jsonb_opt' },
  9290. { oid => '4204', descr => 'generate headline from jsonb',
  9291. proname => 'ts_headline', procost => '100', provolatile => 's',
  9292. prorettype => 'jsonb', proargtypes => 'jsonb tsquery',
  9293. prosrc => 'ts_headline_jsonb' },
  9294. { oid => '4205', descr => 'generate headline from json',
  9295. proname => 'ts_headline', procost => '100', prorettype => 'json',
  9296. proargtypes => 'regconfig json tsquery text',
  9297. prosrc => 'ts_headline_json_byid_opt' },
  9298. { oid => '4206', descr => 'generate headline from json',
  9299. proname => 'ts_headline', procost => '100', prorettype => 'json',
  9300. proargtypes => 'regconfig json tsquery', prosrc => 'ts_headline_json_byid' },
  9301. { oid => '4207', descr => 'generate headline from json',
  9302. proname => 'ts_headline', procost => '100', provolatile => 's',
  9303. prorettype => 'json', proargtypes => 'json tsquery text',
  9304. prosrc => 'ts_headline_json_opt' },
  9305. { oid => '4208', descr => 'generate headline from json',
  9306. proname => 'ts_headline', procost => '100', provolatile => 's',
  9307. prorettype => 'json', proargtypes => 'json tsquery',
  9308. prosrc => 'ts_headline_json' },
  9309. { oid => '3745', descr => 'transform to tsvector',
  9310. proname => 'to_tsvector', procost => '100', prorettype => 'tsvector',
  9311. proargtypes => 'regconfig text', prosrc => 'to_tsvector_byid' },
  9312. { oid => '3746', descr => 'make tsquery',
  9313. proname => 'to_tsquery', procost => '100', prorettype => 'tsquery',
  9314. proargtypes => 'regconfig text', prosrc => 'to_tsquery_byid' },
  9315. { oid => '3747', descr => 'transform to tsquery',
  9316. proname => 'plainto_tsquery', procost => '100', prorettype => 'tsquery',
  9317. proargtypes => 'regconfig text', prosrc => 'plainto_tsquery_byid' },
  9318. { oid => '5006', descr => 'transform to tsquery',
  9319. proname => 'phraseto_tsquery', procost => '100', prorettype => 'tsquery',
  9320. proargtypes => 'regconfig text', prosrc => 'phraseto_tsquery_byid' },
  9321. { oid => '5007', descr => 'transform to tsquery',
  9322. proname => 'websearch_to_tsquery', procost => '100', prorettype => 'tsquery',
  9323. proargtypes => 'regconfig text', prosrc => 'websearch_to_tsquery_byid' },
  9324. { oid => '3749', descr => 'transform to tsvector',
  9325. proname => 'to_tsvector', procost => '100', provolatile => 's',
  9326. prorettype => 'tsvector', proargtypes => 'text', prosrc => 'to_tsvector' },
  9327. { oid => '3750', descr => 'make tsquery',
  9328. proname => 'to_tsquery', procost => '100', provolatile => 's',
  9329. prorettype => 'tsquery', proargtypes => 'text', prosrc => 'to_tsquery' },
  9330. { oid => '3751', descr => 'transform to tsquery',
  9331. proname => 'plainto_tsquery', procost => '100', provolatile => 's',
  9332. prorettype => 'tsquery', proargtypes => 'text', prosrc => 'plainto_tsquery' },
  9333. { oid => '5001', descr => 'transform to tsquery',
  9334. proname => 'phraseto_tsquery', procost => '100', provolatile => 's',
  9335. prorettype => 'tsquery', proargtypes => 'text',
  9336. prosrc => 'phraseto_tsquery' },
  9337. { oid => '5009', descr => 'transform to tsquery',
  9338. proname => 'websearch_to_tsquery', procost => '100', provolatile => 's',
  9339. prorettype => 'tsquery', proargtypes => 'text',
  9340. prosrc => 'websearch_to_tsquery' },
  9341. { oid => '4209', descr => 'transform string values from jsonb to tsvector',
  9342. proname => 'to_tsvector', procost => '100', provolatile => 's',
  9343. prorettype => 'tsvector', proargtypes => 'jsonb',
  9344. prosrc => 'jsonb_string_to_tsvector' },
  9345. { oid => '4213', descr => 'transform specified values from jsonb to tsvector',
  9346. proname => 'jsonb_to_tsvector', procost => '100', provolatile => 's',
  9347. prorettype => 'tsvector', proargtypes => 'jsonb jsonb',
  9348. prosrc => 'jsonb_to_tsvector' },
  9349. { oid => '4210', descr => 'transform string values from json to tsvector',
  9350. proname => 'to_tsvector', procost => '100', provolatile => 's',
  9351. prorettype => 'tsvector', proargtypes => 'json',
  9352. prosrc => 'json_string_to_tsvector' },
  9353. { oid => '4215', descr => 'transform specified values from json to tsvector',
  9354. proname => 'json_to_tsvector', procost => '100', provolatile => 's',
  9355. prorettype => 'tsvector', proargtypes => 'json jsonb',
  9356. prosrc => 'json_to_tsvector' },
  9357. { oid => '4211', descr => 'transform string values from jsonb to tsvector',
  9358. proname => 'to_tsvector', procost => '100', prorettype => 'tsvector',
  9359. proargtypes => 'regconfig jsonb', prosrc => 'jsonb_string_to_tsvector_byid' },
  9360. { oid => '4214', descr => 'transform specified values from jsonb to tsvector',
  9361. proname => 'jsonb_to_tsvector', procost => '100', prorettype => 'tsvector',
  9362. proargtypes => 'regconfig jsonb jsonb', prosrc => 'jsonb_to_tsvector_byid' },
  9363. { oid => '4212', descr => 'transform string values from json to tsvector',
  9364. proname => 'to_tsvector', procost => '100', prorettype => 'tsvector',
  9365. proargtypes => 'regconfig json', prosrc => 'json_string_to_tsvector_byid' },
  9366. { oid => '4216', descr => 'transform specified values from json to tsvector',
  9367. proname => 'json_to_tsvector', procost => '100', prorettype => 'tsvector',
  9368. proargtypes => 'regconfig json jsonb', prosrc => 'json_to_tsvector_byid' },
  9369. { oid => '3752', descr => 'trigger for automatic update of tsvector column',
  9370. proname => 'tsvector_update_trigger', proisstrict => 'f', provolatile => 'v',
  9371. prorettype => 'trigger', proargtypes => '',
  9372. prosrc => 'tsvector_update_trigger_byid' },
  9373. { oid => '3753', descr => 'trigger for automatic update of tsvector column',
  9374. proname => 'tsvector_update_trigger_column', proisstrict => 'f',
  9375. provolatile => 'v', prorettype => 'trigger', proargtypes => '',
  9376. prosrc => 'tsvector_update_trigger_bycolumn' },
  9377. { oid => '3759', descr => 'get current tsearch configuration',
  9378. proname => 'get_current_ts_config', provolatile => 's',
  9379. prorettype => 'regconfig', proargtypes => '',
  9380. prosrc => 'get_current_ts_config' },
  9381. { oid => '3736', descr => 'I/O',
  9382. proname => 'regconfigin', provolatile => 's', prorettype => 'regconfig',
  9383. proargtypes => 'cstring', prosrc => 'regconfigin' },
  9384. { oid => '3737', descr => 'I/O',
  9385. proname => 'regconfigout', provolatile => 's', prorettype => 'cstring',
  9386. proargtypes => 'regconfig', prosrc => 'regconfigout' },
  9387. { oid => '3738', descr => 'I/O',
  9388. proname => 'regconfigrecv', prorettype => 'regconfig',
  9389. proargtypes => 'internal', prosrc => 'regconfigrecv' },
  9390. { oid => '3739', descr => 'I/O',
  9391. proname => 'regconfigsend', prorettype => 'bytea', proargtypes => 'regconfig',
  9392. prosrc => 'regconfigsend' },
  9393. { oid => '3771', descr => 'I/O',
  9394. proname => 'regdictionaryin', provolatile => 's',
  9395. prorettype => 'regdictionary', proargtypes => 'cstring',
  9396. prosrc => 'regdictionaryin' },
  9397. { oid => '3772', descr => 'I/O',
  9398. proname => 'regdictionaryout', provolatile => 's', prorettype => 'cstring',
  9399. proargtypes => 'regdictionary', prosrc => 'regdictionaryout' },
  9400. { oid => '3773', descr => 'I/O',
  9401. proname => 'regdictionaryrecv', prorettype => 'regdictionary',
  9402. proargtypes => 'internal', prosrc => 'regdictionaryrecv' },
  9403. { oid => '3774', descr => 'I/O',
  9404. proname => 'regdictionarysend', prorettype => 'bytea',
  9405. proargtypes => 'regdictionary', prosrc => 'regdictionarysend' },
  9406. # jsonb
  9407. { oid => '3806', descr => 'I/O',
  9408. proname => 'jsonb_in', prorettype => 'jsonb', proargtypes => 'cstring',
  9409. prosrc => 'jsonb_in' },
  9410. { oid => '3805', descr => 'I/O',
  9411. proname => 'jsonb_recv', prorettype => 'jsonb', proargtypes => 'internal',
  9412. prosrc => 'jsonb_recv' },
  9413. { oid => '3804', descr => 'I/O',
  9414. proname => 'jsonb_out', prorettype => 'cstring', proargtypes => 'jsonb',
  9415. prosrc => 'jsonb_out' },
  9416. { oid => '3803', descr => 'I/O',
  9417. proname => 'jsonb_send', prorettype => 'bytea', proargtypes => 'jsonb',
  9418. prosrc => 'jsonb_send' },
  9419. { oid => '3263', descr => 'map text array of key value pairs to jsonb object',
  9420. proname => 'jsonb_object', prorettype => 'jsonb', proargtypes => '_text',
  9421. prosrc => 'jsonb_object' },
  9422. { oid => '3264', descr => 'map text array of key value pairs to jsonb object',
  9423. proname => 'jsonb_object', prorettype => 'jsonb',
  9424. proargtypes => '_text _text', prosrc => 'jsonb_object_two_arg' },
  9425. { oid => '3787', descr => 'map input to jsonb',
  9426. proname => 'to_jsonb', provolatile => 's', prorettype => 'jsonb',
  9427. proargtypes => 'anyelement', prosrc => 'to_jsonb' },
  9428. { oid => '3265', descr => 'jsonb aggregate transition function',
  9429. proname => 'jsonb_agg_transfn', proisstrict => 'f', provolatile => 's',
  9430. prorettype => 'internal', proargtypes => 'internal anyelement',
  9431. prosrc => 'jsonb_agg_transfn' },
  9432. { oid => '6283', descr => 'jsonb aggregate transition function',
  9433. proname => 'jsonb_agg_strict_transfn', proisstrict => 'f', provolatile => 's',
  9434. prorettype => 'internal', proargtypes => 'internal anyelement',
  9435. prosrc => 'jsonb_agg_strict_transfn' },
  9436. { oid => '3266', descr => 'jsonb aggregate final function',
  9437. proname => 'jsonb_agg_finalfn', proisstrict => 'f', provolatile => 's',
  9438. prorettype => 'jsonb', proargtypes => 'internal',
  9439. prosrc => 'jsonb_agg_finalfn' },
  9440. { oid => '3267', descr => 'aggregate input into jsonb',
  9441. proname => 'jsonb_agg', prokind => 'a', proisstrict => 'f',
  9442. provolatile => 's', prorettype => 'jsonb', proargtypes => 'anyelement',
  9443. prosrc => 'aggregate_dummy' },
  9444. { oid => '6284', descr => 'aggregate input into jsonb skipping nulls',
  9445. proname => 'jsonb_agg_strict', prokind => 'a', proisstrict => 'f',
  9446. provolatile => 's', prorettype => 'jsonb', proargtypes => 'anyelement',
  9447. prosrc => 'aggregate_dummy' },
  9448. { oid => '3268', descr => 'jsonb object aggregate transition function',
  9449. proname => 'jsonb_object_agg_transfn', proisstrict => 'f', provolatile => 's',
  9450. prorettype => 'internal', proargtypes => 'internal any any',
  9451. prosrc => 'jsonb_object_agg_transfn' },
  9452. { oid => '6285', descr => 'jsonb object aggregate transition function',
  9453. proname => 'jsonb_object_agg_strict_transfn', proisstrict => 'f',
  9454. provolatile => 's', prorettype => 'internal',
  9455. proargtypes => 'internal any any',
  9456. prosrc => 'jsonb_object_agg_strict_transfn' },
  9457. { oid => '6286', descr => 'jsonb object aggregate transition function',
  9458. proname => 'jsonb_object_agg_unique_transfn', proisstrict => 'f',
  9459. provolatile => 's', prorettype => 'internal',
  9460. proargtypes => 'internal any any',
  9461. prosrc => 'jsonb_object_agg_unique_transfn' },
  9462. { oid => '6287', descr => 'jsonb object aggregate transition function',
  9463. proname => 'jsonb_object_agg_unique_strict_transfn', proisstrict => 'f',
  9464. provolatile => 's', prorettype => 'internal',
  9465. proargtypes => 'internal any any',
  9466. prosrc => 'jsonb_object_agg_unique_strict_transfn' },
  9467. { oid => '3269', descr => 'jsonb object aggregate final function',
  9468. proname => 'jsonb_object_agg_finalfn', proisstrict => 'f', provolatile => 's',
  9469. prorettype => 'jsonb', proargtypes => 'internal',
  9470. prosrc => 'jsonb_object_agg_finalfn' },
  9471. { oid => '3270', descr => 'aggregate inputs into jsonb object',
  9472. proname => 'jsonb_object_agg', prokind => 'a', proisstrict => 'f',
  9473. prorettype => 'jsonb', proargtypes => 'any any',
  9474. prosrc => 'aggregate_dummy' },
  9475. { oid => '6288', descr => 'aggregate non-NULL inputs into jsonb object',
  9476. proname => 'jsonb_object_agg_strict', prokind => 'a', proisstrict => 'f',
  9477. prorettype => 'jsonb', proargtypes => 'any any',
  9478. prosrc => 'aggregate_dummy' },
  9479. { oid => '6289',
  9480. descr => 'aggregate inputs into jsonb object checking key uniqueness',
  9481. proname => 'jsonb_object_agg_unique', prokind => 'a', proisstrict => 'f',
  9482. prorettype => 'jsonb', proargtypes => 'any any',
  9483. prosrc => 'aggregate_dummy' },
  9484. { oid => '6290',
  9485. descr => 'aggregate non-NULL inputs into jsonb object checking key uniqueness',
  9486. proname => 'jsonb_object_agg_unique_strict', prokind => 'a',
  9487. proisstrict => 'f', prorettype => 'jsonb', proargtypes => 'any any',
  9488. prosrc => 'aggregate_dummy' },
  9489. { oid => '3271', descr => 'build a jsonb array from any inputs',
  9490. proname => 'jsonb_build_array', provariadic => 'any', proisstrict => 'f',
  9491. provolatile => 's', prorettype => 'jsonb', proargtypes => 'any',
  9492. proallargtypes => '{any}', proargmodes => '{v}',
  9493. prosrc => 'jsonb_build_array' },
  9494. { oid => '3272', descr => 'build an empty jsonb array',
  9495. proname => 'jsonb_build_array', proisstrict => 'f', provolatile => 's',
  9496. prorettype => 'jsonb', proargtypes => '',
  9497. prosrc => 'jsonb_build_array_noargs' },
  9498. { oid => '3273',
  9499. descr => 'build a jsonb object from pairwise key/value inputs',
  9500. proname => 'jsonb_build_object', provariadic => 'any', proisstrict => 'f',
  9501. provolatile => 's', prorettype => 'jsonb', proargtypes => 'any',
  9502. proallargtypes => '{any}', proargmodes => '{v}',
  9503. prosrc => 'jsonb_build_object' },
  9504. { oid => '3274', descr => 'build an empty jsonb object',
  9505. proname => 'jsonb_build_object', proisstrict => 'f', provolatile => 's',
  9506. prorettype => 'jsonb', proargtypes => '',
  9507. prosrc => 'jsonb_build_object_noargs' },
  9508. { oid => '3262', descr => 'remove object fields with null values from jsonb',
  9509. proname => 'jsonb_strip_nulls', prorettype => 'jsonb', proargtypes => 'jsonb',
  9510. prosrc => 'jsonb_strip_nulls' },
  9511. { oid => '3478',
  9512. proname => 'jsonb_object_field', prorettype => 'jsonb',
  9513. proargtypes => 'jsonb text', proargnames => '{from_json, field_name}',
  9514. prosrc => 'jsonb_object_field' },
  9515. { oid => '3214',
  9516. proname => 'jsonb_object_field_text', prorettype => 'text',
  9517. proargtypes => 'jsonb text', proargnames => '{from_json, field_name}',
  9518. prosrc => 'jsonb_object_field_text' },
  9519. { oid => '3215',
  9520. proname => 'jsonb_array_element', prorettype => 'jsonb',
  9521. proargtypes => 'jsonb int4', proargnames => '{from_json, element_index}',
  9522. prosrc => 'jsonb_array_element' },
  9523. { oid => '3216',
  9524. proname => 'jsonb_array_element_text', prorettype => 'text',
  9525. proargtypes => 'jsonb int4', proargnames => '{from_json, element_index}',
  9526. prosrc => 'jsonb_array_element_text' },
  9527. { oid => '3217', descr => 'get value from jsonb with path elements',
  9528. proname => 'jsonb_extract_path', provariadic => 'text', prorettype => 'jsonb',
  9529. proargtypes => 'jsonb _text', proallargtypes => '{jsonb,_text}',
  9530. proargmodes => '{i,v}', proargnames => '{from_json,path_elems}',
  9531. prosrc => 'jsonb_extract_path' },
  9532. { oid => '3940', descr => 'get value from jsonb as text with path elements',
  9533. proname => 'jsonb_extract_path_text', provariadic => 'text',
  9534. prorettype => 'text', proargtypes => 'jsonb _text',
  9535. proallargtypes => '{jsonb,_text}', proargmodes => '{i,v}',
  9536. proargnames => '{from_json,path_elems}',
  9537. prosrc => 'jsonb_extract_path_text' },
  9538. { oid => '3219', descr => 'elements of a jsonb array',
  9539. proname => 'jsonb_array_elements', prorows => '100', proretset => 't',
  9540. prorettype => 'jsonb', proargtypes => 'jsonb',
  9541. proallargtypes => '{jsonb,jsonb}', proargmodes => '{i,o}',
  9542. proargnames => '{from_json,value}', prosrc => 'jsonb_array_elements' },
  9543. { oid => '3465', descr => 'elements of jsonb array',
  9544. proname => 'jsonb_array_elements_text', prorows => '100', proretset => 't',
  9545. prorettype => 'text', proargtypes => 'jsonb',
  9546. proallargtypes => '{jsonb,text}', proargmodes => '{i,o}',
  9547. proargnames => '{from_json,value}', prosrc => 'jsonb_array_elements_text' },
  9548. { oid => '3207', descr => 'length of jsonb array',
  9549. proname => 'jsonb_array_length', prorettype => 'int4', proargtypes => 'jsonb',
  9550. prosrc => 'jsonb_array_length' },
  9551. { oid => '3931', descr => 'get jsonb object keys',
  9552. proname => 'jsonb_object_keys', prorows => '100', proretset => 't',
  9553. prorettype => 'text', proargtypes => 'jsonb', prosrc => 'jsonb_object_keys' },
  9554. { oid => '3208', descr => 'key value pairs of a jsonb object',
  9555. proname => 'jsonb_each', prorows => '100', proretset => 't',
  9556. prorettype => 'record', proargtypes => 'jsonb',
  9557. proallargtypes => '{jsonb,text,jsonb}', proargmodes => '{i,o,o}',
  9558. proargnames => '{from_json,key,value}', prosrc => 'jsonb_each' },
  9559. { oid => '3932', descr => 'key value pairs of a jsonb object',
  9560. proname => 'jsonb_each_text', prorows => '100', proretset => 't',
  9561. prorettype => 'record', proargtypes => 'jsonb',
  9562. proallargtypes => '{jsonb,text,text}', proargmodes => '{i,o,o}',
  9563. proargnames => '{from_json,key,value}', prosrc => 'jsonb_each_text' },
  9564. { oid => '3209', descr => 'get record fields from a jsonb object',
  9565. proname => 'jsonb_populate_record', proisstrict => 'f', provolatile => 's',
  9566. prorettype => 'anyelement', proargtypes => 'anyelement jsonb',
  9567. prosrc => 'jsonb_populate_record' },
  9568. { oid => '3475',
  9569. descr => 'get set of records with fields from a jsonb array of objects',
  9570. proname => 'jsonb_populate_recordset', prorows => '100', proisstrict => 'f',
  9571. proretset => 't', provolatile => 's', prorettype => 'anyelement',
  9572. proargtypes => 'anyelement jsonb', prosrc => 'jsonb_populate_recordset' },
  9573. { oid => '3490', descr => 'get record fields from a jsonb object',
  9574. proname => 'jsonb_to_record', provolatile => 's', prorettype => 'record',
  9575. proargtypes => 'jsonb', prosrc => 'jsonb_to_record' },
  9576. { oid => '3491',
  9577. descr => 'get set of records with fields from a jsonb array of objects',
  9578. proname => 'jsonb_to_recordset', prorows => '100', proisstrict => 'f',
  9579. proretset => 't', provolatile => 's', prorettype => 'record',
  9580. proargtypes => 'jsonb', prosrc => 'jsonb_to_recordset' },
  9581. { oid => '3210', descr => 'get the type of a jsonb value',
  9582. proname => 'jsonb_typeof', prorettype => 'text', proargtypes => 'jsonb',
  9583. prosrc => 'jsonb_typeof' },
  9584. { oid => '4038',
  9585. proname => 'jsonb_ne', prorettype => 'bool', proargtypes => 'jsonb jsonb',
  9586. prosrc => 'jsonb_ne' },
  9587. { oid => '4039',
  9588. proname => 'jsonb_lt', prorettype => 'bool', proargtypes => 'jsonb jsonb',
  9589. prosrc => 'jsonb_lt' },
  9590. { oid => '4040',
  9591. proname => 'jsonb_gt', prorettype => 'bool', proargtypes => 'jsonb jsonb',
  9592. prosrc => 'jsonb_gt' },
  9593. { oid => '4041',
  9594. proname => 'jsonb_le', prorettype => 'bool', proargtypes => 'jsonb jsonb',
  9595. prosrc => 'jsonb_le' },
  9596. { oid => '4042',
  9597. proname => 'jsonb_ge', prorettype => 'bool', proargtypes => 'jsonb jsonb',
  9598. prosrc => 'jsonb_ge' },
  9599. { oid => '4043',
  9600. proname => 'jsonb_eq', prorettype => 'bool', proargtypes => 'jsonb jsonb',
  9601. prosrc => 'jsonb_eq' },
  9602. { oid => '4044', descr => 'less-equal-greater',
  9603. proname => 'jsonb_cmp', prorettype => 'int4', proargtypes => 'jsonb jsonb',
  9604. prosrc => 'jsonb_cmp' },
  9605. { oid => '4045', descr => 'hash',
  9606. proname => 'jsonb_hash', prorettype => 'int4', proargtypes => 'jsonb',
  9607. prosrc => 'jsonb_hash' },
  9608. { oid => '3416', descr => 'hash',
  9609. proname => 'jsonb_hash_extended', prorettype => 'int8',
  9610. proargtypes => 'jsonb int8', prosrc => 'jsonb_hash_extended' },
  9611. { oid => '4046',
  9612. proname => 'jsonb_contains', prorettype => 'bool',
  9613. proargtypes => 'jsonb jsonb', prosrc => 'jsonb_contains' },
  9614. { oid => '4047',
  9615. proname => 'jsonb_exists', prorettype => 'bool', proargtypes => 'jsonb text',
  9616. prosrc => 'jsonb_exists' },
  9617. { oid => '4048',
  9618. proname => 'jsonb_exists_any', prorettype => 'bool',
  9619. proargtypes => 'jsonb _text', prosrc => 'jsonb_exists_any' },
  9620. { oid => '4049',
  9621. proname => 'jsonb_exists_all', prorettype => 'bool',
  9622. proargtypes => 'jsonb _text', prosrc => 'jsonb_exists_all' },
  9623. { oid => '4050',
  9624. proname => 'jsonb_contained', prorettype => 'bool',
  9625. proargtypes => 'jsonb jsonb', prosrc => 'jsonb_contained' },
  9626. { oid => '3480', descr => 'GIN support',
  9627. proname => 'gin_compare_jsonb', prorettype => 'int4',
  9628. proargtypes => 'text text', prosrc => 'gin_compare_jsonb' },
  9629. { oid => '3482', descr => 'GIN support',
  9630. proname => 'gin_extract_jsonb', prorettype => 'internal',
  9631. proargtypes => 'jsonb internal internal', prosrc => 'gin_extract_jsonb' },
  9632. { oid => '3483', descr => 'GIN support',
  9633. proname => 'gin_extract_jsonb_query', prorettype => 'internal',
  9634. proargtypes => 'jsonb internal int2 internal internal internal internal',
  9635. prosrc => 'gin_extract_jsonb_query' },
  9636. { oid => '3484', descr => 'GIN support',
  9637. proname => 'gin_consistent_jsonb', prorettype => 'bool',
  9638. proargtypes => 'internal int2 jsonb int4 internal internal internal internal',
  9639. prosrc => 'gin_consistent_jsonb' },
  9640. { oid => '3488', descr => 'GIN support',
  9641. proname => 'gin_triconsistent_jsonb', prorettype => 'char',
  9642. proargtypes => 'internal int2 jsonb int4 internal internal internal',
  9643. prosrc => 'gin_triconsistent_jsonb' },
  9644. { oid => '3485', descr => 'GIN support',
  9645. proname => 'gin_extract_jsonb_path', prorettype => 'internal',
  9646. proargtypes => 'jsonb internal internal',
  9647. prosrc => 'gin_extract_jsonb_path' },
  9648. { oid => '3486', descr => 'GIN support',
  9649. proname => 'gin_extract_jsonb_query_path', prorettype => 'internal',
  9650. proargtypes => 'jsonb internal int2 internal internal internal internal',
  9651. prosrc => 'gin_extract_jsonb_query_path' },
  9652. { oid => '3487', descr => 'GIN support',
  9653. proname => 'gin_consistent_jsonb_path', prorettype => 'bool',
  9654. proargtypes => 'internal int2 jsonb int4 internal internal internal internal',
  9655. prosrc => 'gin_consistent_jsonb_path' },
  9656. { oid => '3489', descr => 'GIN support',
  9657. proname => 'gin_triconsistent_jsonb_path', prorettype => 'char',
  9658. proargtypes => 'internal int2 jsonb int4 internal internal internal',
  9659. prosrc => 'gin_triconsistent_jsonb_path' },
  9660. { oid => '3301',
  9661. proname => 'jsonb_concat', prorettype => 'jsonb',
  9662. proargtypes => 'jsonb jsonb', prosrc => 'jsonb_concat' },
  9663. { oid => '3302',
  9664. proname => 'jsonb_delete', prorettype => 'jsonb', proargtypes => 'jsonb text',
  9665. prosrc => 'jsonb_delete' },
  9666. { oid => '3303',
  9667. proname => 'jsonb_delete', prorettype => 'jsonb', proargtypes => 'jsonb int4',
  9668. prosrc => 'jsonb_delete_idx' },
  9669. { oid => '3343',
  9670. proname => 'jsonb_delete', provariadic => 'text', prorettype => 'jsonb',
  9671. proargtypes => 'jsonb _text', proallargtypes => '{jsonb,_text}',
  9672. proargmodes => '{i,v}', proargnames => '{from_json,path_elems}',
  9673. prosrc => 'jsonb_delete_array' },
  9674. { oid => '3304',
  9675. proname => 'jsonb_delete_path', prorettype => 'jsonb',
  9676. proargtypes => 'jsonb _text', prosrc => 'jsonb_delete_path' },
  9677. { oid => '5054', descr => 'Set part of a jsonb, handle NULL value',
  9678. proname => 'jsonb_set_lax', proisstrict => 'f', prorettype => 'jsonb',
  9679. proargtypes => 'jsonb _text jsonb bool text', prosrc => 'jsonb_set_lax' },
  9680. { oid => '3305', descr => 'Set part of a jsonb',
  9681. proname => 'jsonb_set', prorettype => 'jsonb',
  9682. proargtypes => 'jsonb _text jsonb bool', prosrc => 'jsonb_set' },
  9683. { oid => '3306', descr => 'Indented text from jsonb',
  9684. proname => 'jsonb_pretty', prorettype => 'text', proargtypes => 'jsonb',
  9685. prosrc => 'jsonb_pretty' },
  9686. { oid => '3579', descr => 'Insert value into a jsonb',
  9687. proname => 'jsonb_insert', prorettype => 'jsonb',
  9688. proargtypes => 'jsonb _text jsonb bool', prosrc => 'jsonb_insert' },
  9689. # jsonpath
  9690. { oid => '4001', descr => 'I/O',
  9691. proname => 'jsonpath_in', prorettype => 'jsonpath', proargtypes => 'cstring',
  9692. prosrc => 'jsonpath_in' },
  9693. { oid => '4002', descr => 'I/O',
  9694. proname => 'jsonpath_recv', prorettype => 'jsonpath',
  9695. proargtypes => 'internal', prosrc => 'jsonpath_recv' },
  9696. { oid => '4003', descr => 'I/O',
  9697. proname => 'jsonpath_out', prorettype => 'cstring', proargtypes => 'jsonpath',
  9698. prosrc => 'jsonpath_out' },
  9699. { oid => '4004', descr => 'I/O',
  9700. proname => 'jsonpath_send', prorettype => 'bytea', proargtypes => 'jsonpath',
  9701. prosrc => 'jsonpath_send' },
  9702. { oid => '4005', descr => 'jsonpath exists test',
  9703. proname => 'jsonb_path_exists', prorettype => 'bool',
  9704. proargtypes => 'jsonb jsonpath jsonb bool', prosrc => 'jsonb_path_exists' },
  9705. { oid => '4006', descr => 'jsonpath query',
  9706. proname => 'jsonb_path_query', prorows => '1000', proretset => 't',
  9707. prorettype => 'jsonb', proargtypes => 'jsonb jsonpath jsonb bool',
  9708. prosrc => 'jsonb_path_query' },
  9709. { oid => '4007', descr => 'jsonpath query wrapped into array',
  9710. proname => 'jsonb_path_query_array', prorettype => 'jsonb',
  9711. proargtypes => 'jsonb jsonpath jsonb bool',
  9712. prosrc => 'jsonb_path_query_array' },
  9713. { oid => '4008', descr => 'jsonpath query first item',
  9714. proname => 'jsonb_path_query_first', prorettype => 'jsonb',
  9715. proargtypes => 'jsonb jsonpath jsonb bool',
  9716. prosrc => 'jsonb_path_query_first' },
  9717. { oid => '4009', descr => 'jsonpath match',
  9718. proname => 'jsonb_path_match', prorettype => 'bool',
  9719. proargtypes => 'jsonb jsonpath jsonb bool', prosrc => 'jsonb_path_match' },
  9720. { oid => '1177', descr => 'jsonpath exists test with timezone',
  9721. proname => 'jsonb_path_exists_tz', provolatile => 's', prorettype => 'bool',
  9722. proargtypes => 'jsonb jsonpath jsonb bool',
  9723. prosrc => 'jsonb_path_exists_tz' },
  9724. { oid => '1179', descr => 'jsonpath query with timezone',
  9725. proname => 'jsonb_path_query_tz', prorows => '1000', proretset => 't',
  9726. provolatile => 's', prorettype => 'jsonb',
  9727. proargtypes => 'jsonb jsonpath jsonb bool', prosrc => 'jsonb_path_query_tz' },
  9728. { oid => '1180', descr => 'jsonpath query wrapped into array with timezone',
  9729. proname => 'jsonb_path_query_array_tz', provolatile => 's',
  9730. prorettype => 'jsonb', proargtypes => 'jsonb jsonpath jsonb bool',
  9731. prosrc => 'jsonb_path_query_array_tz' },
  9732. { oid => '2023', descr => 'jsonpath query first item with timezone',
  9733. proname => 'jsonb_path_query_first_tz', provolatile => 's',
  9734. prorettype => 'jsonb', proargtypes => 'jsonb jsonpath jsonb bool',
  9735. prosrc => 'jsonb_path_query_first_tz' },
  9736. { oid => '2030', descr => 'jsonpath match with timezone',
  9737. proname => 'jsonb_path_match_tz', provolatile => 's', prorettype => 'bool',
  9738. proargtypes => 'jsonb jsonpath jsonb bool', prosrc => 'jsonb_path_match_tz' },
  9739. { oid => '4010', descr => 'implementation of @? operator',
  9740. proname => 'jsonb_path_exists_opr', prorettype => 'bool',
  9741. proargtypes => 'jsonb jsonpath', prosrc => 'jsonb_path_exists_opr' },
  9742. { oid => '4011', descr => 'implementation of @@ operator',
  9743. proname => 'jsonb_path_match_opr', prorettype => 'bool',
  9744. proargtypes => 'jsonb jsonpath', prosrc => 'jsonb_path_match_opr' },
  9745. # historical int8/txid_snapshot variants of xid8 functions
  9746. { oid => '2939', descr => 'I/O',
  9747. proname => 'txid_snapshot_in', prorettype => 'txid_snapshot',
  9748. proargtypes => 'cstring', prosrc => 'pg_snapshot_in' },
  9749. { oid => '2940', descr => 'I/O',
  9750. proname => 'txid_snapshot_out', prorettype => 'cstring',
  9751. proargtypes => 'txid_snapshot', prosrc => 'pg_snapshot_out' },
  9752. { oid => '2941', descr => 'I/O',
  9753. proname => 'txid_snapshot_recv', prorettype => 'txid_snapshot',
  9754. proargtypes => 'internal', prosrc => 'pg_snapshot_recv' },
  9755. { oid => '2942', descr => 'I/O',
  9756. proname => 'txid_snapshot_send', prorettype => 'bytea',
  9757. proargtypes => 'txid_snapshot', prosrc => 'pg_snapshot_send' },
  9758. { oid => '2943', descr => 'get current transaction ID',
  9759. proname => 'txid_current', provolatile => 's', proparallel => 'u',
  9760. prorettype => 'int8', proargtypes => '', prosrc => 'pg_current_xact_id' },
  9761. { oid => '3348', descr => 'get current transaction ID',
  9762. proname => 'txid_current_if_assigned', provolatile => 's', proparallel => 'u',
  9763. prorettype => 'int8', proargtypes => '',
  9764. prosrc => 'pg_current_xact_id_if_assigned' },
  9765. { oid => '2944', descr => 'get current snapshot',
  9766. proname => 'txid_current_snapshot', provolatile => 's',
  9767. prorettype => 'txid_snapshot', proargtypes => '',
  9768. prosrc => 'pg_current_snapshot' },
  9769. { oid => '2945', descr => 'get xmin of snapshot',
  9770. proname => 'txid_snapshot_xmin', prorettype => 'int8',
  9771. proargtypes => 'txid_snapshot', prosrc => 'pg_snapshot_xmin' },
  9772. { oid => '2946', descr => 'get xmax of snapshot',
  9773. proname => 'txid_snapshot_xmax', prorettype => 'int8',
  9774. proargtypes => 'txid_snapshot', prosrc => 'pg_snapshot_xmax' },
  9775. { oid => '2947', descr => 'get set of in-progress txids in snapshot',
  9776. proname => 'txid_snapshot_xip', prorows => '50', proretset => 't',
  9777. prorettype => 'int8', proargtypes => 'txid_snapshot',
  9778. prosrc => 'pg_snapshot_xip' },
  9779. { oid => '2948', descr => 'is txid visible in snapshot?',
  9780. proname => 'txid_visible_in_snapshot', prorettype => 'bool',
  9781. proargtypes => 'int8 txid_snapshot', prosrc => 'pg_visible_in_snapshot' },
  9782. { oid => '3360', descr => 'commit status of transaction',
  9783. proname => 'txid_status', provolatile => 'v', prorettype => 'text',
  9784. proargtypes => 'int8', prosrc => 'pg_xact_status' },
  9785. # pg_snapshot functions
  9786. { oid => '5055', descr => 'I/O',
  9787. proname => 'pg_snapshot_in', prorettype => 'pg_snapshot',
  9788. proargtypes => 'cstring', prosrc => 'pg_snapshot_in' },
  9789. { oid => '5056', descr => 'I/O',
  9790. proname => 'pg_snapshot_out', prorettype => 'cstring',
  9791. proargtypes => 'pg_snapshot', prosrc => 'pg_snapshot_out' },
  9792. { oid => '5057', descr => 'I/O',
  9793. proname => 'pg_snapshot_recv', prorettype => 'pg_snapshot',
  9794. proargtypes => 'internal', prosrc => 'pg_snapshot_recv' },
  9795. { oid => '5058', descr => 'I/O',
  9796. proname => 'pg_snapshot_send', prorettype => 'bytea',
  9797. proargtypes => 'pg_snapshot', prosrc => 'pg_snapshot_send' },
  9798. { oid => '5061', descr => 'get current snapshot',
  9799. proname => 'pg_current_snapshot', provolatile => 's',
  9800. prorettype => 'pg_snapshot', proargtypes => '',
  9801. prosrc => 'pg_current_snapshot' },
  9802. { oid => '5062', descr => 'get xmin of snapshot',
  9803. proname => 'pg_snapshot_xmin', prorettype => 'xid8',
  9804. proargtypes => 'pg_snapshot', prosrc => 'pg_snapshot_xmin' },
  9805. { oid => '5063', descr => 'get xmax of snapshot',
  9806. proname => 'pg_snapshot_xmax', prorettype => 'xid8',
  9807. proargtypes => 'pg_snapshot', prosrc => 'pg_snapshot_xmax' },
  9808. { oid => '5064', descr => 'get set of in-progress transactions in snapshot',
  9809. proname => 'pg_snapshot_xip', prorows => '50', proretset => 't',
  9810. prorettype => 'xid8', proargtypes => 'pg_snapshot',
  9811. prosrc => 'pg_snapshot_xip' },
  9812. { oid => '5065', descr => 'is xid8 visible in snapshot?',
  9813. proname => 'pg_visible_in_snapshot', prorettype => 'bool',
  9814. proargtypes => 'xid8 pg_snapshot', prosrc => 'pg_visible_in_snapshot' },
  9815. # transaction ID and status functions
  9816. { oid => '5059', descr => 'get current transaction ID',
  9817. proname => 'pg_current_xact_id', provolatile => 's', proparallel => 'u',
  9818. prorettype => 'xid8', proargtypes => '', prosrc => 'pg_current_xact_id' },
  9819. { oid => '5060', descr => 'get current transaction ID',
  9820. proname => 'pg_current_xact_id_if_assigned', provolatile => 's',
  9821. proparallel => 'u', prorettype => 'xid8', proargtypes => '',
  9822. prosrc => 'pg_current_xact_id_if_assigned' },
  9823. { oid => '5066', descr => 'commit status of transaction',
  9824. proname => 'pg_xact_status', provolatile => 'v', prorettype => 'text',
  9825. proargtypes => 'xid8', prosrc => 'pg_xact_status' },
  9826. # record comparison using normal comparison rules
  9827. { oid => '2981',
  9828. proname => 'record_eq', prorettype => 'bool', proargtypes => 'record record',
  9829. prosrc => 'record_eq' },
  9830. { oid => '2982',
  9831. proname => 'record_ne', prorettype => 'bool', proargtypes => 'record record',
  9832. prosrc => 'record_ne' },
  9833. { oid => '2983',
  9834. proname => 'record_lt', prorettype => 'bool', proargtypes => 'record record',
  9835. prosrc => 'record_lt' },
  9836. { oid => '2984',
  9837. proname => 'record_gt', prorettype => 'bool', proargtypes => 'record record',
  9838. prosrc => 'record_gt' },
  9839. { oid => '2985',
  9840. proname => 'record_le', prorettype => 'bool', proargtypes => 'record record',
  9841. prosrc => 'record_le' },
  9842. { oid => '2986',
  9843. proname => 'record_ge', prorettype => 'bool', proargtypes => 'record record',
  9844. prosrc => 'record_ge' },
  9845. { oid => '2987', descr => 'less-equal-greater',
  9846. proname => 'btrecordcmp', prorettype => 'int4',
  9847. proargtypes => 'record record', prosrc => 'btrecordcmp' },
  9848. { oid => '6192', descr => 'hash',
  9849. proname => 'hash_record', prorettype => 'int4', proargtypes => 'record',
  9850. prosrc => 'hash_record' },
  9851. { oid => '6193', descr => 'hash',
  9852. proname => 'hash_record_extended', prorettype => 'int8',
  9853. proargtypes => 'record int8', prosrc => 'hash_record_extended' },
  9854. # record comparison using raw byte images
  9855. { oid => '3181',
  9856. proname => 'record_image_eq', prorettype => 'bool',
  9857. proargtypes => 'record record', prosrc => 'record_image_eq' },
  9858. { oid => '3182',
  9859. proname => 'record_image_ne', prorettype => 'bool',
  9860. proargtypes => 'record record', prosrc => 'record_image_ne' },
  9861. { oid => '3183',
  9862. proname => 'record_image_lt', prorettype => 'bool',
  9863. proargtypes => 'record record', prosrc => 'record_image_lt' },
  9864. { oid => '3184',
  9865. proname => 'record_image_gt', prorettype => 'bool',
  9866. proargtypes => 'record record', prosrc => 'record_image_gt' },
  9867. { oid => '3185',
  9868. proname => 'record_image_le', prorettype => 'bool',
  9869. proargtypes => 'record record', prosrc => 'record_image_le' },
  9870. { oid => '3186',
  9871. proname => 'record_image_ge', prorettype => 'bool',
  9872. proargtypes => 'record record', prosrc => 'record_image_ge' },
  9873. { oid => '3187', descr => 'less-equal-greater based on byte images',
  9874. proname => 'btrecordimagecmp', prorettype => 'int4',
  9875. proargtypes => 'record record', prosrc => 'btrecordimagecmp' },
  9876. { oid => '5051', descr => 'equal image',
  9877. proname => 'btequalimage', prorettype => 'bool', proargtypes => 'oid',
  9878. prosrc => 'btequalimage' },
  9879. # Extensions
  9880. { oid => '3082', descr => 'list available extensions',
  9881. proname => 'pg_available_extensions', procost => '10', prorows => '100',
  9882. proretset => 't', provolatile => 's', prorettype => 'record',
  9883. proargtypes => '', proallargtypes => '{name,text,text}',
  9884. proargmodes => '{o,o,o}', proargnames => '{name,default_version,comment}',
  9885. prosrc => 'pg_available_extensions' },
  9886. { oid => '3083', descr => 'list available extension versions',
  9887. proname => 'pg_available_extension_versions', procost => '10',
  9888. prorows => '100', proretset => 't', provolatile => 's',
  9889. prorettype => 'record', proargtypes => '',
  9890. proallargtypes => '{name,text,bool,bool,bool,name,_name,text}',
  9891. proargmodes => '{o,o,o,o,o,o,o,o}',
  9892. proargnames => '{name,version,superuser,trusted,relocatable,schema,requires,comment}',
  9893. prosrc => 'pg_available_extension_versions' },
  9894. { oid => '3084', descr => 'list an extension\'s version update paths',
  9895. proname => 'pg_extension_update_paths', procost => '10', prorows => '100',
  9896. proretset => 't', provolatile => 's', prorettype => 'record',
  9897. proargtypes => 'name', proallargtypes => '{name,text,text,text}',
  9898. proargmodes => '{i,o,o,o}', proargnames => '{name,source,target,path}',
  9899. prosrc => 'pg_extension_update_paths' },
  9900. { oid => '3086',
  9901. descr => 'flag an extension\'s table contents to be emitted by pg_dump',
  9902. proname => 'pg_extension_config_dump', provolatile => 'v', proparallel => 'u',
  9903. prorettype => 'void', proargtypes => 'regclass text',
  9904. prosrc => 'pg_extension_config_dump' },
  9905. # SQL-spec window functions
  9906. { oid => '3100', descr => 'row number within partition',
  9907. proname => 'row_number', prosupport => 'window_row_number_support',
  9908. prokind => 'w', proisstrict => 'f', prorettype => 'int8', proargtypes => '',
  9909. prosrc => 'window_row_number' },
  9910. { oid => '6233', descr => 'planner support for row_number',
  9911. proname => 'window_row_number_support', prorettype => 'internal',
  9912. proargtypes => 'internal', prosrc => 'window_row_number_support' },
  9913. { oid => '3101', descr => 'integer rank with gaps',
  9914. proname => 'rank', prosupport => 'window_rank_support', prokind => 'w',
  9915. proisstrict => 'f', prorettype => 'int8', proargtypes => '',
  9916. prosrc => 'window_rank' },
  9917. { oid => '6234', descr => 'planner support for rank',
  9918. proname => 'window_rank_support', prorettype => 'internal',
  9919. proargtypes => 'internal', prosrc => 'window_rank_support' },
  9920. { oid => '3102', descr => 'integer rank without gaps',
  9921. proname => 'dense_rank', prosupport => 'window_dense_rank_support',
  9922. prokind => 'w', proisstrict => 'f', prorettype => 'int8', proargtypes => '',
  9923. prosrc => 'window_dense_rank' },
  9924. { oid => '6235', descr => 'planner support for dense_rank',
  9925. proname => 'window_dense_rank_support', prorettype => 'internal',
  9926. proargtypes => 'internal', prosrc => 'window_dense_rank_support' },
  9927. { oid => '3103', descr => 'fractional rank within partition',
  9928. proname => 'percent_rank', prosupport => 'window_percent_rank_support',
  9929. prokind => 'w', proisstrict => 'f', prorettype => 'float8', proargtypes => '',
  9930. prosrc => 'window_percent_rank' },
  9931. { oid => '6306', descr => 'planner support for percent_rank',
  9932. proname => 'window_percent_rank_support', prorettype => 'internal',
  9933. proargtypes => 'internal', prosrc => 'window_percent_rank_support' },
  9934. { oid => '3104', descr => 'fractional row number within partition',
  9935. proname => 'cume_dist', prosupport => 'window_cume_dist_support',
  9936. prokind => 'w', proisstrict => 'f', prorettype => 'float8', proargtypes => '',
  9937. prosrc => 'window_cume_dist' },
  9938. { oid => '6307', descr => 'planner support for cume_dist',
  9939. proname => 'window_cume_dist_support', prorettype => 'internal',
  9940. proargtypes => 'internal', prosrc => 'window_cume_dist_support' },
  9941. { oid => '3105', descr => 'split rows into N groups',
  9942. proname => 'ntile', prosupport => 'window_ntile_support', prokind => 'w',
  9943. prorettype => 'int4', proargtypes => 'int4', prosrc => 'window_ntile' },
  9944. { oid => '6308', descr => 'planner support for ntile',
  9945. proname => 'window_ntile_support', prorettype => 'internal',
  9946. proargtypes => 'internal', prosrc => 'window_ntile_support' },
  9947. { oid => '3106', descr => 'fetch the preceding row value',
  9948. proname => 'lag', prokind => 'w', prorettype => 'anyelement',
  9949. proargtypes => 'anyelement', prosrc => 'window_lag' },
  9950. { oid => '3107', descr => 'fetch the Nth preceding row value',
  9951. proname => 'lag', prokind => 'w', prorettype => 'anyelement',
  9952. proargtypes => 'anyelement int4', prosrc => 'window_lag_with_offset' },
  9953. { oid => '3108', descr => 'fetch the Nth preceding row value with default',
  9954. proname => 'lag', prokind => 'w', prorettype => 'anycompatible',
  9955. proargtypes => 'anycompatible int4 anycompatible',
  9956. prosrc => 'window_lag_with_offset_and_default' },
  9957. { oid => '3109', descr => 'fetch the following row value',
  9958. proname => 'lead', prokind => 'w', prorettype => 'anyelement',
  9959. proargtypes => 'anyelement', prosrc => 'window_lead' },
  9960. { oid => '3110', descr => 'fetch the Nth following row value',
  9961. proname => 'lead', prokind => 'w', prorettype => 'anyelement',
  9962. proargtypes => 'anyelement int4', prosrc => 'window_lead_with_offset' },
  9963. { oid => '3111', descr => 'fetch the Nth following row value with default',
  9964. proname => 'lead', prokind => 'w', prorettype => 'anycompatible',
  9965. proargtypes => 'anycompatible int4 anycompatible',
  9966. prosrc => 'window_lead_with_offset_and_default' },
  9967. { oid => '3112', descr => 'fetch the first row value',
  9968. proname => 'first_value', prokind => 'w', prorettype => 'anyelement',
  9969. proargtypes => 'anyelement', prosrc => 'window_first_value' },
  9970. { oid => '3113', descr => 'fetch the last row value',
  9971. proname => 'last_value', prokind => 'w', prorettype => 'anyelement',
  9972. proargtypes => 'anyelement', prosrc => 'window_last_value' },
  9973. { oid => '3114', descr => 'fetch the Nth row value',
  9974. proname => 'nth_value', prokind => 'w', prorettype => 'anyelement',
  9975. proargtypes => 'anyelement int4', prosrc => 'window_nth_value' },
  9976. # functions for range types
  9977. { oid => '3832', descr => 'I/O',
  9978. proname => 'anyrange_in', provolatile => 's', prorettype => 'anyrange',
  9979. proargtypes => 'cstring oid int4', prosrc => 'anyrange_in' },
  9980. { oid => '3833', descr => 'I/O',
  9981. proname => 'anyrange_out', provolatile => 's', prorettype => 'cstring',
  9982. proargtypes => 'anyrange', prosrc => 'anyrange_out' },
  9983. { oid => '3834', descr => 'I/O',
  9984. proname => 'range_in', provolatile => 's', prorettype => 'anyrange',
  9985. proargtypes => 'cstring oid int4', prosrc => 'range_in' },
  9986. { oid => '3835', descr => 'I/O',
  9987. proname => 'range_out', provolatile => 's', prorettype => 'cstring',
  9988. proargtypes => 'anyrange', prosrc => 'range_out' },
  9989. { oid => '3836', descr => 'I/O',
  9990. proname => 'range_recv', provolatile => 's', prorettype => 'anyrange',
  9991. proargtypes => 'internal oid int4', prosrc => 'range_recv' },
  9992. { oid => '3837', descr => 'I/O',
  9993. proname => 'range_send', provolatile => 's', prorettype => 'bytea',
  9994. proargtypes => 'anyrange', prosrc => 'range_send' },
  9995. { oid => '3848', descr => 'lower bound of range',
  9996. proname => 'lower', prorettype => 'anyelement', proargtypes => 'anyrange',
  9997. prosrc => 'range_lower' },
  9998. { oid => '3849', descr => 'upper bound of range',
  9999. proname => 'upper', prorettype => 'anyelement', proargtypes => 'anyrange',
  10000. prosrc => 'range_upper' },
  10001. { oid => '3850', descr => 'is the range empty?',
  10002. proname => 'isempty', prorettype => 'bool', proargtypes => 'anyrange',
  10003. prosrc => 'range_empty' },
  10004. { oid => '3851', descr => 'is the range\'s lower bound inclusive?',
  10005. proname => 'lower_inc', prorettype => 'bool', proargtypes => 'anyrange',
  10006. prosrc => 'range_lower_inc' },
  10007. { oid => '3852', descr => 'is the range\'s upper bound inclusive?',
  10008. proname => 'upper_inc', prorettype => 'bool', proargtypes => 'anyrange',
  10009. prosrc => 'range_upper_inc' },
  10010. { oid => '3853', descr => 'is the range\'s lower bound infinite?',
  10011. proname => 'lower_inf', prorettype => 'bool', proargtypes => 'anyrange',
  10012. prosrc => 'range_lower_inf' },
  10013. { oid => '3854', descr => 'is the range\'s upper bound infinite?',
  10014. proname => 'upper_inf', prorettype => 'bool', proargtypes => 'anyrange',
  10015. prosrc => 'range_upper_inf' },
  10016. { oid => '3855',
  10017. proname => 'range_eq', prorettype => 'bool',
  10018. proargtypes => 'anyrange anyrange', prosrc => 'range_eq' },
  10019. { oid => '3856',
  10020. proname => 'range_ne', prorettype => 'bool',
  10021. proargtypes => 'anyrange anyrange', prosrc => 'range_ne' },
  10022. { oid => '3857',
  10023. proname => 'range_overlaps', prorettype => 'bool',
  10024. proargtypes => 'anyrange anyrange', prosrc => 'range_overlaps' },
  10025. { oid => '3858',
  10026. proname => 'range_contains_elem', prorettype => 'bool',
  10027. proargtypes => 'anyrange anyelement', prosrc => 'range_contains_elem' },
  10028. { oid => '3859',
  10029. proname => 'range_contains', prorettype => 'bool',
  10030. proargtypes => 'anyrange anyrange', prosrc => 'range_contains' },
  10031. { oid => '3860',
  10032. proname => 'elem_contained_by_range', prorettype => 'bool',
  10033. proargtypes => 'anyelement anyrange', prosrc => 'elem_contained_by_range' },
  10034. { oid => '3861',
  10035. proname => 'range_contained_by', prorettype => 'bool',
  10036. proargtypes => 'anyrange anyrange', prosrc => 'range_contained_by' },
  10037. { oid => '3862',
  10038. proname => 'range_adjacent', prorettype => 'bool',
  10039. proargtypes => 'anyrange anyrange', prosrc => 'range_adjacent' },
  10040. { oid => '3863',
  10041. proname => 'range_before', prorettype => 'bool',
  10042. proargtypes => 'anyrange anyrange', prosrc => 'range_before' },
  10043. { oid => '3864',
  10044. proname => 'range_after', prorettype => 'bool',
  10045. proargtypes => 'anyrange anyrange', prosrc => 'range_after' },
  10046. { oid => '3865',
  10047. proname => 'range_overleft', prorettype => 'bool',
  10048. proargtypes => 'anyrange anyrange', prosrc => 'range_overleft' },
  10049. { oid => '3866',
  10050. proname => 'range_overright', prorettype => 'bool',
  10051. proargtypes => 'anyrange anyrange', prosrc => 'range_overright' },
  10052. { oid => '3867',
  10053. proname => 'range_union', prorettype => 'anyrange',
  10054. proargtypes => 'anyrange anyrange', prosrc => 'range_union' },
  10055. { oid => '4057',
  10056. descr => 'the smallest range which includes both of the given ranges',
  10057. proname => 'range_merge', prorettype => 'anyrange',
  10058. proargtypes => 'anyrange anyrange', prosrc => 'range_merge' },
  10059. { oid => '4228',
  10060. descr => 'the smallest range which includes the whole multirange',
  10061. proname => 'range_merge', prorettype => 'anyrange',
  10062. proargtypes => 'anymultirange', prosrc => 'range_merge_from_multirange' },
  10063. { oid => '3868',
  10064. proname => 'range_intersect', prorettype => 'anyrange',
  10065. proargtypes => 'anyrange anyrange', prosrc => 'range_intersect' },
  10066. { oid => '3869',
  10067. proname => 'range_minus', prorettype => 'anyrange',
  10068. proargtypes => 'anyrange anyrange', prosrc => 'range_minus' },
  10069. { oid => '3870', descr => 'less-equal-greater',
  10070. proname => 'range_cmp', prorettype => 'int4',
  10071. proargtypes => 'anyrange anyrange', prosrc => 'range_cmp' },
  10072. { oid => '3871',
  10073. proname => 'range_lt', prorettype => 'bool',
  10074. proargtypes => 'anyrange anyrange', prosrc => 'range_lt' },
  10075. { oid => '3872',
  10076. proname => 'range_le', prorettype => 'bool',
  10077. proargtypes => 'anyrange anyrange', prosrc => 'range_le' },
  10078. { oid => '3873',
  10079. proname => 'range_ge', prorettype => 'bool',
  10080. proargtypes => 'anyrange anyrange', prosrc => 'range_ge' },
  10081. { oid => '3874',
  10082. proname => 'range_gt', prorettype => 'bool',
  10083. proargtypes => 'anyrange anyrange', prosrc => 'range_gt' },
  10084. { oid => '3875', descr => 'GiST support',
  10085. proname => 'range_gist_consistent', prorettype => 'bool',
  10086. proargtypes => 'internal anyrange int2 oid internal',
  10087. prosrc => 'range_gist_consistent' },
  10088. { oid => '3876', descr => 'GiST support',
  10089. proname => 'range_gist_union', prorettype => 'anyrange',
  10090. proargtypes => 'internal internal', prosrc => 'range_gist_union' },
  10091. { oid => '3879', descr => 'GiST support',
  10092. proname => 'range_gist_penalty', prorettype => 'internal',
  10093. proargtypes => 'internal internal internal', prosrc => 'range_gist_penalty' },
  10094. { oid => '3880', descr => 'GiST support',
  10095. proname => 'range_gist_picksplit', prorettype => 'internal',
  10096. proargtypes => 'internal internal', prosrc => 'range_gist_picksplit' },
  10097. { oid => '3881', descr => 'GiST support',
  10098. proname => 'range_gist_same', prorettype => 'internal',
  10099. proargtypes => 'anyrange anyrange internal', prosrc => 'range_gist_same' },
  10100. { oid => '6154', descr => 'GiST support',
  10101. proname => 'multirange_gist_consistent', prorettype => 'bool',
  10102. proargtypes => 'internal anymultirange int2 oid internal',
  10103. prosrc => 'multirange_gist_consistent' },
  10104. { oid => '6156', descr => 'GiST support',
  10105. proname => 'multirange_gist_compress', prorettype => 'internal',
  10106. proargtypes => 'internal', prosrc => 'multirange_gist_compress' },
  10107. { oid => '3902', descr => 'hash a range',
  10108. proname => 'hash_range', prorettype => 'int4', proargtypes => 'anyrange',
  10109. prosrc => 'hash_range' },
  10110. { oid => '3417', descr => 'hash a range',
  10111. proname => 'hash_range_extended', prorettype => 'int8',
  10112. proargtypes => 'anyrange int8', prosrc => 'hash_range_extended' },
  10113. { oid => '3916', descr => 'range typanalyze',
  10114. proname => 'range_typanalyze', provolatile => 's', prorettype => 'bool',
  10115. proargtypes => 'internal', prosrc => 'range_typanalyze' },
  10116. { oid => '3169', descr => 'restriction selectivity for range operators',
  10117. proname => 'rangesel', provolatile => 's', prorettype => 'float8',
  10118. proargtypes => 'internal oid internal int4', prosrc => 'rangesel' },
  10119. { oid => '4401', descr => 'range aggregate by intersecting',
  10120. proname => 'range_intersect_agg_transfn', prorettype => 'anyrange',
  10121. proargtypes => 'anyrange anyrange', prosrc => 'range_intersect_agg_transfn' },
  10122. { oid => '4450', descr => 'range aggregate by intersecting',
  10123. proname => 'range_intersect_agg', prokind => 'a', proisstrict => 'f',
  10124. prorettype => 'anyrange', proargtypes => 'anyrange',
  10125. prosrc => 'aggregate_dummy' },
  10126. { oid => '3914', descr => 'convert an int4 range to canonical form',
  10127. proname => 'int4range_canonical', prorettype => 'int4range',
  10128. proargtypes => 'int4range', prosrc => 'int4range_canonical' },
  10129. { oid => '3928', descr => 'convert an int8 range to canonical form',
  10130. proname => 'int8range_canonical', prorettype => 'int8range',
  10131. proargtypes => 'int8range', prosrc => 'int8range_canonical' },
  10132. { oid => '3915', descr => 'convert a date range to canonical form',
  10133. proname => 'daterange_canonical', prorettype => 'daterange',
  10134. proargtypes => 'daterange', prosrc => 'daterange_canonical' },
  10135. { oid => '3922', descr => 'float8 difference of two int4 values',
  10136. proname => 'int4range_subdiff', prorettype => 'float8',
  10137. proargtypes => 'int4 int4', prosrc => 'int4range_subdiff' },
  10138. { oid => '3923', descr => 'float8 difference of two int8 values',
  10139. proname => 'int8range_subdiff', prorettype => 'float8',
  10140. proargtypes => 'int8 int8', prosrc => 'int8range_subdiff' },
  10141. { oid => '3924', descr => 'float8 difference of two numeric values',
  10142. proname => 'numrange_subdiff', prorettype => 'float8',
  10143. proargtypes => 'numeric numeric', prosrc => 'numrange_subdiff' },
  10144. { oid => '3925', descr => 'float8 difference of two date values',
  10145. proname => 'daterange_subdiff', prorettype => 'float8',
  10146. proargtypes => 'date date', prosrc => 'daterange_subdiff' },
  10147. { oid => '3929', descr => 'float8 difference of two timestamp values',
  10148. proname => 'tsrange_subdiff', prorettype => 'float8',
  10149. proargtypes => 'timestamp timestamp', prosrc => 'tsrange_subdiff' },
  10150. { oid => '3930',
  10151. descr => 'float8 difference of two timestamp with time zone values',
  10152. proname => 'tstzrange_subdiff', prorettype => 'float8',
  10153. proargtypes => 'timestamptz timestamptz', prosrc => 'tstzrange_subdiff' },
  10154. { oid => '3840', descr => 'int4range constructor',
  10155. proname => 'int4range', proisstrict => 'f', prorettype => 'int4range',
  10156. proargtypes => 'int4 int4', prosrc => 'range_constructor2' },
  10157. { oid => '3841', descr => 'int4range constructor',
  10158. proname => 'int4range', proisstrict => 'f', prorettype => 'int4range',
  10159. proargtypes => 'int4 int4 text', prosrc => 'range_constructor3' },
  10160. { oid => '3844', descr => 'numrange constructor',
  10161. proname => 'numrange', proisstrict => 'f', prorettype => 'numrange',
  10162. proargtypes => 'numeric numeric', prosrc => 'range_constructor2' },
  10163. { oid => '3845', descr => 'numrange constructor',
  10164. proname => 'numrange', proisstrict => 'f', prorettype => 'numrange',
  10165. proargtypes => 'numeric numeric text', prosrc => 'range_constructor3' },
  10166. { oid => '3933', descr => 'tsrange constructor',
  10167. proname => 'tsrange', proisstrict => 'f', prorettype => 'tsrange',
  10168. proargtypes => 'timestamp timestamp', prosrc => 'range_constructor2' },
  10169. { oid => '3934', descr => 'tsrange constructor',
  10170. proname => 'tsrange', proisstrict => 'f', prorettype => 'tsrange',
  10171. proargtypes => 'timestamp timestamp text', prosrc => 'range_constructor3' },
  10172. { oid => '3937', descr => 'tstzrange constructor',
  10173. proname => 'tstzrange', proisstrict => 'f', prorettype => 'tstzrange',
  10174. proargtypes => 'timestamptz timestamptz', prosrc => 'range_constructor2' },
  10175. { oid => '3938', descr => 'tstzrange constructor',
  10176. proname => 'tstzrange', proisstrict => 'f', prorettype => 'tstzrange',
  10177. proargtypes => 'timestamptz timestamptz text',
  10178. prosrc => 'range_constructor3' },
  10179. { oid => '3941', descr => 'daterange constructor',
  10180. proname => 'daterange', proisstrict => 'f', prorettype => 'daterange',
  10181. proargtypes => 'date date', prosrc => 'range_constructor2' },
  10182. { oid => '3942', descr => 'daterange constructor',
  10183. proname => 'daterange', proisstrict => 'f', prorettype => 'daterange',
  10184. proargtypes => 'date date text', prosrc => 'range_constructor3' },
  10185. { oid => '3945', descr => 'int8range constructor',
  10186. proname => 'int8range', proisstrict => 'f', prorettype => 'int8range',
  10187. proargtypes => 'int8 int8', prosrc => 'range_constructor2' },
  10188. { oid => '3946', descr => 'int8range constructor',
  10189. proname => 'int8range', proisstrict => 'f', prorettype => 'int8range',
  10190. proargtypes => 'int8 int8 text', prosrc => 'range_constructor3' },
  10191. # functions for multiranges
  10192. { oid => '4229', descr => 'I/O',
  10193. proname => 'anymultirange_in', provolatile => 's',
  10194. prorettype => 'anymultirange', proargtypes => 'cstring oid int4',
  10195. prosrc => 'anymultirange_in' },
  10196. { oid => '4230', descr => 'I/O',
  10197. proname => 'anymultirange_out', provolatile => 's', prorettype => 'cstring',
  10198. proargtypes => 'anymultirange', prosrc => 'anymultirange_out' },
  10199. { oid => '4231', descr => 'I/O',
  10200. proname => 'multirange_in', provolatile => 's', prorettype => 'anymultirange',
  10201. proargtypes => 'cstring oid int4', prosrc => 'multirange_in' },
  10202. { oid => '4232', descr => 'I/O',
  10203. proname => 'multirange_out', provolatile => 's', prorettype => 'cstring',
  10204. proargtypes => 'anymultirange', prosrc => 'multirange_out' },
  10205. { oid => '4233', descr => 'I/O',
  10206. proname => 'multirange_recv', provolatile => 's',
  10207. prorettype => 'anymultirange', proargtypes => 'internal oid int4',
  10208. prosrc => 'multirange_recv' },
  10209. { oid => '4234', descr => 'I/O',
  10210. proname => 'multirange_send', provolatile => 's', prorettype => 'bytea',
  10211. proargtypes => 'anymultirange', prosrc => 'multirange_send' },
  10212. { oid => '4235', descr => 'lower bound of multirange',
  10213. proname => 'lower', prorettype => 'anyelement',
  10214. proargtypes => 'anymultirange', prosrc => 'multirange_lower' },
  10215. { oid => '4236', descr => 'upper bound of multirange',
  10216. proname => 'upper', prorettype => 'anyelement',
  10217. proargtypes => 'anymultirange', prosrc => 'multirange_upper' },
  10218. { oid => '4237', descr => 'is the multirange empty?',
  10219. proname => 'isempty', prorettype => 'bool', proargtypes => 'anymultirange',
  10220. prosrc => 'multirange_empty' },
  10221. { oid => '4238', descr => 'is the multirange\'s lower bound inclusive?',
  10222. proname => 'lower_inc', prorettype => 'bool', proargtypes => 'anymultirange',
  10223. prosrc => 'multirange_lower_inc' },
  10224. { oid => '4239', descr => 'is the multirange\'s upper bound inclusive?',
  10225. proname => 'upper_inc', prorettype => 'bool', proargtypes => 'anymultirange',
  10226. prosrc => 'multirange_upper_inc' },
  10227. { oid => '4240', descr => 'is the multirange\'s lower bound infinite?',
  10228. proname => 'lower_inf', prorettype => 'bool', proargtypes => 'anymultirange',
  10229. prosrc => 'multirange_lower_inf' },
  10230. { oid => '4241', descr => 'is the multirange\'s upper bound infinite?',
  10231. proname => 'upper_inf', prorettype => 'bool', proargtypes => 'anymultirange',
  10232. prosrc => 'multirange_upper_inf' },
  10233. { oid => '4242', descr => 'multirange typanalyze',
  10234. proname => 'multirange_typanalyze', provolatile => 's', prorettype => 'bool',
  10235. proargtypes => 'internal', prosrc => 'multirange_typanalyze' },
  10236. { oid => '4243', descr => 'restriction selectivity for multirange operators',
  10237. proname => 'multirangesel', provolatile => 's', prorettype => 'float8',
  10238. proargtypes => 'internal oid internal int4', prosrc => 'multirangesel' },
  10239. { oid => '4244',
  10240. proname => 'multirange_eq', prorettype => 'bool',
  10241. proargtypes => 'anymultirange anymultirange', prosrc => 'multirange_eq' },
  10242. { oid => '4245',
  10243. proname => 'multirange_ne', prorettype => 'bool',
  10244. proargtypes => 'anymultirange anymultirange', prosrc => 'multirange_ne' },
  10245. { oid => '4246',
  10246. proname => 'range_overlaps_multirange', prorettype => 'bool',
  10247. proargtypes => 'anyrange anymultirange',
  10248. prosrc => 'range_overlaps_multirange' },
  10249. { oid => '4247',
  10250. proname => 'multirange_overlaps_range', prorettype => 'bool',
  10251. proargtypes => 'anymultirange anyrange',
  10252. prosrc => 'multirange_overlaps_range' },
  10253. { oid => '4248',
  10254. proname => 'multirange_overlaps_multirange', prorettype => 'bool',
  10255. proargtypes => 'anymultirange anymultirange',
  10256. prosrc => 'multirange_overlaps_multirange' },
  10257. { oid => '4249',
  10258. proname => 'multirange_contains_elem', prorettype => 'bool',
  10259. proargtypes => 'anymultirange anyelement',
  10260. prosrc => 'multirange_contains_elem' },
  10261. { oid => '4250',
  10262. proname => 'multirange_contains_range', prorettype => 'bool',
  10263. proargtypes => 'anymultirange anyrange',
  10264. prosrc => 'multirange_contains_range' },
  10265. { oid => '4251',
  10266. proname => 'multirange_contains_multirange', prorettype => 'bool',
  10267. proargtypes => 'anymultirange anymultirange',
  10268. prosrc => 'multirange_contains_multirange' },
  10269. { oid => '4252',
  10270. proname => 'elem_contained_by_multirange', prorettype => 'bool',
  10271. proargtypes => 'anyelement anymultirange',
  10272. prosrc => 'elem_contained_by_multirange' },
  10273. { oid => '4253',
  10274. proname => 'range_contained_by_multirange', prorettype => 'bool',
  10275. proargtypes => 'anyrange anymultirange',
  10276. prosrc => 'range_contained_by_multirange' },
  10277. { oid => '4541',
  10278. proname => 'range_contains_multirange', prorettype => 'bool',
  10279. proargtypes => 'anyrange anymultirange',
  10280. prosrc => 'range_contains_multirange' },
  10281. { oid => '4542',
  10282. proname => 'multirange_contained_by_range', prorettype => 'bool',
  10283. proargtypes => 'anymultirange anyrange',
  10284. prosrc => 'multirange_contained_by_range' },
  10285. { oid => '4254',
  10286. proname => 'multirange_contained_by_multirange', prorettype => 'bool',
  10287. proargtypes => 'anymultirange anymultirange',
  10288. prosrc => 'multirange_contained_by_multirange' },
  10289. { oid => '4255',
  10290. proname => 'range_adjacent_multirange', prorettype => 'bool',
  10291. proargtypes => 'anyrange anymultirange',
  10292. prosrc => 'range_adjacent_multirange' },
  10293. { oid => '4256',
  10294. proname => 'multirange_adjacent_multirange', prorettype => 'bool',
  10295. proargtypes => 'anymultirange anymultirange',
  10296. prosrc => 'multirange_adjacent_multirange' },
  10297. { oid => '4257',
  10298. proname => 'multirange_adjacent_range', prorettype => 'bool',
  10299. proargtypes => 'anymultirange anyrange',
  10300. prosrc => 'multirange_adjacent_range' },
  10301. { oid => '4258',
  10302. proname => 'range_before_multirange', prorettype => 'bool',
  10303. proargtypes => 'anyrange anymultirange',
  10304. prosrc => 'range_before_multirange' },
  10305. { oid => '4259',
  10306. proname => 'multirange_before_range', prorettype => 'bool',
  10307. proargtypes => 'anymultirange anyrange',
  10308. prosrc => 'multirange_before_range' },
  10309. { oid => '4260',
  10310. proname => 'multirange_before_multirange', prorettype => 'bool',
  10311. proargtypes => 'anymultirange anymultirange',
  10312. prosrc => 'multirange_before_multirange' },
  10313. { oid => '4261',
  10314. proname => 'range_after_multirange', prorettype => 'bool',
  10315. proargtypes => 'anyrange anymultirange', prosrc => 'range_after_multirange' },
  10316. { oid => '4262',
  10317. proname => 'multirange_after_range', prorettype => 'bool',
  10318. proargtypes => 'anymultirange anyrange', prosrc => 'multirange_after_range' },
  10319. { oid => '4263',
  10320. proname => 'multirange_after_multirange', prorettype => 'bool',
  10321. proargtypes => 'anymultirange anymultirange',
  10322. prosrc => 'multirange_after_multirange' },
  10323. { oid => '4264',
  10324. proname => 'range_overleft_multirange', prorettype => 'bool',
  10325. proargtypes => 'anyrange anymultirange',
  10326. prosrc => 'range_overleft_multirange' },
  10327. { oid => '4265',
  10328. proname => 'multirange_overleft_range', prorettype => 'bool',
  10329. proargtypes => 'anymultirange anyrange',
  10330. prosrc => 'multirange_overleft_range' },
  10331. { oid => '4266',
  10332. proname => 'multirange_overleft_multirange', prorettype => 'bool',
  10333. proargtypes => 'anymultirange anymultirange',
  10334. prosrc => 'multirange_overleft_multirange' },
  10335. { oid => '4267',
  10336. proname => 'range_overright_multirange', prorettype => 'bool',
  10337. proargtypes => 'anyrange anymultirange',
  10338. prosrc => 'range_overright_multirange' },
  10339. { oid => '4268',
  10340. proname => 'multirange_overright_range', prorettype => 'bool',
  10341. proargtypes => 'anymultirange anyrange',
  10342. prosrc => 'multirange_overright_range' },
  10343. { oid => '4269',
  10344. proname => 'multirange_overright_multirange', prorettype => 'bool',
  10345. proargtypes => 'anymultirange anymultirange',
  10346. prosrc => 'multirange_overright_multirange' },
  10347. { oid => '4270',
  10348. proname => 'multirange_union', prorettype => 'anymultirange',
  10349. proargtypes => 'anymultirange anymultirange', prosrc => 'multirange_union' },
  10350. { oid => '4271',
  10351. proname => 'multirange_minus', prorettype => 'anymultirange',
  10352. proargtypes => 'anymultirange anymultirange', prosrc => 'multirange_minus' },
  10353. { oid => '4272',
  10354. proname => 'multirange_intersect', prorettype => 'anymultirange',
  10355. proargtypes => 'anymultirange anymultirange',
  10356. prosrc => 'multirange_intersect' },
  10357. { oid => '4273', descr => 'less-equal-greater',
  10358. proname => 'multirange_cmp', prorettype => 'int4',
  10359. proargtypes => 'anymultirange anymultirange', prosrc => 'multirange_cmp' },
  10360. { oid => '4274',
  10361. proname => 'multirange_lt', prorettype => 'bool',
  10362. proargtypes => 'anymultirange anymultirange', prosrc => 'multirange_lt' },
  10363. { oid => '4275',
  10364. proname => 'multirange_le', prorettype => 'bool',
  10365. proargtypes => 'anymultirange anymultirange', prosrc => 'multirange_le' },
  10366. { oid => '4276',
  10367. proname => 'multirange_ge', prorettype => 'bool',
  10368. proargtypes => 'anymultirange anymultirange', prosrc => 'multirange_ge' },
  10369. { oid => '4277',
  10370. proname => 'multirange_gt', prorettype => 'bool',
  10371. proargtypes => 'anymultirange anymultirange', prosrc => 'multirange_gt' },
  10372. { oid => '4278', descr => 'hash a multirange',
  10373. proname => 'hash_multirange', prorettype => 'int4',
  10374. proargtypes => 'anymultirange', prosrc => 'hash_multirange' },
  10375. { oid => '4279', descr => 'hash a multirange',
  10376. proname => 'hash_multirange_extended', prorettype => 'int8',
  10377. proargtypes => 'anymultirange int8', prosrc => 'hash_multirange_extended' },
  10378. { oid => '4280', descr => 'int4multirange constructor',
  10379. proname => 'int4multirange', prorettype => 'int4multirange',
  10380. proargtypes => '', prosrc => 'multirange_constructor0' },
  10381. { oid => '4281', descr => 'int4multirange constructor',
  10382. proname => 'int4multirange', prorettype => 'int4multirange',
  10383. proargtypes => 'int4range', prosrc => 'multirange_constructor1' },
  10384. { oid => '4282', descr => 'int4multirange constructor',
  10385. proname => 'int4multirange', provariadic => 'int4range',
  10386. prorettype => 'int4multirange', proargtypes => '_int4range',
  10387. proallargtypes => '{_int4range}', proargmodes => '{v}',
  10388. prosrc => 'multirange_constructor2' },
  10389. { oid => '4283', descr => 'nummultirange constructor',
  10390. proname => 'nummultirange', prorettype => 'nummultirange', proargtypes => '',
  10391. prosrc => 'multirange_constructor0' },
  10392. { oid => '4284', descr => 'nummultirange constructor',
  10393. proname => 'nummultirange', prorettype => 'nummultirange',
  10394. proargtypes => 'numrange', prosrc => 'multirange_constructor1' },
  10395. { oid => '4285', descr => 'nummultirange constructor',
  10396. proname => 'nummultirange', provariadic => 'numrange',
  10397. prorettype => 'nummultirange', proargtypes => '_numrange',
  10398. proallargtypes => '{_numrange}', proargmodes => '{v}',
  10399. prosrc => 'multirange_constructor2' },
  10400. { oid => '4286', descr => 'tsmultirange constructor',
  10401. proname => 'tsmultirange', prorettype => 'tsmultirange', proargtypes => '',
  10402. prosrc => 'multirange_constructor0' },
  10403. { oid => '4287', descr => 'tsmultirange constructor',
  10404. proname => 'tsmultirange', prorettype => 'tsmultirange',
  10405. proargtypes => 'tsrange', prosrc => 'multirange_constructor1' },
  10406. { oid => '4288', descr => 'tsmultirange constructor',
  10407. proname => 'tsmultirange', provariadic => 'tsrange',
  10408. prorettype => 'tsmultirange', proargtypes => '_tsrange',
  10409. proallargtypes => '{_tsrange}', proargmodes => '{v}',
  10410. prosrc => 'multirange_constructor2' },
  10411. { oid => '4289', descr => 'tstzmultirange constructor',
  10412. proname => 'tstzmultirange', prorettype => 'tstzmultirange',
  10413. proargtypes => '', prosrc => 'multirange_constructor0' },
  10414. { oid => '4290', descr => 'tstzmultirange constructor',
  10415. proname => 'tstzmultirange', prorettype => 'tstzmultirange',
  10416. proargtypes => 'tstzrange', prosrc => 'multirange_constructor1' },
  10417. { oid => '4291', descr => 'tstzmultirange constructor',
  10418. proname => 'tstzmultirange', provariadic => 'tstzrange',
  10419. prorettype => 'tstzmultirange', proargtypes => '_tstzrange',
  10420. proallargtypes => '{_tstzrange}', proargmodes => '{v}',
  10421. prosrc => 'multirange_constructor2' },
  10422. { oid => '4292', descr => 'datemultirange constructor',
  10423. proname => 'datemultirange', prorettype => 'datemultirange',
  10424. proargtypes => '', prosrc => 'multirange_constructor0' },
  10425. { oid => '4293', descr => 'datemultirange constructor',
  10426. proname => 'datemultirange', prorettype => 'datemultirange',
  10427. proargtypes => 'daterange', prosrc => 'multirange_constructor1' },
  10428. { oid => '4294', descr => 'datemultirange constructor',
  10429. proname => 'datemultirange', provariadic => 'daterange',
  10430. prorettype => 'datemultirange', proargtypes => '_daterange',
  10431. proallargtypes => '{_daterange}', proargmodes => '{v}',
  10432. prosrc => 'multirange_constructor2' },
  10433. { oid => '4295', descr => 'int8multirange constructor',
  10434. proname => 'int8multirange', prorettype => 'int8multirange',
  10435. proargtypes => '', prosrc => 'multirange_constructor0' },
  10436. { oid => '4296', descr => 'int8multirange constructor',
  10437. proname => 'int8multirange', prorettype => 'int8multirange',
  10438. proargtypes => 'int8range', prosrc => 'multirange_constructor1' },
  10439. { oid => '4297', descr => 'int8multirange constructor',
  10440. proname => 'int8multirange', provariadic => 'int8range',
  10441. prorettype => 'int8multirange', proargtypes => '_int8range',
  10442. proallargtypes => '{_int8range}', proargmodes => '{v}',
  10443. prosrc => 'multirange_constructor2' },
  10444. { oid => '4298', descr => 'anymultirange cast',
  10445. proname => 'multirange', prorettype => 'anymultirange',
  10446. proargtypes => 'anyrange', prosrc => 'multirange_constructor1' },
  10447. { oid => '4299', descr => 'aggregate transition function',
  10448. proname => 'range_agg_transfn', proisstrict => 'f', prorettype => 'internal',
  10449. proargtypes => 'internal anyrange', prosrc => 'range_agg_transfn' },
  10450. { oid => '4300', descr => 'aggregate final function',
  10451. proname => 'range_agg_finalfn', proisstrict => 'f',
  10452. prorettype => 'anymultirange', proargtypes => 'internal anyrange',
  10453. prosrc => 'range_agg_finalfn' },
  10454. { oid => '4301', descr => 'combine aggregate input into a multirange',
  10455. proname => 'range_agg', prokind => 'a', proisstrict => 'f',
  10456. prorettype => 'anymultirange', proargtypes => 'anyrange',
  10457. prosrc => 'aggregate_dummy' },
  10458. { oid => '6225', descr => 'aggregate transition function',
  10459. proname => 'multirange_agg_transfn', proisstrict => 'f',
  10460. prorettype => 'internal', proargtypes => 'internal anymultirange',
  10461. prosrc => 'multirange_agg_transfn' },
  10462. { oid => '6226', descr => 'aggregate final function',
  10463. proname => 'multirange_agg_finalfn', proisstrict => 'f',
  10464. prorettype => 'anymultirange', proargtypes => 'internal anymultirange',
  10465. prosrc => 'range_agg_finalfn' },
  10466. { oid => '6227', descr => 'combine aggregate input into a multirange',
  10467. proname => 'range_agg', prokind => 'a', proisstrict => 'f',
  10468. prorettype => 'anymultirange', proargtypes => 'anymultirange',
  10469. prosrc => 'aggregate_dummy' },
  10470. { oid => '4388', descr => 'range aggregate by intersecting',
  10471. proname => 'multirange_intersect_agg_transfn', prorettype => 'anymultirange',
  10472. proargtypes => 'anymultirange anymultirange',
  10473. prosrc => 'multirange_intersect_agg_transfn' },
  10474. { oid => '4389', descr => 'range aggregate by intersecting',
  10475. proname => 'range_intersect_agg', prokind => 'a', proisstrict => 'f',
  10476. prorettype => 'anymultirange', proargtypes => 'anymultirange',
  10477. prosrc => 'aggregate_dummy' },
  10478. { oid => '1293', descr => 'expand multirange to set of ranges',
  10479. proname => 'unnest', prorows => '100', proretset => 't',
  10480. prorettype => 'anyrange', proargtypes => 'anymultirange',
  10481. prosrc => 'multirange_unnest' },
  10482. # date, time, timestamp constructors
  10483. { oid => '3846', descr => 'construct date',
  10484. proname => 'make_date', prorettype => 'date', proargtypes => 'int4 int4 int4',
  10485. proargnames => '{year,month,day}', prosrc => 'make_date' },
  10486. { oid => '3847', descr => 'construct time',
  10487. proname => 'make_time', prorettype => 'time',
  10488. proargtypes => 'int4 int4 float8', proargnames => '{hour,min,sec}',
  10489. prosrc => 'make_time' },
  10490. { oid => '3461', descr => 'construct timestamp',
  10491. proname => 'make_timestamp', prorettype => 'timestamp',
  10492. proargtypes => 'int4 int4 int4 int4 int4 float8',
  10493. proargnames => '{year,month,mday,hour,min,sec}', prosrc => 'make_timestamp' },
  10494. { oid => '3462', descr => 'construct timestamp with time zone',
  10495. proname => 'make_timestamptz', provolatile => 's',
  10496. prorettype => 'timestamptz', proargtypes => 'int4 int4 int4 int4 int4 float8',
  10497. proargnames => '{year,month,mday,hour,min,sec}',
  10498. prosrc => 'make_timestamptz' },
  10499. { oid => '3463', descr => 'construct timestamp with time zone',
  10500. proname => 'make_timestamptz', provolatile => 's',
  10501. prorettype => 'timestamptz',
  10502. proargtypes => 'int4 int4 int4 int4 int4 float8 text',
  10503. proargnames => '{year,month,mday,hour,min,sec,timezone}',
  10504. prosrc => 'make_timestamptz_at_timezone' },
  10505. { oid => '3464', descr => 'construct interval',
  10506. proname => 'make_interval', prorettype => 'interval',
  10507. proargtypes => 'int4 int4 int4 int4 int4 int4 float8',
  10508. proargnames => '{years,months,weeks,days,hours,mins,secs}',
  10509. prosrc => 'make_interval' },
  10510. # spgist opclasses
  10511. { oid => '4018', descr => 'SP-GiST support for quad tree over point',
  10512. proname => 'spg_quad_config', prorettype => 'void',
  10513. proargtypes => 'internal internal', prosrc => 'spg_quad_config' },
  10514. { oid => '4019', descr => 'SP-GiST support for quad tree over point',
  10515. proname => 'spg_quad_choose', prorettype => 'void',
  10516. proargtypes => 'internal internal', prosrc => 'spg_quad_choose' },
  10517. { oid => '4020', descr => 'SP-GiST support for quad tree over point',
  10518. proname => 'spg_quad_picksplit', prorettype => 'void',
  10519. proargtypes => 'internal internal', prosrc => 'spg_quad_picksplit' },
  10520. { oid => '4021', descr => 'SP-GiST support for quad tree over point',
  10521. proname => 'spg_quad_inner_consistent', prorettype => 'void',
  10522. proargtypes => 'internal internal', prosrc => 'spg_quad_inner_consistent' },
  10523. { oid => '4022',
  10524. descr => 'SP-GiST support for quad tree and k-d tree over point',
  10525. proname => 'spg_quad_leaf_consistent', prorettype => 'bool',
  10526. proargtypes => 'internal internal', prosrc => 'spg_quad_leaf_consistent' },
  10527. { oid => '4023', descr => 'SP-GiST support for k-d tree over point',
  10528. proname => 'spg_kd_config', prorettype => 'void',
  10529. proargtypes => 'internal internal', prosrc => 'spg_kd_config' },
  10530. { oid => '4024', descr => 'SP-GiST support for k-d tree over point',
  10531. proname => 'spg_kd_choose', prorettype => 'void',
  10532. proargtypes => 'internal internal', prosrc => 'spg_kd_choose' },
  10533. { oid => '4025', descr => 'SP-GiST support for k-d tree over point',
  10534. proname => 'spg_kd_picksplit', prorettype => 'void',
  10535. proargtypes => 'internal internal', prosrc => 'spg_kd_picksplit' },
  10536. { oid => '4026', descr => 'SP-GiST support for k-d tree over point',
  10537. proname => 'spg_kd_inner_consistent', prorettype => 'void',
  10538. proargtypes => 'internal internal', prosrc => 'spg_kd_inner_consistent' },
  10539. { oid => '4027', descr => 'SP-GiST support for radix tree over text',
  10540. proname => 'spg_text_config', prorettype => 'void',
  10541. proargtypes => 'internal internal', prosrc => 'spg_text_config' },
  10542. { oid => '4028', descr => 'SP-GiST support for radix tree over text',
  10543. proname => 'spg_text_choose', prorettype => 'void',
  10544. proargtypes => 'internal internal', prosrc => 'spg_text_choose' },
  10545. { oid => '4029', descr => 'SP-GiST support for radix tree over text',
  10546. proname => 'spg_text_picksplit', prorettype => 'void',
  10547. proargtypes => 'internal internal', prosrc => 'spg_text_picksplit' },
  10548. { oid => '4030', descr => 'SP-GiST support for radix tree over text',
  10549. proname => 'spg_text_inner_consistent', prorettype => 'void',
  10550. proargtypes => 'internal internal', prosrc => 'spg_text_inner_consistent' },
  10551. { oid => '4031', descr => 'SP-GiST support for radix tree over text',
  10552. proname => 'spg_text_leaf_consistent', prorettype => 'bool',
  10553. proargtypes => 'internal internal', prosrc => 'spg_text_leaf_consistent' },
  10554. { oid => '3469', descr => 'SP-GiST support for quad tree over range',
  10555. proname => 'spg_range_quad_config', prorettype => 'void',
  10556. proargtypes => 'internal internal', prosrc => 'spg_range_quad_config' },
  10557. { oid => '3470', descr => 'SP-GiST support for quad tree over range',
  10558. proname => 'spg_range_quad_choose', prorettype => 'void',
  10559. proargtypes => 'internal internal', prosrc => 'spg_range_quad_choose' },
  10560. { oid => '3471', descr => 'SP-GiST support for quad tree over range',
  10561. proname => 'spg_range_quad_picksplit', prorettype => 'void',
  10562. proargtypes => 'internal internal', prosrc => 'spg_range_quad_picksplit' },
  10563. { oid => '3472', descr => 'SP-GiST support for quad tree over range',
  10564. proname => 'spg_range_quad_inner_consistent', prorettype => 'void',
  10565. proargtypes => 'internal internal',
  10566. prosrc => 'spg_range_quad_inner_consistent' },
  10567. { oid => '3473', descr => 'SP-GiST support for quad tree over range',
  10568. proname => 'spg_range_quad_leaf_consistent', prorettype => 'bool',
  10569. proargtypes => 'internal internal',
  10570. prosrc => 'spg_range_quad_leaf_consistent' },
  10571. { oid => '5012', descr => 'SP-GiST support for quad tree over box',
  10572. proname => 'spg_box_quad_config', prorettype => 'void',
  10573. proargtypes => 'internal internal', prosrc => 'spg_box_quad_config' },
  10574. { oid => '5013', descr => 'SP-GiST support for quad tree over box',
  10575. proname => 'spg_box_quad_choose', prorettype => 'void',
  10576. proargtypes => 'internal internal', prosrc => 'spg_box_quad_choose' },
  10577. { oid => '5014', descr => 'SP-GiST support for quad tree over box',
  10578. proname => 'spg_box_quad_picksplit', prorettype => 'void',
  10579. proargtypes => 'internal internal', prosrc => 'spg_box_quad_picksplit' },
  10580. { oid => '5015', descr => 'SP-GiST support for quad tree over box',
  10581. proname => 'spg_box_quad_inner_consistent', prorettype => 'void',
  10582. proargtypes => 'internal internal',
  10583. prosrc => 'spg_box_quad_inner_consistent' },
  10584. { oid => '5016', descr => 'SP-GiST support for quad tree over box',
  10585. proname => 'spg_box_quad_leaf_consistent', prorettype => 'bool',
  10586. proargtypes => 'internal internal',
  10587. prosrc => 'spg_box_quad_leaf_consistent' },
  10588. { oid => '5010',
  10589. descr => 'SP-GiST support for quad tree over 2-D types represented by their bounding boxes',
  10590. proname => 'spg_bbox_quad_config', prorettype => 'void',
  10591. proargtypes => 'internal internal', prosrc => 'spg_bbox_quad_config' },
  10592. { oid => '5011', descr => 'SP-GiST support for quad tree over polygons',
  10593. proname => 'spg_poly_quad_compress', prorettype => 'box',
  10594. proargtypes => 'polygon', prosrc => 'spg_poly_quad_compress' },
  10595. # replication slots
  10596. { oid => '3779', descr => 'create a physical replication slot',
  10597. proname => 'pg_create_physical_replication_slot', provolatile => 'v',
  10598. proparallel => 'u', prorettype => 'record', proargtypes => 'name bool bool',
  10599. proallargtypes => '{name,bool,bool,name,pg_lsn}',
  10600. proargmodes => '{i,i,i,o,o}',
  10601. proargnames => '{slot_name,immediately_reserve,temporary,slot_name,lsn}',
  10602. prosrc => 'pg_create_physical_replication_slot' },
  10603. { oid => '4220',
  10604. descr => 'copy a physical replication slot, changing temporality',
  10605. proname => 'pg_copy_physical_replication_slot', provolatile => 'v',
  10606. proparallel => 'u', prorettype => 'record', proargtypes => 'name name bool',
  10607. proallargtypes => '{name,name,bool,name,pg_lsn}',
  10608. proargmodes => '{i,i,i,o,o}',
  10609. proargnames => '{src_slot_name,dst_slot_name,temporary,slot_name,lsn}',
  10610. prosrc => 'pg_copy_physical_replication_slot_a' },
  10611. { oid => '4221', descr => 'copy a physical replication slot',
  10612. proname => 'pg_copy_physical_replication_slot', provolatile => 'v',
  10613. proparallel => 'u', prorettype => 'record', proargtypes => 'name name',
  10614. proallargtypes => '{name,name,name,pg_lsn}', proargmodes => '{i,i,o,o}',
  10615. proargnames => '{src_slot_name,dst_slot_name,slot_name,lsn}',
  10616. prosrc => 'pg_copy_physical_replication_slot_b' },
  10617. { oid => '3780', descr => 'drop a replication slot',
  10618. proname => 'pg_drop_replication_slot', provolatile => 'v', proparallel => 'u',
  10619. prorettype => 'void', proargtypes => 'name',
  10620. prosrc => 'pg_drop_replication_slot' },
  10621. { oid => '3781',
  10622. descr => 'information about replication slots currently in use',
  10623. proname => 'pg_get_replication_slots', prorows => '10', proisstrict => 'f',
  10624. proretset => 't', provolatile => 's', prorettype => 'record',
  10625. proargtypes => '',
  10626. proallargtypes => '{name,name,text,oid,bool,bool,int4,xid,xid,pg_lsn,pg_lsn,text,int8,bool,bool}',
  10627. proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o,o,o,o}',
  10628. proargnames => '{slot_name,plugin,slot_type,datoid,temporary,active,active_pid,xmin,catalog_xmin,restart_lsn,confirmed_flush_lsn,wal_status,safe_wal_size,two_phase,conflicting}',
  10629. prosrc => 'pg_get_replication_slots' },
  10630. { oid => '3786', descr => 'set up a logical replication slot',
  10631. proname => 'pg_create_logical_replication_slot', provolatile => 'v',
  10632. proparallel => 'u', prorettype => 'record',
  10633. proargtypes => 'name name bool bool',
  10634. proallargtypes => '{name,name,bool,bool,name,pg_lsn}',
  10635. proargmodes => '{i,i,i,i,o,o}',
  10636. proargnames => '{slot_name,plugin,temporary,twophase,slot_name,lsn}',
  10637. prosrc => 'pg_create_logical_replication_slot' },
  10638. { oid => '4222',
  10639. descr => 'copy a logical replication slot, changing temporality and plugin',
  10640. proname => 'pg_copy_logical_replication_slot', provolatile => 'v',
  10641. proparallel => 'u', prorettype => 'record',
  10642. proargtypes => 'name name bool name',
  10643. proallargtypes => '{name,name,bool,name,name,pg_lsn}',
  10644. proargmodes => '{i,i,i,i,o,o}',
  10645. proargnames => '{src_slot_name,dst_slot_name,temporary,plugin,slot_name,lsn}',
  10646. prosrc => 'pg_copy_logical_replication_slot_a' },
  10647. { oid => '4223',
  10648. descr => 'copy a logical replication slot, changing temporality',
  10649. proname => 'pg_copy_logical_replication_slot', provolatile => 'v',
  10650. proparallel => 'u', prorettype => 'record', proargtypes => 'name name bool',
  10651. proallargtypes => '{name,name,bool,name,pg_lsn}',
  10652. proargmodes => '{i,i,i,o,o}',
  10653. proargnames => '{src_slot_name,dst_slot_name,temporary,slot_name,lsn}',
  10654. prosrc => 'pg_copy_logical_replication_slot_b' },
  10655. { oid => '4224', descr => 'copy a logical replication slot',
  10656. proname => 'pg_copy_logical_replication_slot', provolatile => 'v',
  10657. proparallel => 'u', prorettype => 'record', proargtypes => 'name name',
  10658. proallargtypes => '{name,name,name,pg_lsn}', proargmodes => '{i,i,o,o}',
  10659. proargnames => '{src_slot_name,dst_slot_name,slot_name,lsn}',
  10660. prosrc => 'pg_copy_logical_replication_slot_c' },
  10661. { oid => '3782', descr => 'get changes from replication slot',
  10662. proname => 'pg_logical_slot_get_changes', procost => '1000',
  10663. prorows => '1000', provariadic => 'text', proisstrict => 'f',
  10664. proretset => 't', provolatile => 'v', proparallel => 'u',
  10665. prorettype => 'record', proargtypes => 'name pg_lsn int4 _text',
  10666. proallargtypes => '{name,pg_lsn,int4,_text,pg_lsn,xid,text}',
  10667. proargmodes => '{i,i,i,v,o,o,o}',
  10668. proargnames => '{slot_name,upto_lsn,upto_nchanges,options,lsn,xid,data}',
  10669. prosrc => 'pg_logical_slot_get_changes' },
  10670. { oid => '3783', descr => 'get binary changes from replication slot',
  10671. proname => 'pg_logical_slot_get_binary_changes', procost => '1000',
  10672. prorows => '1000', provariadic => 'text', proisstrict => 'f',
  10673. proretset => 't', provolatile => 'v', proparallel => 'u',
  10674. prorettype => 'record', proargtypes => 'name pg_lsn int4 _text',
  10675. proallargtypes => '{name,pg_lsn,int4,_text,pg_lsn,xid,bytea}',
  10676. proargmodes => '{i,i,i,v,o,o,o}',
  10677. proargnames => '{slot_name,upto_lsn,upto_nchanges,options,lsn,xid,data}',
  10678. prosrc => 'pg_logical_slot_get_binary_changes' },
  10679. { oid => '3784', descr => 'peek at changes from replication slot',
  10680. proname => 'pg_logical_slot_peek_changes', procost => '1000',
  10681. prorows => '1000', provariadic => 'text', proisstrict => 'f',
  10682. proretset => 't', provolatile => 'v', proparallel => 'u',
  10683. prorettype => 'record', proargtypes => 'name pg_lsn int4 _text',
  10684. proallargtypes => '{name,pg_lsn,int4,_text,pg_lsn,xid,text}',
  10685. proargmodes => '{i,i,i,v,o,o,o}',
  10686. proargnames => '{slot_name,upto_lsn,upto_nchanges,options,lsn,xid,data}',
  10687. prosrc => 'pg_logical_slot_peek_changes' },
  10688. { oid => '3785', descr => 'peek at binary changes from replication slot',
  10689. proname => 'pg_logical_slot_peek_binary_changes', procost => '1000',
  10690. prorows => '1000', provariadic => 'text', proisstrict => 'f',
  10691. proretset => 't', provolatile => 'v', proparallel => 'u',
  10692. prorettype => 'record', proargtypes => 'name pg_lsn int4 _text',
  10693. proallargtypes => '{name,pg_lsn,int4,_text,pg_lsn,xid,bytea}',
  10694. proargmodes => '{i,i,i,v,o,o,o}',
  10695. proargnames => '{slot_name,upto_lsn,upto_nchanges,options,lsn,xid,data}',
  10696. prosrc => 'pg_logical_slot_peek_binary_changes' },
  10697. { oid => '3878', descr => 'advance logical replication slot',
  10698. proname => 'pg_replication_slot_advance', provolatile => 'v',
  10699. proparallel => 'u', prorettype => 'record', proargtypes => 'name pg_lsn',
  10700. proallargtypes => '{name,pg_lsn,name,pg_lsn}', proargmodes => '{i,i,o,o}',
  10701. proargnames => '{slot_name,upto_lsn,slot_name,end_lsn}',
  10702. prosrc => 'pg_replication_slot_advance' },
  10703. { oid => '3577', descr => 'emit a textual logical decoding message',
  10704. proname => 'pg_logical_emit_message', provolatile => 'v', proparallel => 'u',
  10705. prorettype => 'pg_lsn', proargtypes => 'bool text text',
  10706. prosrc => 'pg_logical_emit_message_text' },
  10707. { oid => '3578', descr => 'emit a binary logical decoding message',
  10708. proname => 'pg_logical_emit_message', provolatile => 'v', proparallel => 'u',
  10709. prorettype => 'pg_lsn', proargtypes => 'bool text bytea',
  10710. prosrc => 'pg_logical_emit_message_bytea' },
  10711. # event triggers
  10712. { oid => '3566', descr => 'list objects dropped by the current command',
  10713. proname => 'pg_event_trigger_dropped_objects', procost => '10',
  10714. prorows => '100', proretset => 't', provolatile => 's', proparallel => 'r',
  10715. prorettype => 'record', proargtypes => '',
  10716. proallargtypes => '{oid,oid,int4,bool,bool,bool,text,text,text,text,_text,_text}',
  10717. proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o}',
  10718. proargnames => '{classid, objid, objsubid, original, normal, is_temporary, object_type, schema_name, object_name, object_identity, address_names, address_args}',
  10719. prosrc => 'pg_event_trigger_dropped_objects' },
  10720. { oid => '4566', descr => 'return Oid of the table getting rewritten',
  10721. proname => 'pg_event_trigger_table_rewrite_oid', provolatile => 's',
  10722. proparallel => 'r', prorettype => 'oid', proargtypes => '',
  10723. proallargtypes => '{oid}', proargmodes => '{o}', proargnames => '{oid}',
  10724. prosrc => 'pg_event_trigger_table_rewrite_oid' },
  10725. { oid => '4567', descr => 'return reason code for table getting rewritten',
  10726. proname => 'pg_event_trigger_table_rewrite_reason', provolatile => 's',
  10727. proparallel => 'r', prorettype => 'int4', proargtypes => '',
  10728. prosrc => 'pg_event_trigger_table_rewrite_reason' },
  10729. { oid => '4568',
  10730. descr => 'list DDL actions being executed by the current command',
  10731. proname => 'pg_event_trigger_ddl_commands', procost => '10', prorows => '100',
  10732. proretset => 't', provolatile => 's', proparallel => 'r',
  10733. prorettype => 'record', proargtypes => '',
  10734. proallargtypes => '{oid,oid,int4,text,text,text,text,bool,pg_ddl_command}',
  10735. proargmodes => '{o,o,o,o,o,o,o,o,o}',
  10736. proargnames => '{classid, objid, objsubid, command_tag, object_type, schema_name, object_identity, in_extension, command}',
  10737. prosrc => 'pg_event_trigger_ddl_commands' },
  10738. # generic transition functions for ordered-set aggregates
  10739. { oid => '3970', descr => 'aggregate transition function',
  10740. proname => 'ordered_set_transition', proisstrict => 'f',
  10741. prorettype => 'internal', proargtypes => 'internal any',
  10742. prosrc => 'ordered_set_transition' },
  10743. { oid => '3971', descr => 'aggregate transition function',
  10744. proname => 'ordered_set_transition_multi', provariadic => 'any',
  10745. proisstrict => 'f', prorettype => 'internal', proargtypes => 'internal any',
  10746. proallargtypes => '{internal,any}', proargmodes => '{i,v}',
  10747. prosrc => 'ordered_set_transition_multi' },
  10748. # inverse distribution aggregates (and their support functions)
  10749. { oid => '3972', descr => 'discrete percentile',
  10750. proname => 'percentile_disc', prokind => 'a', proisstrict => 'f',
  10751. prorettype => 'anyelement', proargtypes => 'float8 anyelement',
  10752. prosrc => 'aggregate_dummy' },
  10753. { oid => '3973', descr => 'aggregate final function',
  10754. proname => 'percentile_disc_final', proisstrict => 'f',
  10755. prorettype => 'anyelement', proargtypes => 'internal float8 anyelement',
  10756. prosrc => 'percentile_disc_final' },
  10757. { oid => '3974', descr => 'continuous distribution percentile',
  10758. proname => 'percentile_cont', prokind => 'a', proisstrict => 'f',
  10759. prorettype => 'float8', proargtypes => 'float8 float8',
  10760. prosrc => 'aggregate_dummy' },
  10761. { oid => '3975', descr => 'aggregate final function',
  10762. proname => 'percentile_cont_float8_final', proisstrict => 'f',
  10763. prorettype => 'float8', proargtypes => 'internal float8',
  10764. prosrc => 'percentile_cont_float8_final' },
  10765. { oid => '3976', descr => 'continuous distribution percentile',
  10766. proname => 'percentile_cont', prokind => 'a', proisstrict => 'f',
  10767. prorettype => 'interval', proargtypes => 'float8 interval',
  10768. prosrc => 'aggregate_dummy' },
  10769. { oid => '3977', descr => 'aggregate final function',
  10770. proname => 'percentile_cont_interval_final', proisstrict => 'f',
  10771. prorettype => 'interval', proargtypes => 'internal float8',
  10772. prosrc => 'percentile_cont_interval_final' },
  10773. { oid => '3978', descr => 'multiple discrete percentiles',
  10774. proname => 'percentile_disc', prokind => 'a', proisstrict => 'f',
  10775. prorettype => 'anyarray', proargtypes => '_float8 anyelement',
  10776. prosrc => 'aggregate_dummy' },
  10777. { oid => '3979', descr => 'aggregate final function',
  10778. proname => 'percentile_disc_multi_final', proisstrict => 'f',
  10779. prorettype => 'anyarray', proargtypes => 'internal _float8 anyelement',
  10780. prosrc => 'percentile_disc_multi_final' },
  10781. { oid => '3980', descr => 'multiple continuous percentiles',
  10782. proname => 'percentile_cont', prokind => 'a', proisstrict => 'f',
  10783. prorettype => '_float8', proargtypes => '_float8 float8',
  10784. prosrc => 'aggregate_dummy' },
  10785. { oid => '3981', descr => 'aggregate final function',
  10786. proname => 'percentile_cont_float8_multi_final', proisstrict => 'f',
  10787. prorettype => '_float8', proargtypes => 'internal _float8',
  10788. prosrc => 'percentile_cont_float8_multi_final' },
  10789. { oid => '3982', descr => 'multiple continuous percentiles',
  10790. proname => 'percentile_cont', prokind => 'a', proisstrict => 'f',
  10791. prorettype => '_interval', proargtypes => '_float8 interval',
  10792. prosrc => 'aggregate_dummy' },
  10793. { oid => '3983', descr => 'aggregate final function',
  10794. proname => 'percentile_cont_interval_multi_final', proisstrict => 'f',
  10795. prorettype => '_interval', proargtypes => 'internal _float8',
  10796. prosrc => 'percentile_cont_interval_multi_final' },
  10797. { oid => '3984', descr => 'most common value',
  10798. proname => 'mode', prokind => 'a', proisstrict => 'f',
  10799. prorettype => 'anyelement', proargtypes => 'anyelement',
  10800. prosrc => 'aggregate_dummy' },
  10801. { oid => '3985', descr => 'aggregate final function',
  10802. proname => 'mode_final', proisstrict => 'f', prorettype => 'anyelement',
  10803. proargtypes => 'internal anyelement', prosrc => 'mode_final' },
  10804. # hypothetical-set aggregates (and their support functions)
  10805. { oid => '3986', descr => 'rank of hypothetical row',
  10806. proname => 'rank', provariadic => 'any', prokind => 'a', proisstrict => 'f',
  10807. prorettype => 'int8', proargtypes => 'any', proallargtypes => '{any}',
  10808. proargmodes => '{v}', prosrc => 'aggregate_dummy' },
  10809. { oid => '3987', descr => 'aggregate final function',
  10810. proname => 'rank_final', provariadic => 'any', proisstrict => 'f',
  10811. prorettype => 'int8', proargtypes => 'internal any',
  10812. proallargtypes => '{internal,any}', proargmodes => '{i,v}',
  10813. prosrc => 'hypothetical_rank_final' },
  10814. { oid => '3988', descr => 'fractional rank of hypothetical row',
  10815. proname => 'percent_rank', provariadic => 'any', prokind => 'a',
  10816. proisstrict => 'f', prorettype => 'float8', proargtypes => 'any',
  10817. proallargtypes => '{any}', proargmodes => '{v}',
  10818. prosrc => 'aggregate_dummy' },
  10819. { oid => '3989', descr => 'aggregate final function',
  10820. proname => 'percent_rank_final', provariadic => 'any', proisstrict => 'f',
  10821. prorettype => 'float8', proargtypes => 'internal any',
  10822. proallargtypes => '{internal,any}', proargmodes => '{i,v}',
  10823. prosrc => 'hypothetical_percent_rank_final' },
  10824. { oid => '3990', descr => 'cumulative distribution of hypothetical row',
  10825. proname => 'cume_dist', provariadic => 'any', prokind => 'a',
  10826. proisstrict => 'f', prorettype => 'float8', proargtypes => 'any',
  10827. proallargtypes => '{any}', proargmodes => '{v}',
  10828. prosrc => 'aggregate_dummy' },
  10829. { oid => '3991', descr => 'aggregate final function',
  10830. proname => 'cume_dist_final', provariadic => 'any', proisstrict => 'f',
  10831. prorettype => 'float8', proargtypes => 'internal any',
  10832. proallargtypes => '{internal,any}', proargmodes => '{i,v}',
  10833. prosrc => 'hypothetical_cume_dist_final' },
  10834. { oid => '3992', descr => 'rank of hypothetical row without gaps',
  10835. proname => 'dense_rank', provariadic => 'any', prokind => 'a',
  10836. proisstrict => 'f', prorettype => 'int8', proargtypes => 'any',
  10837. proallargtypes => '{any}', proargmodes => '{v}',
  10838. prosrc => 'aggregate_dummy' },
  10839. { oid => '3993', descr => 'aggregate final function',
  10840. proname => 'dense_rank_final', provariadic => 'any', proisstrict => 'f',
  10841. prorettype => 'int8', proargtypes => 'internal any',
  10842. proallargtypes => '{internal,any}', proargmodes => '{i,v}',
  10843. prosrc => 'hypothetical_dense_rank_final' },
  10844. # pg_upgrade support
  10845. { oid => '3582', descr => 'for use by pg_upgrade',
  10846. proname => 'binary_upgrade_set_next_pg_type_oid', provolatile => 'v',
  10847. proparallel => 'r', prorettype => 'void', proargtypes => 'oid',
  10848. prosrc => 'binary_upgrade_set_next_pg_type_oid' },
  10849. { oid => '3584', descr => 'for use by pg_upgrade',
  10850. proname => 'binary_upgrade_set_next_array_pg_type_oid', provolatile => 'v',
  10851. proparallel => 'r', prorettype => 'void', proargtypes => 'oid',
  10852. prosrc => 'binary_upgrade_set_next_array_pg_type_oid' },
  10853. { oid => '4390', descr => 'for use by pg_upgrade',
  10854. proname => 'binary_upgrade_set_next_multirange_pg_type_oid',
  10855. provolatile => 'v', proparallel => 'r', prorettype => 'void',
  10856. proargtypes => 'oid',
  10857. prosrc => 'binary_upgrade_set_next_multirange_pg_type_oid' },
  10858. { oid => '4391', descr => 'for use by pg_upgrade',
  10859. proname => 'binary_upgrade_set_next_multirange_array_pg_type_oid',
  10860. provolatile => 'v', proparallel => 'r', prorettype => 'void',
  10861. proargtypes => 'oid',
  10862. prosrc => 'binary_upgrade_set_next_multirange_array_pg_type_oid' },
  10863. { oid => '3586', descr => 'for use by pg_upgrade',
  10864. proname => 'binary_upgrade_set_next_heap_pg_class_oid', provolatile => 'v',
  10865. proparallel => 'r', prorettype => 'void', proargtypes => 'oid',
  10866. prosrc => 'binary_upgrade_set_next_heap_pg_class_oid' },
  10867. { oid => '3587', descr => 'for use by pg_upgrade',
  10868. proname => 'binary_upgrade_set_next_index_pg_class_oid', provolatile => 'v',
  10869. proparallel => 'r', prorettype => 'void', proargtypes => 'oid',
  10870. prosrc => 'binary_upgrade_set_next_index_pg_class_oid' },
  10871. { oid => '3588', descr => 'for use by pg_upgrade',
  10872. proname => 'binary_upgrade_set_next_toast_pg_class_oid', provolatile => 'v',
  10873. proparallel => 'r', prorettype => 'void', proargtypes => 'oid',
  10874. prosrc => 'binary_upgrade_set_next_toast_pg_class_oid' },
  10875. { oid => '3589', descr => 'for use by pg_upgrade',
  10876. proname => 'binary_upgrade_set_next_pg_enum_oid', provolatile => 'v',
  10877. proparallel => 'r', prorettype => 'void', proargtypes => 'oid',
  10878. prosrc => 'binary_upgrade_set_next_pg_enum_oid' },
  10879. { oid => '3590', descr => 'for use by pg_upgrade',
  10880. proname => 'binary_upgrade_set_next_pg_authid_oid', provolatile => 'v',
  10881. proparallel => 'r', prorettype => 'void', proargtypes => 'oid',
  10882. prosrc => 'binary_upgrade_set_next_pg_authid_oid' },
  10883. { oid => '3591', descr => 'for use by pg_upgrade',
  10884. proname => 'binary_upgrade_create_empty_extension', proisstrict => 'f',
  10885. provolatile => 'v', proparallel => 'u', prorettype => 'void',
  10886. proargtypes => 'text text bool text _oid _text _text',
  10887. prosrc => 'binary_upgrade_create_empty_extension' },
  10888. { oid => '4083', descr => 'for use by pg_upgrade',
  10889. proname => 'binary_upgrade_set_record_init_privs', provolatile => 'v',
  10890. proparallel => 'r', prorettype => 'void', proargtypes => 'bool',
  10891. prosrc => 'binary_upgrade_set_record_init_privs' },
  10892. { oid => '4101', descr => 'for use by pg_upgrade',
  10893. proname => 'binary_upgrade_set_missing_value', provolatile => 'v',
  10894. proparallel => 'u', prorettype => 'void', proargtypes => 'oid text text',
  10895. prosrc => 'binary_upgrade_set_missing_value' },
  10896. { oid => '4545', descr => 'for use by pg_upgrade',
  10897. proname => 'binary_upgrade_set_next_heap_relfilenode', provolatile => 'v',
  10898. proparallel => 'u', prorettype => 'void', proargtypes => 'oid',
  10899. prosrc => 'binary_upgrade_set_next_heap_relfilenode' },
  10900. { oid => '4546', descr => 'for use by pg_upgrade',
  10901. proname => 'binary_upgrade_set_next_index_relfilenode', provolatile => 'v',
  10902. proparallel => 'u', prorettype => 'void', proargtypes => 'oid',
  10903. prosrc => 'binary_upgrade_set_next_index_relfilenode' },
  10904. { oid => '4547', descr => 'for use by pg_upgrade',
  10905. proname => 'binary_upgrade_set_next_toast_relfilenode', provolatile => 'v',
  10906. proparallel => 'u', prorettype => 'void', proargtypes => 'oid',
  10907. prosrc => 'binary_upgrade_set_next_toast_relfilenode' },
  10908. { oid => '4548', descr => 'for use by pg_upgrade',
  10909. proname => 'binary_upgrade_set_next_pg_tablespace_oid', provolatile => 'v',
  10910. proparallel => 'u', prorettype => 'void', proargtypes => 'oid',
  10911. prosrc => 'binary_upgrade_set_next_pg_tablespace_oid' },
  10912. # conversion functions
  10913. { oid => '4302',
  10914. descr => 'internal conversion function for KOI8R to MULE_INTERNAL',
  10915. proname => 'koi8r_to_mic', prolang => 'c', prorettype => 'int4',
  10916. proargtypes => 'int4 int4 cstring internal int4 bool',
  10917. prosrc => 'koi8r_to_mic', probin => '$libdir/cyrillic_and_mic' },
  10918. { oid => '4303',
  10919. descr => 'internal conversion function for MULE_INTERNAL to KOI8R',
  10920. proname => 'mic_to_koi8r', prolang => 'c', prorettype => 'int4',
  10921. proargtypes => 'int4 int4 cstring internal int4 bool',
  10922. prosrc => 'mic_to_koi8r', probin => '$libdir/cyrillic_and_mic' },
  10923. { oid => '4304',
  10924. descr => 'internal conversion function for ISO-8859-5 to MULE_INTERNAL',
  10925. proname => 'iso_to_mic', prolang => 'c', prorettype => 'int4',
  10926. proargtypes => 'int4 int4 cstring internal int4 bool', prosrc => 'iso_to_mic',
  10927. probin => '$libdir/cyrillic_and_mic' },
  10928. { oid => '4305',
  10929. descr => 'internal conversion function for MULE_INTERNAL to ISO-8859-5',
  10930. proname => 'mic_to_iso', prolang => 'c', prorettype => 'int4',
  10931. proargtypes => 'int4 int4 cstring internal int4 bool', prosrc => 'mic_to_iso',
  10932. probin => '$libdir/cyrillic_and_mic' },
  10933. { oid => '4306',
  10934. descr => 'internal conversion function for WIN1251 to MULE_INTERNAL',
  10935. proname => 'win1251_to_mic', prolang => 'c', prorettype => 'int4',
  10936. proargtypes => 'int4 int4 cstring internal int4 bool',
  10937. prosrc => 'win1251_to_mic', probin => '$libdir/cyrillic_and_mic' },
  10938. { oid => '4307',
  10939. descr => 'internal conversion function for MULE_INTERNAL to WIN1251',
  10940. proname => 'mic_to_win1251', prolang => 'c', prorettype => 'int4',
  10941. proargtypes => 'int4 int4 cstring internal int4 bool',
  10942. prosrc => 'mic_to_win1251', probin => '$libdir/cyrillic_and_mic' },
  10943. { oid => '4308',
  10944. descr => 'internal conversion function for WIN866 to MULE_INTERNAL',
  10945. proname => 'win866_to_mic', prolang => 'c', prorettype => 'int4',
  10946. proargtypes => 'int4 int4 cstring internal int4 bool',
  10947. prosrc => 'win866_to_mic', probin => '$libdir/cyrillic_and_mic' },
  10948. { oid => '4309',
  10949. descr => 'internal conversion function for MULE_INTERNAL to WIN866',
  10950. proname => 'mic_to_win866', prolang => 'c', prorettype => 'int4',
  10951. proargtypes => 'int4 int4 cstring internal int4 bool',
  10952. prosrc => 'mic_to_win866', probin => '$libdir/cyrillic_and_mic' },
  10953. { oid => '4310', descr => 'internal conversion function for KOI8R to WIN1251',
  10954. proname => 'koi8r_to_win1251', prolang => 'c', prorettype => 'int4',
  10955. proargtypes => 'int4 int4 cstring internal int4 bool',
  10956. prosrc => 'koi8r_to_win1251', probin => '$libdir/cyrillic_and_mic' },
  10957. { oid => '4311', descr => 'internal conversion function for WIN1251 to KOI8R',
  10958. proname => 'win1251_to_koi8r', prolang => 'c', prorettype => 'int4',
  10959. proargtypes => 'int4 int4 cstring internal int4 bool',
  10960. prosrc => 'win1251_to_koi8r', probin => '$libdir/cyrillic_and_mic' },
  10961. { oid => '4312', descr => 'internal conversion function for KOI8R to WIN866',
  10962. proname => 'koi8r_to_win866', prolang => 'c', prorettype => 'int4',
  10963. proargtypes => 'int4 int4 cstring internal int4 bool',
  10964. prosrc => 'koi8r_to_win866', probin => '$libdir/cyrillic_and_mic' },
  10965. { oid => '4313', descr => 'internal conversion function for WIN866 to KOI8R',
  10966. proname => 'win866_to_koi8r', prolang => 'c', prorettype => 'int4',
  10967. proargtypes => 'int4 int4 cstring internal int4 bool',
  10968. prosrc => 'win866_to_koi8r', probin => '$libdir/cyrillic_and_mic' },
  10969. { oid => '4314',
  10970. descr => 'internal conversion function for WIN866 to WIN1251',
  10971. proname => 'win866_to_win1251', prolang => 'c', prorettype => 'int4',
  10972. proargtypes => 'int4 int4 cstring internal int4 bool',
  10973. prosrc => 'win866_to_win1251', probin => '$libdir/cyrillic_and_mic' },
  10974. { oid => '4315',
  10975. descr => 'internal conversion function for WIN1251 to WIN866',
  10976. proname => 'win1251_to_win866', prolang => 'c', prorettype => 'int4',
  10977. proargtypes => 'int4 int4 cstring internal int4 bool',
  10978. prosrc => 'win1251_to_win866', probin => '$libdir/cyrillic_and_mic' },
  10979. { oid => '4316',
  10980. descr => 'internal conversion function for ISO-8859-5 to KOI8R',
  10981. proname => 'iso_to_koi8r', prolang => 'c', prorettype => 'int4',
  10982. proargtypes => 'int4 int4 cstring internal int4 bool',
  10983. prosrc => 'iso_to_koi8r', probin => '$libdir/cyrillic_and_mic' },
  10984. { oid => '4317',
  10985. descr => 'internal conversion function for KOI8R to ISO-8859-5',
  10986. proname => 'koi8r_to_iso', prolang => 'c', prorettype => 'int4',
  10987. proargtypes => 'int4 int4 cstring internal int4 bool',
  10988. prosrc => 'koi8r_to_iso', probin => '$libdir/cyrillic_and_mic' },
  10989. { oid => '4318',
  10990. descr => 'internal conversion function for ISO-8859-5 to WIN1251',
  10991. proname => 'iso_to_win1251', prolang => 'c', prorettype => 'int4',
  10992. proargtypes => 'int4 int4 cstring internal int4 bool',
  10993. prosrc => 'iso_to_win1251', probin => '$libdir/cyrillic_and_mic' },
  10994. { oid => '4319',
  10995. descr => 'internal conversion function for WIN1251 to ISO-8859-5',
  10996. proname => 'win1251_to_iso', prolang => 'c', prorettype => 'int4',
  10997. proargtypes => 'int4 int4 cstring internal int4 bool',
  10998. prosrc => 'win1251_to_iso', probin => '$libdir/cyrillic_and_mic' },
  10999. { oid => '4320',
  11000. descr => 'internal conversion function for ISO-8859-5 to WIN866',
  11001. proname => 'iso_to_win866', prolang => 'c', prorettype => 'int4',
  11002. proargtypes => 'int4 int4 cstring internal int4 bool',
  11003. prosrc => 'iso_to_win866', probin => '$libdir/cyrillic_and_mic' },
  11004. { oid => '4321',
  11005. descr => 'internal conversion function for WIN866 to ISO-8859-5',
  11006. proname => 'win866_to_iso', prolang => 'c', prorettype => 'int4',
  11007. proargtypes => 'int4 int4 cstring internal int4 bool',
  11008. prosrc => 'win866_to_iso', probin => '$libdir/cyrillic_and_mic' },
  11009. { oid => '4322',
  11010. descr => 'internal conversion function for EUC_CN to MULE_INTERNAL',
  11011. proname => 'euc_cn_to_mic', prolang => 'c', prorettype => 'int4',
  11012. proargtypes => 'int4 int4 cstring internal int4 bool',
  11013. prosrc => 'euc_cn_to_mic', probin => '$libdir/euc_cn_and_mic' },
  11014. { oid => '4323',
  11015. descr => 'internal conversion function for MULE_INTERNAL to EUC_CN',
  11016. proname => 'mic_to_euc_cn', prolang => 'c', prorettype => 'int4',
  11017. proargtypes => 'int4 int4 cstring internal int4 bool',
  11018. prosrc => 'mic_to_euc_cn', probin => '$libdir/euc_cn_and_mic' },
  11019. { oid => '4324', descr => 'internal conversion function for EUC_JP to SJIS',
  11020. proname => 'euc_jp_to_sjis', prolang => 'c', prorettype => 'int4',
  11021. proargtypes => 'int4 int4 cstring internal int4 bool',
  11022. prosrc => 'euc_jp_to_sjis', probin => '$libdir/euc_jp_and_sjis' },
  11023. { oid => '4325', descr => 'internal conversion function for SJIS to EUC_JP',
  11024. proname => 'sjis_to_euc_jp', prolang => 'c', prorettype => 'int4',
  11025. proargtypes => 'int4 int4 cstring internal int4 bool',
  11026. prosrc => 'sjis_to_euc_jp', probin => '$libdir/euc_jp_and_sjis' },
  11027. { oid => '4326',
  11028. descr => 'internal conversion function for EUC_JP to MULE_INTERNAL',
  11029. proname => 'euc_jp_to_mic', prolang => 'c', prorettype => 'int4',
  11030. proargtypes => 'int4 int4 cstring internal int4 bool',
  11031. prosrc => 'euc_jp_to_mic', probin => '$libdir/euc_jp_and_sjis' },
  11032. { oid => '4327',
  11033. descr => 'internal conversion function for SJIS to MULE_INTERNAL',
  11034. proname => 'sjis_to_mic', prolang => 'c', prorettype => 'int4',
  11035. proargtypes => 'int4 int4 cstring internal int4 bool',
  11036. prosrc => 'sjis_to_mic', probin => '$libdir/euc_jp_and_sjis' },
  11037. { oid => '4328',
  11038. descr => 'internal conversion function for MULE_INTERNAL to EUC_JP',
  11039. proname => 'mic_to_euc_jp', prolang => 'c', prorettype => 'int4',
  11040. proargtypes => 'int4 int4 cstring internal int4 bool',
  11041. prosrc => 'mic_to_euc_jp', probin => '$libdir/euc_jp_and_sjis' },
  11042. { oid => '4329',
  11043. descr => 'internal conversion function for MULE_INTERNAL to SJIS',
  11044. proname => 'mic_to_sjis', prolang => 'c', prorettype => 'int4',
  11045. proargtypes => 'int4 int4 cstring internal int4 bool',
  11046. prosrc => 'mic_to_sjis', probin => '$libdir/euc_jp_and_sjis' },
  11047. { oid => '4330',
  11048. descr => 'internal conversion function for EUC_KR to MULE_INTERNAL',
  11049. proname => 'euc_kr_to_mic', prolang => 'c', prorettype => 'int4',
  11050. proargtypes => 'int4 int4 cstring internal int4 bool',
  11051. prosrc => 'euc_kr_to_mic', probin => '$libdir/euc_kr_and_mic' },
  11052. { oid => '4331',
  11053. descr => 'internal conversion function for MULE_INTERNAL to EUC_KR',
  11054. proname => 'mic_to_euc_kr', prolang => 'c', prorettype => 'int4',
  11055. proargtypes => 'int4 int4 cstring internal int4 bool',
  11056. prosrc => 'mic_to_euc_kr', probin => '$libdir/euc_kr_and_mic' },
  11057. { oid => '4332', descr => 'internal conversion function for EUC_TW to BIG5',
  11058. proname => 'euc_tw_to_big5', prolang => 'c', prorettype => 'int4',
  11059. proargtypes => 'int4 int4 cstring internal int4 bool',
  11060. prosrc => 'euc_tw_to_big5', probin => '$libdir/euc_tw_and_big5' },
  11061. { oid => '4333', descr => 'internal conversion function for BIG5 to EUC_TW',
  11062. proname => 'big5_to_euc_tw', prolang => 'c', prorettype => 'int4',
  11063. proargtypes => 'int4 int4 cstring internal int4 bool',
  11064. prosrc => 'big5_to_euc_tw', probin => '$libdir/euc_tw_and_big5' },
  11065. { oid => '4334',
  11066. descr => 'internal conversion function for EUC_TW to MULE_INTERNAL',
  11067. proname => 'euc_tw_to_mic', prolang => 'c', prorettype => 'int4',
  11068. proargtypes => 'int4 int4 cstring internal int4 bool',
  11069. prosrc => 'euc_tw_to_mic', probin => '$libdir/euc_tw_and_big5' },
  11070. { oid => '4335',
  11071. descr => 'internal conversion function for BIG5 to MULE_INTERNAL',
  11072. proname => 'big5_to_mic', prolang => 'c', prorettype => 'int4',
  11073. proargtypes => 'int4 int4 cstring internal int4 bool',
  11074. prosrc => 'big5_to_mic', probin => '$libdir/euc_tw_and_big5' },
  11075. { oid => '4336',
  11076. descr => 'internal conversion function for MULE_INTERNAL to EUC_TW',
  11077. proname => 'mic_to_euc_tw', prolang => 'c', prorettype => 'int4',
  11078. proargtypes => 'int4 int4 cstring internal int4 bool',
  11079. prosrc => 'mic_to_euc_tw', probin => '$libdir/euc_tw_and_big5' },
  11080. { oid => '4337',
  11081. descr => 'internal conversion function for MULE_INTERNAL to BIG5',
  11082. proname => 'mic_to_big5', prolang => 'c', prorettype => 'int4',
  11083. proargtypes => 'int4 int4 cstring internal int4 bool',
  11084. prosrc => 'mic_to_big5', probin => '$libdir/euc_tw_and_big5' },
  11085. { oid => '4338',
  11086. descr => 'internal conversion function for LATIN2 to MULE_INTERNAL',
  11087. proname => 'latin2_to_mic', prolang => 'c', prorettype => 'int4',
  11088. proargtypes => 'int4 int4 cstring internal int4 bool',
  11089. prosrc => 'latin2_to_mic', probin => '$libdir/latin2_and_win1250' },
  11090. { oid => '4339',
  11091. descr => 'internal conversion function for MULE_INTERNAL to LATIN2',
  11092. proname => 'mic_to_latin2', prolang => 'c', prorettype => 'int4',
  11093. proargtypes => 'int4 int4 cstring internal int4 bool',
  11094. prosrc => 'mic_to_latin2', probin => '$libdir/latin2_and_win1250' },
  11095. { oid => '4340',
  11096. descr => 'internal conversion function for WIN1250 to MULE_INTERNAL',
  11097. proname => 'win1250_to_mic', prolang => 'c', prorettype => 'int4',
  11098. proargtypes => 'int4 int4 cstring internal int4 bool',
  11099. prosrc => 'win1250_to_mic', probin => '$libdir/latin2_and_win1250' },
  11100. { oid => '4341',
  11101. descr => 'internal conversion function for MULE_INTERNAL to WIN1250',
  11102. proname => 'mic_to_win1250', prolang => 'c', prorettype => 'int4',
  11103. proargtypes => 'int4 int4 cstring internal int4 bool',
  11104. prosrc => 'mic_to_win1250', probin => '$libdir/latin2_and_win1250' },
  11105. { oid => '4342',
  11106. descr => 'internal conversion function for LATIN2 to WIN1250',
  11107. proname => 'latin2_to_win1250', prolang => 'c', prorettype => 'int4',
  11108. proargtypes => 'int4 int4 cstring internal int4 bool',
  11109. prosrc => 'latin2_to_win1250', probin => '$libdir/latin2_and_win1250' },
  11110. { oid => '4343',
  11111. descr => 'internal conversion function for WIN1250 to LATIN2',
  11112. proname => 'win1250_to_latin2', prolang => 'c', prorettype => 'int4',
  11113. proargtypes => 'int4 int4 cstring internal int4 bool',
  11114. prosrc => 'win1250_to_latin2', probin => '$libdir/latin2_and_win1250' },
  11115. { oid => '4344',
  11116. descr => 'internal conversion function for LATIN1 to MULE_INTERNAL',
  11117. proname => 'latin1_to_mic', prolang => 'c', prorettype => 'int4',
  11118. proargtypes => 'int4 int4 cstring internal int4 bool',
  11119. prosrc => 'latin1_to_mic', probin => '$libdir/latin_and_mic' },
  11120. { oid => '4345',
  11121. descr => 'internal conversion function for MULE_INTERNAL to LATIN1',
  11122. proname => 'mic_to_latin1', prolang => 'c', prorettype => 'int4',
  11123. proargtypes => 'int4 int4 cstring internal int4 bool',
  11124. prosrc => 'mic_to_latin1', probin => '$libdir/latin_and_mic' },
  11125. { oid => '4346',
  11126. descr => 'internal conversion function for LATIN3 to MULE_INTERNAL',
  11127. proname => 'latin3_to_mic', prolang => 'c', prorettype => 'int4',
  11128. proargtypes => 'int4 int4 cstring internal int4 bool',
  11129. prosrc => 'latin3_to_mic', probin => '$libdir/latin_and_mic' },
  11130. { oid => '4347',
  11131. descr => 'internal conversion function for MULE_INTERNAL to LATIN3',
  11132. proname => 'mic_to_latin3', prolang => 'c', prorettype => 'int4',
  11133. proargtypes => 'int4 int4 cstring internal int4 bool',
  11134. prosrc => 'mic_to_latin3', probin => '$libdir/latin_and_mic' },
  11135. { oid => '4348',
  11136. descr => 'internal conversion function for LATIN4 to MULE_INTERNAL',
  11137. proname => 'latin4_to_mic', prolang => 'c', prorettype => 'int4',
  11138. proargtypes => 'int4 int4 cstring internal int4 bool',
  11139. prosrc => 'latin4_to_mic', probin => '$libdir/latin_and_mic' },
  11140. { oid => '4349',
  11141. descr => 'internal conversion function for MULE_INTERNAL to LATIN4',
  11142. proname => 'mic_to_latin4', prolang => 'c', prorettype => 'int4',
  11143. proargtypes => 'int4 int4 cstring internal int4 bool',
  11144. prosrc => 'mic_to_latin4', probin => '$libdir/latin_and_mic' },
  11145. { oid => '4352', descr => 'internal conversion function for BIG5 to UTF8',
  11146. proname => 'big5_to_utf8', prolang => 'c', prorettype => 'int4',
  11147. proargtypes => 'int4 int4 cstring internal int4 bool',
  11148. prosrc => 'big5_to_utf8', probin => '$libdir/utf8_and_big5' },
  11149. { oid => '4353', descr => 'internal conversion function for UTF8 to BIG5',
  11150. proname => 'utf8_to_big5', prolang => 'c', prorettype => 'int4',
  11151. proargtypes => 'int4 int4 cstring internal int4 bool',
  11152. prosrc => 'utf8_to_big5', probin => '$libdir/utf8_and_big5' },
  11153. { oid => '4354', descr => 'internal conversion function for UTF8 to KOI8R',
  11154. proname => 'utf8_to_koi8r', prolang => 'c', prorettype => 'int4',
  11155. proargtypes => 'int4 int4 cstring internal int4 bool',
  11156. prosrc => 'utf8_to_koi8r', probin => '$libdir/utf8_and_cyrillic' },
  11157. { oid => '4355', descr => 'internal conversion function for KOI8R to UTF8',
  11158. proname => 'koi8r_to_utf8', prolang => 'c', prorettype => 'int4',
  11159. proargtypes => 'int4 int4 cstring internal int4 bool',
  11160. prosrc => 'koi8r_to_utf8', probin => '$libdir/utf8_and_cyrillic' },
  11161. { oid => '4356', descr => 'internal conversion function for UTF8 to KOI8U',
  11162. proname => 'utf8_to_koi8u', prolang => 'c', prorettype => 'int4',
  11163. proargtypes => 'int4 int4 cstring internal int4 bool',
  11164. prosrc => 'utf8_to_koi8u', probin => '$libdir/utf8_and_cyrillic' },
  11165. { oid => '4357', descr => 'internal conversion function for KOI8U to UTF8',
  11166. proname => 'koi8u_to_utf8', prolang => 'c', prorettype => 'int4',
  11167. proargtypes => 'int4 int4 cstring internal int4 bool',
  11168. prosrc => 'koi8u_to_utf8', probin => '$libdir/utf8_and_cyrillic' },
  11169. { oid => '4358', descr => 'internal conversion function for UTF8 to WIN',
  11170. proname => 'utf8_to_win', prolang => 'c', prorettype => 'int4',
  11171. proargtypes => 'int4 int4 cstring internal int4 bool',
  11172. prosrc => 'utf8_to_win', probin => '$libdir/utf8_and_win' },
  11173. { oid => '4359', descr => 'internal conversion function for WIN to UTF8',
  11174. proname => 'win_to_utf8', prolang => 'c', prorettype => 'int4',
  11175. proargtypes => 'int4 int4 cstring internal int4 bool',
  11176. prosrc => 'win_to_utf8', probin => '$libdir/utf8_and_win' },
  11177. { oid => '4360', descr => 'internal conversion function for EUC_CN to UTF8',
  11178. proname => 'euc_cn_to_utf8', prolang => 'c', prorettype => 'int4',
  11179. proargtypes => 'int4 int4 cstring internal int4 bool',
  11180. prosrc => 'euc_cn_to_utf8', probin => '$libdir/utf8_and_euc_cn' },
  11181. { oid => '4361', descr => 'internal conversion function for UTF8 to EUC_CN',
  11182. proname => 'utf8_to_euc_cn', prolang => 'c', prorettype => 'int4',
  11183. proargtypes => 'int4 int4 cstring internal int4 bool',
  11184. prosrc => 'utf8_to_euc_cn', probin => '$libdir/utf8_and_euc_cn' },
  11185. { oid => '4362', descr => 'internal conversion function for EUC_JP to UTF8',
  11186. proname => 'euc_jp_to_utf8', prolang => 'c', prorettype => 'int4',
  11187. proargtypes => 'int4 int4 cstring internal int4 bool',
  11188. prosrc => 'euc_jp_to_utf8', probin => '$libdir/utf8_and_euc_jp' },
  11189. { oid => '4363', descr => 'internal conversion function for UTF8 to EUC_JP',
  11190. proname => 'utf8_to_euc_jp', prolang => 'c', prorettype => 'int4',
  11191. proargtypes => 'int4 int4 cstring internal int4 bool',
  11192. prosrc => 'utf8_to_euc_jp', probin => '$libdir/utf8_and_euc_jp' },
  11193. { oid => '4364', descr => 'internal conversion function for EUC_KR to UTF8',
  11194. proname => 'euc_kr_to_utf8', prolang => 'c', prorettype => 'int4',
  11195. proargtypes => 'int4 int4 cstring internal int4 bool',
  11196. prosrc => 'euc_kr_to_utf8', probin => '$libdir/utf8_and_euc_kr' },
  11197. { oid => '4365', descr => 'internal conversion function for UTF8 to EUC_KR',
  11198. proname => 'utf8_to_euc_kr', prolang => 'c', prorettype => 'int4',
  11199. proargtypes => 'int4 int4 cstring internal int4 bool',
  11200. prosrc => 'utf8_to_euc_kr', probin => '$libdir/utf8_and_euc_kr' },
  11201. { oid => '4366', descr => 'internal conversion function for EUC_TW to UTF8',
  11202. proname => 'euc_tw_to_utf8', prolang => 'c', prorettype => 'int4',
  11203. proargtypes => 'int4 int4 cstring internal int4 bool',
  11204. prosrc => 'euc_tw_to_utf8', probin => '$libdir/utf8_and_euc_tw' },
  11205. { oid => '4367', descr => 'internal conversion function for UTF8 to EUC_TW',
  11206. proname => 'utf8_to_euc_tw', prolang => 'c', prorettype => 'int4',
  11207. proargtypes => 'int4 int4 cstring internal int4 bool',
  11208. prosrc => 'utf8_to_euc_tw', probin => '$libdir/utf8_and_euc_tw' },
  11209. { oid => '4368', descr => 'internal conversion function for GB18030 to UTF8',
  11210. proname => 'gb18030_to_utf8', prolang => 'c', prorettype => 'int4',
  11211. proargtypes => 'int4 int4 cstring internal int4 bool',
  11212. prosrc => 'gb18030_to_utf8', probin => '$libdir/utf8_and_gb18030' },
  11213. { oid => '4369', descr => 'internal conversion function for UTF8 to GB18030',
  11214. proname => 'utf8_to_gb18030', prolang => 'c', prorettype => 'int4',
  11215. proargtypes => 'int4 int4 cstring internal int4 bool',
  11216. prosrc => 'utf8_to_gb18030', probin => '$libdir/utf8_and_gb18030' },
  11217. { oid => '4370', descr => 'internal conversion function for GBK to UTF8',
  11218. proname => 'gbk_to_utf8', prolang => 'c', prorettype => 'int4',
  11219. proargtypes => 'int4 int4 cstring internal int4 bool',
  11220. prosrc => 'gbk_to_utf8', probin => '$libdir/utf8_and_gbk' },
  11221. { oid => '4371', descr => 'internal conversion function for UTF8 to GBK',
  11222. proname => 'utf8_to_gbk', prolang => 'c', prorettype => 'int4',
  11223. proargtypes => 'int4 int4 cstring internal int4 bool',
  11224. prosrc => 'utf8_to_gbk', probin => '$libdir/utf8_and_gbk' },
  11225. { oid => '4372',
  11226. descr => 'internal conversion function for UTF8 to ISO-8859 2-16',
  11227. proname => 'utf8_to_iso8859', prolang => 'c', prorettype => 'int4',
  11228. proargtypes => 'int4 int4 cstring internal int4 bool',
  11229. prosrc => 'utf8_to_iso8859', probin => '$libdir/utf8_and_iso8859' },
  11230. { oid => '4373',
  11231. descr => 'internal conversion function for ISO-8859 2-16 to UTF8',
  11232. proname => 'iso8859_to_utf8', prolang => 'c', prorettype => 'int4',
  11233. proargtypes => 'int4 int4 cstring internal int4 bool',
  11234. prosrc => 'iso8859_to_utf8', probin => '$libdir/utf8_and_iso8859' },
  11235. { oid => '4374', descr => 'internal conversion function for LATIN1 to UTF8',
  11236. proname => 'iso8859_1_to_utf8', prolang => 'c', prorettype => 'int4',
  11237. proargtypes => 'int4 int4 cstring internal int4 bool',
  11238. prosrc => 'iso8859_1_to_utf8', probin => '$libdir/utf8_and_iso8859_1' },
  11239. { oid => '4375', descr => 'internal conversion function for UTF8 to LATIN1',
  11240. proname => 'utf8_to_iso8859_1', prolang => 'c', prorettype => 'int4',
  11241. proargtypes => 'int4 int4 cstring internal int4 bool',
  11242. prosrc => 'utf8_to_iso8859_1', probin => '$libdir/utf8_and_iso8859_1' },
  11243. { oid => '4376', descr => 'internal conversion function for JOHAB to UTF8',
  11244. proname => 'johab_to_utf8', prolang => 'c', prorettype => 'int4',
  11245. proargtypes => 'int4 int4 cstring internal int4 bool',
  11246. prosrc => 'johab_to_utf8', probin => '$libdir/utf8_and_johab' },
  11247. { oid => '4377', descr => 'internal conversion function for UTF8 to JOHAB',
  11248. proname => 'utf8_to_johab', prolang => 'c', prorettype => 'int4',
  11249. proargtypes => 'int4 int4 cstring internal int4 bool',
  11250. prosrc => 'utf8_to_johab', probin => '$libdir/utf8_and_johab' },
  11251. { oid => '4378', descr => 'internal conversion function for SJIS to UTF8',
  11252. proname => 'sjis_to_utf8', prolang => 'c', prorettype => 'int4',
  11253. proargtypes => 'int4 int4 cstring internal int4 bool',
  11254. prosrc => 'sjis_to_utf8', probin => '$libdir/utf8_and_sjis' },
  11255. { oid => '4379', descr => 'internal conversion function for UTF8 to SJIS',
  11256. proname => 'utf8_to_sjis', prolang => 'c', prorettype => 'int4',
  11257. proargtypes => 'int4 int4 cstring internal int4 bool',
  11258. prosrc => 'utf8_to_sjis', probin => '$libdir/utf8_and_sjis' },
  11259. { oid => '4380', descr => 'internal conversion function for UHC to UTF8',
  11260. proname => 'uhc_to_utf8', prolang => 'c', prorettype => 'int4',
  11261. proargtypes => 'int4 int4 cstring internal int4 bool',
  11262. prosrc => 'uhc_to_utf8', probin => '$libdir/utf8_and_uhc' },
  11263. { oid => '4381', descr => 'internal conversion function for UTF8 to UHC',
  11264. proname => 'utf8_to_uhc', prolang => 'c', prorettype => 'int4',
  11265. proargtypes => 'int4 int4 cstring internal int4 bool',
  11266. prosrc => 'utf8_to_uhc', probin => '$libdir/utf8_and_uhc' },
  11267. { oid => '4382',
  11268. descr => 'internal conversion function for EUC_JIS_2004 to UTF8',
  11269. proname => 'euc_jis_2004_to_utf8', prolang => 'c', prorettype => 'int4',
  11270. proargtypes => 'int4 int4 cstring internal int4 bool',
  11271. prosrc => 'euc_jis_2004_to_utf8', probin => '$libdir/utf8_and_euc2004' },
  11272. { oid => '4383',
  11273. descr => 'internal conversion function for UTF8 to EUC_JIS_2004',
  11274. proname => 'utf8_to_euc_jis_2004', prolang => 'c', prorettype => 'int4',
  11275. proargtypes => 'int4 int4 cstring internal int4 bool',
  11276. prosrc => 'utf8_to_euc_jis_2004', probin => '$libdir/utf8_and_euc2004' },
  11277. { oid => '4384',
  11278. descr => 'internal conversion function for SHIFT_JIS_2004 to UTF8',
  11279. proname => 'shift_jis_2004_to_utf8', prolang => 'c', prorettype => 'int4',
  11280. proargtypes => 'int4 int4 cstring internal int4 bool',
  11281. prosrc => 'shift_jis_2004_to_utf8', probin => '$libdir/utf8_and_sjis2004' },
  11282. { oid => '4385',
  11283. descr => 'internal conversion function for UTF8 to SHIFT_JIS_2004',
  11284. proname => 'utf8_to_shift_jis_2004', prolang => 'c', prorettype => 'int4',
  11285. proargtypes => 'int4 int4 cstring internal int4 bool',
  11286. prosrc => 'utf8_to_shift_jis_2004', probin => '$libdir/utf8_and_sjis2004' },
  11287. { oid => '4386',
  11288. descr => 'internal conversion function for EUC_JIS_2004 to SHIFT_JIS_2004',
  11289. proname => 'euc_jis_2004_to_shift_jis_2004', prolang => 'c',
  11290. prorettype => 'int4', proargtypes => 'int4 int4 cstring internal int4 bool',
  11291. prosrc => 'euc_jis_2004_to_shift_jis_2004',
  11292. probin => '$libdir/euc2004_sjis2004' },
  11293. { oid => '4387',
  11294. descr => 'internal conversion function for SHIFT_JIS_2004 to EUC_JIS_2004',
  11295. proname => 'shift_jis_2004_to_euc_jis_2004', prolang => 'c',
  11296. prorettype => 'int4', proargtypes => 'int4 int4 cstring internal int4 bool',
  11297. prosrc => 'shift_jis_2004_to_euc_jis_2004',
  11298. probin => '$libdir/euc2004_sjis2004' },
  11299. { oid => '5040',
  11300. descr => 'restriction selectivity for generic matching operators',
  11301. proname => 'matchingsel', provolatile => 's', prorettype => 'float8',
  11302. proargtypes => 'internal oid internal int4', prosrc => 'matchingsel' },
  11303. { oid => '5041', descr => 'join selectivity for generic matching operators',
  11304. proname => 'matchingjoinsel', provolatile => 's', prorettype => 'float8',
  11305. proargtypes => 'internal oid internal int2 internal',
  11306. prosrc => 'matchingjoinsel' },
  11307. # replication/origin.h
  11308. { oid => '6003', descr => 'create a replication origin',
  11309. proname => 'pg_replication_origin_create', provolatile => 'v',
  11310. proparallel => 'u', prorettype => 'oid', proargtypes => 'text',
  11311. prosrc => 'pg_replication_origin_create' },
  11312. { oid => '6004', descr => 'drop replication origin identified by its name',
  11313. proname => 'pg_replication_origin_drop', provolatile => 'v',
  11314. proparallel => 'u', prorettype => 'void', proargtypes => 'text',
  11315. prosrc => 'pg_replication_origin_drop' },
  11316. { oid => '6005',
  11317. descr => 'translate the replication origin\'s name to its id',
  11318. proname => 'pg_replication_origin_oid', provolatile => 's',
  11319. prorettype => 'oid', proargtypes => 'text',
  11320. prosrc => 'pg_replication_origin_oid' },
  11321. { oid => '6006',
  11322. descr => 'configure session to maintain replication progress tracking for the passed in origin',
  11323. proname => 'pg_replication_origin_session_setup', provolatile => 'v',
  11324. proparallel => 'u', prorettype => 'void', proargtypes => 'text',
  11325. prosrc => 'pg_replication_origin_session_setup' },
  11326. { oid => '6007', descr => 'teardown configured replication progress tracking',
  11327. proname => 'pg_replication_origin_session_reset', provolatile => 'v',
  11328. proparallel => 'u', prorettype => 'void', proargtypes => '',
  11329. prosrc => 'pg_replication_origin_session_reset' },
  11330. { oid => '6008',
  11331. descr => 'is a replication origin configured in this session',
  11332. proname => 'pg_replication_origin_session_is_setup', provolatile => 'v',
  11333. proparallel => 'r', prorettype => 'bool', proargtypes => '',
  11334. prosrc => 'pg_replication_origin_session_is_setup' },
  11335. { oid => '6009',
  11336. descr => 'get the replication progress of the current session',
  11337. proname => 'pg_replication_origin_session_progress', provolatile => 'v',
  11338. proparallel => 'u', prorettype => 'pg_lsn', proargtypes => 'bool',
  11339. prosrc => 'pg_replication_origin_session_progress' },
  11340. { oid => '6010', descr => 'setup the transaction\'s origin lsn and timestamp',
  11341. proname => 'pg_replication_origin_xact_setup', provolatile => 'v',
  11342. proparallel => 'r', prorettype => 'void', proargtypes => 'pg_lsn timestamptz',
  11343. prosrc => 'pg_replication_origin_xact_setup' },
  11344. { oid => '6011', descr => 'reset the transaction\'s origin lsn and timestamp',
  11345. proname => 'pg_replication_origin_xact_reset', provolatile => 'v',
  11346. proparallel => 'r', prorettype => 'void', proargtypes => '',
  11347. prosrc => 'pg_replication_origin_xact_reset' },
  11348. { oid => '6012', descr => 'advance replication origin to specific location',
  11349. proname => 'pg_replication_origin_advance', provolatile => 'v',
  11350. proparallel => 'u', prorettype => 'void', proargtypes => 'text pg_lsn',
  11351. prosrc => 'pg_replication_origin_advance' },
  11352. { oid => '6013',
  11353. descr => 'get an individual replication origin\'s replication progress',
  11354. proname => 'pg_replication_origin_progress', provolatile => 'v',
  11355. proparallel => 'u', prorettype => 'pg_lsn', proargtypes => 'text bool',
  11356. prosrc => 'pg_replication_origin_progress' },
  11357. { oid => '6014', descr => 'get progress for all replication origins',
  11358. proname => 'pg_show_replication_origin_status', prorows => '100',
  11359. proisstrict => 'f', proretset => 't', provolatile => 'v', proparallel => 'r',
  11360. prorettype => 'record', proargtypes => '',
  11361. proallargtypes => '{oid,text,pg_lsn,pg_lsn}', proargmodes => '{o,o,o,o}',
  11362. proargnames => '{local_id, external_id, remote_lsn, local_lsn}',
  11363. prosrc => 'pg_show_replication_origin_status' },
  11364. # publications
  11365. { oid => '6119',
  11366. descr => 'get information of the tables that are part of the specified publications',
  11367. proname => 'pg_get_publication_tables', prorows => '1000',
  11368. provariadic => 'text', proretset => 't', provolatile => 's',
  11369. prorettype => 'record', proargtypes => '_text',
  11370. proallargtypes => '{_text,oid,oid,int2vector,pg_node_tree}',
  11371. proargmodes => '{v,o,o,o,o}',
  11372. proargnames => '{pubname,pubid,relid,attrs,qual}',
  11373. prosrc => 'pg_get_publication_tables' },
  11374. { oid => '6121',
  11375. descr => 'returns whether a relation can be part of a publication',
  11376. proname => 'pg_relation_is_publishable', provolatile => 's',
  11377. prorettype => 'bool', proargtypes => 'regclass',
  11378. prosrc => 'pg_relation_is_publishable' },
  11379. # rls
  11380. { oid => '3298',
  11381. descr => 'row security for current context active on table by table oid',
  11382. proname => 'row_security_active', provolatile => 's', prorettype => 'bool',
  11383. proargtypes => 'oid', prosrc => 'row_security_active' },
  11384. { oid => '3299',
  11385. descr => 'row security for current context active on table by table name',
  11386. proname => 'row_security_active', provolatile => 's', prorettype => 'bool',
  11387. proargtypes => 'text', prosrc => 'row_security_active_name' },
  11388. # pg_config
  11389. { oid => '3400', descr => 'pg_config binary as a function',
  11390. proname => 'pg_config', prorows => '23', proretset => 't', provolatile => 's',
  11391. proparallel => 'r', prorettype => 'record', proargtypes => '',
  11392. proallargtypes => '{text,text}', proargmodes => '{o,o}',
  11393. proargnames => '{name,setting}', prosrc => 'pg_config' },
  11394. # pg_controldata related functions
  11395. { oid => '3441',
  11396. descr => 'pg_controldata general state information as a function',
  11397. proname => 'pg_control_system', provolatile => 'v', prorettype => 'record',
  11398. proargtypes => '', proallargtypes => '{int4,int4,int8,timestamptz}',
  11399. proargmodes => '{o,o,o,o}',
  11400. proargnames => '{pg_control_version,catalog_version_no,system_identifier,pg_control_last_modified}',
  11401. prosrc => 'pg_control_system' },
  11402. { oid => '3442',
  11403. descr => 'pg_controldata checkpoint state information as a function',
  11404. proname => 'pg_control_checkpoint', provolatile => 'v',
  11405. prorettype => 'record', proargtypes => '',
  11406. proallargtypes => '{pg_lsn,pg_lsn,text,int4,int4,bool,text,oid,xid,xid,xid,oid,xid,xid,oid,xid,xid,timestamptz}',
  11407. proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o}',
  11408. proargnames => '{checkpoint_lsn,redo_lsn,redo_wal_file,timeline_id,prev_timeline_id,full_page_writes,next_xid,next_oid,next_multixact_id,next_multi_offset,oldest_xid,oldest_xid_dbid,oldest_active_xid,oldest_multi_xid,oldest_multi_dbid,oldest_commit_ts_xid,newest_commit_ts_xid,checkpoint_time}',
  11409. prosrc => 'pg_control_checkpoint' },
  11410. { oid => '3443',
  11411. descr => 'pg_controldata recovery state information as a function',
  11412. proname => 'pg_control_recovery', provolatile => 'v', prorettype => 'record',
  11413. proargtypes => '', proallargtypes => '{pg_lsn,int4,pg_lsn,pg_lsn,bool}',
  11414. proargmodes => '{o,o,o,o,o}',
  11415. proargnames => '{min_recovery_end_lsn,min_recovery_end_timeline,backup_start_lsn,backup_end_lsn,end_of_backup_record_required}',
  11416. prosrc => 'pg_control_recovery' },
  11417. { oid => '3444',
  11418. descr => 'pg_controldata init state information as a function',
  11419. proname => 'pg_control_init', provolatile => 'v', prorettype => 'record',
  11420. proargtypes => '',
  11421. proallargtypes => '{int4,int4,int4,int4,int4,int4,int4,int4,int4,bool,int4}',
  11422. proargmodes => '{o,o,o,o,o,o,o,o,o,o,o}',
  11423. proargnames => '{max_data_alignment,database_block_size,blocks_per_segment,wal_block_size,bytes_per_wal_segment,max_identifier_length,max_index_columns,max_toast_chunk_size,large_object_chunk_size,float8_pass_by_value,data_page_checksum_version}',
  11424. prosrc => 'pg_control_init' },
  11425. # subscripting support for built-in types
  11426. { oid => '6179', descr => 'standard array subscripting support',
  11427. proname => 'array_subscript_handler', prorettype => 'internal',
  11428. proargtypes => 'internal', prosrc => 'array_subscript_handler' },
  11429. { oid => '6180', descr => 'raw array subscripting support',
  11430. proname => 'raw_array_subscript_handler', prorettype => 'internal',
  11431. proargtypes => 'internal', prosrc => 'raw_array_subscript_handler' },
  11432. # type subscripting support
  11433. { oid => '6098', descr => 'jsonb subscripting logic',
  11434. proname => 'jsonb_subscript_handler', prorettype => 'internal',
  11435. proargtypes => 'internal', prosrc => 'jsonb_subscript_handler' },
  11436. # collation management functions
  11437. { oid => '3445', descr => 'import collations from operating system',
  11438. proname => 'pg_import_system_collations', procost => '100',
  11439. provolatile => 'v', proparallel => 'u', prorettype => 'int4',
  11440. proargtypes => 'regnamespace', prosrc => 'pg_import_system_collations' },
  11441. { oid => '3448',
  11442. descr => 'get actual version of collation from operating system',
  11443. proname => 'pg_collation_actual_version', procost => '100',
  11444. provolatile => 'v', prorettype => 'text', proargtypes => 'oid',
  11445. prosrc => 'pg_collation_actual_version' },
  11446. { oid => '6249',
  11447. descr => 'get actual version of database collation from operating system',
  11448. proname => 'pg_database_collation_actual_version', procost => '100',
  11449. provolatile => 'v', prorettype => 'text', proargtypes => 'oid',
  11450. prosrc => 'pg_database_collation_actual_version' },
  11451. # system management/monitoring related functions
  11452. { oid => '3353', descr => 'list files in the log directory',
  11453. proname => 'pg_ls_logdir', procost => '10', prorows => '20', proretset => 't',
  11454. provolatile => 'v', prorettype => 'record', proargtypes => '',
  11455. proallargtypes => '{text,int8,timestamptz}', proargmodes => '{o,o,o}',
  11456. proargnames => '{name,size,modification}', prosrc => 'pg_ls_logdir' },
  11457. { oid => '3354', descr => 'list of files in the WAL directory',
  11458. proname => 'pg_ls_waldir', procost => '10', prorows => '20', proretset => 't',
  11459. provolatile => 'v', prorettype => 'record', proargtypes => '',
  11460. proallargtypes => '{text,int8,timestamptz}', proargmodes => '{o,o,o}',
  11461. proargnames => '{name,size,modification}', prosrc => 'pg_ls_waldir' },
  11462. { oid => '5031', descr => 'list of files in the archive_status directory',
  11463. proname => 'pg_ls_archive_statusdir', procost => '10', prorows => '20',
  11464. proretset => 't', provolatile => 'v', prorettype => 'record',
  11465. proargtypes => '', proallargtypes => '{text,int8,timestamptz}',
  11466. proargmodes => '{o,o,o}', proargnames => '{name,size,modification}',
  11467. prosrc => 'pg_ls_archive_statusdir' },
  11468. { oid => '5029', descr => 'list files in the pgsql_tmp directory',
  11469. proname => 'pg_ls_tmpdir', procost => '10', prorows => '20', proretset => 't',
  11470. provolatile => 'v', prorettype => 'record', proargtypes => '',
  11471. proallargtypes => '{text,int8,timestamptz}', proargmodes => '{o,o,o}',
  11472. proargnames => '{name,size,modification}', prosrc => 'pg_ls_tmpdir_noargs' },
  11473. { oid => '5030', descr => 'list files in the pgsql_tmp directory',
  11474. proname => 'pg_ls_tmpdir', procost => '10', prorows => '20', proretset => 't',
  11475. provolatile => 'v', prorettype => 'record', proargtypes => 'oid',
  11476. proallargtypes => '{oid,text,int8,timestamptz}', proargmodes => '{i,o,o,o}',
  11477. proargnames => '{tablespace,name,size,modification}',
  11478. prosrc => 'pg_ls_tmpdir_1arg' },
  11479. { oid => '6270',
  11480. descr => 'list of files in the pg_logical/snapshots directory',
  11481. proname => 'pg_ls_logicalsnapdir', procost => '10', prorows => '20',
  11482. proretset => 't', provolatile => 'v', prorettype => 'record',
  11483. proargtypes => '', proallargtypes => '{text,int8,timestamptz}',
  11484. proargmodes => '{o,o,o}', proargnames => '{name,size,modification}',
  11485. prosrc => 'pg_ls_logicalsnapdir' },
  11486. { oid => '6271',
  11487. descr => 'list of files in the pg_logical/mappings directory',
  11488. proname => 'pg_ls_logicalmapdir', procost => '10', prorows => '20',
  11489. proretset => 't', provolatile => 'v', prorettype => 'record',
  11490. proargtypes => '', proallargtypes => '{text,int8,timestamptz}',
  11491. proargmodes => '{o,o,o}', proargnames => '{name,size,modification}',
  11492. prosrc => 'pg_ls_logicalmapdir' },
  11493. { oid => '6272',
  11494. descr => 'list of files in the pg_replslot/slot_name directory',
  11495. proname => 'pg_ls_replslotdir', procost => '10', prorows => '20',
  11496. proretset => 't', provolatile => 'v', prorettype => 'record',
  11497. proargtypes => 'text', proallargtypes => '{text,text,int8,timestamptz}',
  11498. proargmodes => '{i,o,o,o}',
  11499. proargnames => '{slot_name,name,size,modification}',
  11500. prosrc => 'pg_ls_replslotdir' },
  11501. # hash partitioning constraint function
  11502. { oid => '5028', descr => 'hash partition CHECK constraint',
  11503. proname => 'satisfies_hash_partition', provariadic => 'any',
  11504. proisstrict => 'f', prorettype => 'bool', proargtypes => 'oid int4 int4 any',
  11505. proargmodes => '{i,i,i,v}', prosrc => 'satisfies_hash_partition' },
  11506. # information about a partition tree
  11507. { oid => '3423', descr => 'view partition tree tables',
  11508. proname => 'pg_partition_tree', prorows => '1000', proretset => 't',
  11509. provolatile => 'v', prorettype => 'record', proargtypes => 'regclass',
  11510. proallargtypes => '{regclass,regclass,regclass,bool,int4}',
  11511. proargmodes => '{i,o,o,o,o}',
  11512. proargnames => '{rootrelid,relid,parentrelid,isleaf,level}',
  11513. prosrc => 'pg_partition_tree' },
  11514. { oid => '3425', descr => 'view ancestors of the partition',
  11515. proname => 'pg_partition_ancestors', prorows => '10', proretset => 't',
  11516. provolatile => 'v', prorettype => 'regclass', proargtypes => 'regclass',
  11517. proallargtypes => '{regclass,regclass}', proargmodes => '{i,o}',
  11518. proargnames => '{partitionid,relid}', prosrc => 'pg_partition_ancestors' },
  11519. # function to get the top-most partition root parent
  11520. { oid => '3424', descr => 'get top-most partition root parent',
  11521. proname => 'pg_partition_root', prorettype => 'regclass',
  11522. proargtypes => 'regclass', prosrc => 'pg_partition_root' },
  11523. { oid => '4350', descr => 'Unicode normalization',
  11524. proname => 'normalize', prorettype => 'text', proargtypes => 'text text',
  11525. prosrc => 'unicode_normalize_func' },
  11526. { oid => '4351', descr => 'check Unicode normalization',
  11527. proname => 'is_normalized', prorettype => 'bool', proargtypes => 'text text',
  11528. prosrc => 'unicode_is_normalized' },
  11529. { oid => '6198', descr => 'unescape Unicode characters',
  11530. proname => 'unistr', prorettype => 'text', proargtypes => 'text',
  11531. prosrc => 'unistr' },
  11532. { oid => '4596', descr => 'I/O',
  11533. proname => 'brin_bloom_summary_in', prorettype => 'pg_brin_bloom_summary',
  11534. proargtypes => 'cstring', prosrc => 'brin_bloom_summary_in' },
  11535. { oid => '4597', descr => 'I/O',
  11536. proname => 'brin_bloom_summary_out', prorettype => 'cstring',
  11537. proargtypes => 'pg_brin_bloom_summary', prosrc => 'brin_bloom_summary_out' },
  11538. { oid => '4598', descr => 'I/O',
  11539. proname => 'brin_bloom_summary_recv', provolatile => 's',
  11540. prorettype => 'pg_brin_bloom_summary', proargtypes => 'internal',
  11541. prosrc => 'brin_bloom_summary_recv' },
  11542. { oid => '4599', descr => 'I/O',
  11543. proname => 'brin_bloom_summary_send', provolatile => 's',
  11544. prorettype => 'bytea', proargtypes => 'pg_brin_bloom_summary',
  11545. prosrc => 'brin_bloom_summary_send' },
  11546. { oid => '4638', descr => 'I/O',
  11547. proname => 'brin_minmax_multi_summary_in',
  11548. prorettype => 'pg_brin_minmax_multi_summary', proargtypes => 'cstring',
  11549. prosrc => 'brin_minmax_multi_summary_in' },
  11550. { oid => '4639', descr => 'I/O',
  11551. proname => 'brin_minmax_multi_summary_out', prorettype => 'cstring',
  11552. proargtypes => 'pg_brin_minmax_multi_summary',
  11553. prosrc => 'brin_minmax_multi_summary_out' },
  11554. { oid => '4640', descr => 'I/O',
  11555. proname => 'brin_minmax_multi_summary_recv', provolatile => 's',
  11556. prorettype => 'pg_brin_minmax_multi_summary', proargtypes => 'internal',
  11557. prosrc => 'brin_minmax_multi_summary_recv' },
  11558. { oid => '4641', descr => 'I/O',
  11559. proname => 'brin_minmax_multi_summary_send', provolatile => 's',
  11560. prorettype => 'bytea', proargtypes => 'pg_brin_minmax_multi_summary',
  11561. prosrc => 'brin_minmax_multi_summary_send' },
  11562. { oid => '6291', descr => 'arbitrary value from among input values',
  11563. proname => 'any_value', prokind => 'a', proisstrict => 'f',
  11564. prorettype => 'anyelement', proargtypes => 'anyelement',
  11565. prosrc => 'aggregate_dummy' },
  11566. { oid => '6292', descr => 'aggregate transition function',
  11567. proname => 'any_value_transfn', prorettype => 'anyelement',
  11568. proargtypes => 'anyelement anyelement', prosrc => 'any_value_transfn' },
  11569. ]