1#---------------------------------------------------------------------- 2# 3# pg_proc.dat 4# Initial contents of the pg_proc system catalog. 5# 6# Portions Copyright (c) 1996-2018, 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[ 14 15# Note: every entry in pg_proc.dat is expected to have a 'descr' comment, 16# except for functions that implement pg_operator.dat operators and don't 17# have a good reason to be called directly rather than via the operator. 18# (If you do expect such a function to be used directly, you should 19# duplicate the operator's comment.) initdb will supply suitable default 20# comments for functions referenced by pg_operator. 21 22# Try to follow the style of existing functions' comments. 23# Some recommended conventions: 24 25# "I/O" for typinput, typoutput, typreceive, typsend functions 26# "I/O typmod" for typmodin, typmodout functions 27# "aggregate transition function" for aggtransfn functions, unless 28# they are reasonably useful in their own right 29# "aggregate final function" for aggfinalfn functions (likewise) 30# "convert srctypename to desttypename" for cast functions 31# "less-equal-greater" for B-tree comparison functions 32 33# Note: pronargs is computed when this file is read, so it does not need 34# to be specified in entries here. See AddDefaultValues() in Catalog.pm. 35 36# Once upon a time these entries were ordered by OID. Lately it's often 37# been the custom to insert new entries adjacent to related older entries. 38# Try to do one or the other though, don't just insert entries at random. 39 40# OIDS 1 - 99 41 42{ oid => '1242', descr => 'I/O', 43 proname => 'boolin', prorettype => 'bool', proargtypes => 'cstring', 44 prosrc => 'boolin' }, 45{ oid => '1243', descr => 'I/O', 46 proname => 'boolout', prorettype => 'cstring', proargtypes => 'bool', 47 prosrc => 'boolout' }, 48{ oid => '1244', descr => 'I/O', 49 proname => 'byteain', prorettype => 'bytea', proargtypes => 'cstring', 50 prosrc => 'byteain' }, 51{ oid => '31', descr => 'I/O', 52 proname => 'byteaout', prorettype => 'cstring', proargtypes => 'bytea', 53 prosrc => 'byteaout' }, 54{ oid => '1245', descr => 'I/O', 55 proname => 'charin', prorettype => 'char', proargtypes => 'cstring', 56 prosrc => 'charin' }, 57{ oid => '33', descr => 'I/O', 58 proname => 'charout', prorettype => 'cstring', proargtypes => 'char', 59 prosrc => 'charout' }, 60{ oid => '34', descr => 'I/O', 61 proname => 'namein', prorettype => 'name', proargtypes => 'cstring', 62 prosrc => 'namein' }, 63{ oid => '35', descr => 'I/O', 64 proname => 'nameout', prorettype => 'cstring', proargtypes => 'name', 65 prosrc => 'nameout' }, 66{ oid => '38', descr => 'I/O', 67 proname => 'int2in', prorettype => 'int2', proargtypes => 'cstring', 68 prosrc => 'int2in' }, 69{ oid => '39', descr => 'I/O', 70 proname => 'int2out', prorettype => 'cstring', proargtypes => 'int2', 71 prosrc => 'int2out' }, 72{ oid => '40', descr => 'I/O', 73 proname => 'int2vectorin', prorettype => 'int2vector', 74 proargtypes => 'cstring', prosrc => 'int2vectorin' }, 75{ oid => '41', descr => 'I/O', 76 proname => 'int2vectorout', prorettype => 'cstring', 77 proargtypes => 'int2vector', prosrc => 'int2vectorout' }, 78{ oid => '42', descr => 'I/O', 79 proname => 'int4in', prorettype => 'int4', proargtypes => 'cstring', 80 prosrc => 'int4in' }, 81{ oid => '43', descr => 'I/O', 82 proname => 'int4out', prorettype => 'cstring', proargtypes => 'int4', 83 prosrc => 'int4out' }, 84{ oid => '44', descr => 'I/O', 85 proname => 'regprocin', provolatile => 's', prorettype => 'regproc', 86 proargtypes => 'cstring', prosrc => 'regprocin' }, 87{ oid => '45', descr => 'I/O', 88 proname => 'regprocout', provolatile => 's', prorettype => 'cstring', 89 proargtypes => 'regproc', prosrc => 'regprocout' }, 90{ oid => '3494', descr => 'convert proname to regproc', 91 proname => 'to_regproc', provolatile => 's', prorettype => 'regproc', 92 proargtypes => 'text', prosrc => 'to_regproc' }, 93{ oid => '3479', descr => 'convert proname to regprocedure', 94 proname => 'to_regprocedure', provolatile => 's', 95 prorettype => 'regprocedure', proargtypes => 'text', 96 prosrc => 'to_regprocedure' }, 97{ oid => '46', descr => 'I/O', 98 proname => 'textin', prorettype => 'text', proargtypes => 'cstring', 99 prosrc => 'textin' }, 100{ oid => '47', descr => 'I/O', 101 proname => 'textout', prorettype => 'cstring', proargtypes => 'text', 102 prosrc => 'textout' }, 103{ oid => '48', descr => 'I/O', 104 proname => 'tidin', prorettype => 'tid', proargtypes => 'cstring', 105 prosrc => 'tidin' }, 106{ oid => '49', descr => 'I/O', 107 proname => 'tidout', prorettype => 'cstring', proargtypes => 'tid', 108 prosrc => 'tidout' }, 109{ oid => '50', descr => 'I/O', 110 proname => 'xidin', prorettype => 'xid', proargtypes => 'cstring', 111 prosrc => 'xidin' }, 112{ oid => '51', descr => 'I/O', 113 proname => 'xidout', prorettype => 'cstring', proargtypes => 'xid', 114 prosrc => 'xidout' }, 115{ oid => '52', descr => 'I/O', 116 proname => 'cidin', prorettype => 'cid', proargtypes => 'cstring', 117 prosrc => 'cidin' }, 118{ oid => '53', descr => 'I/O', 119 proname => 'cidout', prorettype => 'cstring', proargtypes => 'cid', 120 prosrc => 'cidout' }, 121{ oid => '54', descr => 'I/O', 122 proname => 'oidvectorin', prorettype => 'oidvector', proargtypes => 'cstring', 123 prosrc => 'oidvectorin' }, 124{ oid => '55', descr => 'I/O', 125 proname => 'oidvectorout', prorettype => 'cstring', 126 proargtypes => 'oidvector', prosrc => 'oidvectorout' }, 127{ oid => '56', 128 proname => 'boollt', proleakproof => 't', prorettype => 'bool', 129 proargtypes => 'bool bool', prosrc => 'boollt' }, 130{ oid => '57', 131 proname => 'boolgt', proleakproof => 't', prorettype => 'bool', 132 proargtypes => 'bool bool', prosrc => 'boolgt' }, 133{ oid => '60', 134 proname => 'booleq', proleakproof => 't', prorettype => 'bool', 135 proargtypes => 'bool bool', prosrc => 'booleq' }, 136{ oid => '61', 137 proname => 'chareq', proleakproof => 't', prorettype => 'bool', 138 proargtypes => 'char char', prosrc => 'chareq' }, 139{ oid => '62', 140 proname => 'nameeq', proleakproof => 't', prorettype => 'bool', 141 proargtypes => 'name name', prosrc => 'nameeq' }, 142{ oid => '63', 143 proname => 'int2eq', proleakproof => 't', prorettype => 'bool', 144 proargtypes => 'int2 int2', prosrc => 'int2eq' }, 145{ oid => '64', 146 proname => 'int2lt', proleakproof => 't', prorettype => 'bool', 147 proargtypes => 'int2 int2', prosrc => 'int2lt' }, 148{ oid => '65', 149 proname => 'int4eq', proleakproof => 't', prorettype => 'bool', 150 proargtypes => 'int4 int4', prosrc => 'int4eq' }, 151{ oid => '66', 152 proname => 'int4lt', proleakproof => 't', prorettype => 'bool', 153 proargtypes => 'int4 int4', prosrc => 'int4lt' }, 154{ oid => '67', 155 proname => 'texteq', proleakproof => 't', prorettype => 'bool', 156 proargtypes => 'text text', prosrc => 'texteq' }, 157{ oid => '3696', 158 proname => 'starts_with', proleakproof => 't', prorettype => 'bool', 159 proargtypes => 'text text', prosrc => 'text_starts_with' }, 160{ oid => '68', 161 proname => 'xideq', proleakproof => 't', prorettype => 'bool', 162 proargtypes => 'xid xid', prosrc => 'xideq' }, 163{ oid => '3308', 164 proname => 'xidneq', proleakproof => 't', prorettype => 'bool', 165 proargtypes => 'xid xid', prosrc => 'xidneq' }, 166{ oid => '69', 167 proname => 'cideq', proleakproof => 't', prorettype => 'bool', 168 proargtypes => 'cid cid', prosrc => 'cideq' }, 169{ oid => '70', 170 proname => 'charne', proleakproof => 't', prorettype => 'bool', 171 proargtypes => 'char char', prosrc => 'charne' }, 172{ oid => '1246', 173 proname => 'charlt', proleakproof => 't', prorettype => 'bool', 174 proargtypes => 'char char', prosrc => 'charlt' }, 175{ oid => '72', 176 proname => 'charle', proleakproof => 't', prorettype => 'bool', 177 proargtypes => 'char char', prosrc => 'charle' }, 178{ oid => '73', 179 proname => 'chargt', proleakproof => 't', prorettype => 'bool', 180 proargtypes => 'char char', prosrc => 'chargt' }, 181{ oid => '74', 182 proname => 'charge', proleakproof => 't', prorettype => 'bool', 183 proargtypes => 'char char', prosrc => 'charge' }, 184{ oid => '77', descr => 'convert char to int4', 185 proname => 'int4', prorettype => 'int4', proargtypes => 'char', 186 prosrc => 'chartoi4' }, 187{ oid => '78', descr => 'convert int4 to char', 188 proname => 'char', prorettype => 'char', proargtypes => 'int4', 189 prosrc => 'i4tochar' }, 190 191{ oid => '79', 192 proname => 'nameregexeq', prorettype => 'bool', proargtypes => 'name text', 193 prosrc => 'nameregexeq' }, 194{ oid => '1252', 195 proname => 'nameregexne', prorettype => 'bool', proargtypes => 'name text', 196 prosrc => 'nameregexne' }, 197{ oid => '1254', 198 proname => 'textregexeq', prorettype => 'bool', proargtypes => 'text text', 199 prosrc => 'textregexeq' }, 200{ oid => '1256', 201 proname => 'textregexne', prorettype => 'bool', proargtypes => 'text text', 202 prosrc => 'textregexne' }, 203{ oid => '1257', descr => 'length', 204 proname => 'textlen', prorettype => 'int4', proargtypes => 'text', 205 prosrc => 'textlen' }, 206{ oid => '1258', 207 proname => 'textcat', prorettype => 'text', proargtypes => 'text text', 208 prosrc => 'textcat' }, 209 210{ oid => '84', 211 proname => 'boolne', proleakproof => 't', prorettype => 'bool', 212 proargtypes => 'bool bool', prosrc => 'boolne' }, 213{ oid => '89', descr => 'PostgreSQL version string', 214 proname => 'version', provolatile => 's', prorettype => 'text', 215 proargtypes => '', prosrc => 'pgsql_version' }, 216 217{ oid => '86', descr => 'I/O', 218 proname => 'pg_ddl_command_in', prorettype => 'pg_ddl_command', 219 proargtypes => 'cstring', prosrc => 'pg_ddl_command_in' }, 220{ oid => '87', descr => 'I/O', 221 proname => 'pg_ddl_command_out', prorettype => 'cstring', 222 proargtypes => 'pg_ddl_command', prosrc => 'pg_ddl_command_out' }, 223{ oid => '88', descr => 'I/O', 224 proname => 'pg_ddl_command_recv', prorettype => 'pg_ddl_command', 225 proargtypes => 'internal', prosrc => 'pg_ddl_command_recv' }, 226{ oid => '90', descr => 'I/O', 227 proname => 'pg_ddl_command_send', prorettype => 'bytea', 228 proargtypes => 'pg_ddl_command', prosrc => 'pg_ddl_command_send' }, 229 230# OIDS 100 - 199 231 232{ oid => '101', descr => 'restriction selectivity of = and related operators', 233 proname => 'eqsel', provolatile => 's', prorettype => 'float8', 234 proargtypes => 'internal oid internal int4', prosrc => 'eqsel' }, 235{ oid => '102', 236 descr => 'restriction selectivity of <> and related operators', 237 proname => 'neqsel', provolatile => 's', prorettype => 'float8', 238 proargtypes => 'internal oid internal int4', prosrc => 'neqsel' }, 239{ oid => '103', 240 descr => 'restriction selectivity of < and related operators on scalar datatypes', 241 proname => 'scalarltsel', provolatile => 's', prorettype => 'float8', 242 proargtypes => 'internal oid internal int4', prosrc => 'scalarltsel' }, 243{ oid => '104', 244 descr => 'restriction selectivity of > and related operators on scalar datatypes', 245 proname => 'scalargtsel', provolatile => 's', prorettype => 'float8', 246 proargtypes => 'internal oid internal int4', prosrc => 'scalargtsel' }, 247{ oid => '105', descr => 'join selectivity of = and related operators', 248 proname => 'eqjoinsel', provolatile => 's', prorettype => 'float8', 249 proargtypes => 'internal oid internal int2 internal', prosrc => 'eqjoinsel' }, 250{ oid => '106', descr => 'join selectivity of <> and related operators', 251 proname => 'neqjoinsel', provolatile => 's', prorettype => 'float8', 252 proargtypes => 'internal oid internal int2 internal', 253 prosrc => 'neqjoinsel' }, 254{ oid => '107', 255 descr => 'join selectivity of < and related operators on scalar datatypes', 256 proname => 'scalarltjoinsel', provolatile => 's', prorettype => 'float8', 257 proargtypes => 'internal oid internal int2 internal', 258 prosrc => 'scalarltjoinsel' }, 259{ oid => '108', 260 descr => 'join selectivity of > and related operators on scalar datatypes', 261 proname => 'scalargtjoinsel', provolatile => 's', prorettype => 'float8', 262 proargtypes => 'internal oid internal int2 internal', 263 prosrc => 'scalargtjoinsel' }, 264 265{ oid => '336', 266 descr => 'restriction selectivity of <= and related operators on scalar datatypes', 267 proname => 'scalarlesel', provolatile => 's', prorettype => 'float8', 268 proargtypes => 'internal oid internal int4', prosrc => 'scalarlesel' }, 269{ oid => '337', 270 descr => 'restriction selectivity of >= and related operators on scalar datatypes', 271 proname => 'scalargesel', provolatile => 's', prorettype => 'float8', 272 proargtypes => 'internal oid internal int4', prosrc => 'scalargesel' }, 273{ oid => '386', 274 descr => 'join selectivity of <= and related operators on scalar datatypes', 275 proname => 'scalarlejoinsel', provolatile => 's', prorettype => 'float8', 276 proargtypes => 'internal oid internal int2 internal', 277 prosrc => 'scalarlejoinsel' }, 278{ oid => '398', 279 descr => 'join selectivity of >= and related operators on scalar datatypes', 280 proname => 'scalargejoinsel', provolatile => 's', prorettype => 'float8', 281 proargtypes => 'internal oid internal int2 internal', 282 prosrc => 'scalargejoinsel' }, 283 284{ oid => '109', descr => 'I/O', 285 proname => 'unknownin', prorettype => 'unknown', proargtypes => 'cstring', 286 prosrc => 'unknownin' }, 287{ oid => '110', descr => 'I/O', 288 proname => 'unknownout', prorettype => 'cstring', proargtypes => 'unknown', 289 prosrc => 'unknownout' }, 290{ oid => '111', 291 proname => 'numeric_fac', prorettype => 'numeric', proargtypes => 'int8', 292 prosrc => 'numeric_fac' }, 293 294{ oid => '115', 295 proname => 'box_above_eq', prorettype => 'bool', proargtypes => 'box box', 296 prosrc => 'box_above_eq' }, 297{ oid => '116', 298 proname => 'box_below_eq', prorettype => 'bool', proargtypes => 'box box', 299 prosrc => 'box_below_eq' }, 300 301{ oid => '117', descr => 'I/O', 302 proname => 'point_in', prorettype => 'point', proargtypes => 'cstring', 303 prosrc => 'point_in' }, 304{ oid => '118', descr => 'I/O', 305 proname => 'point_out', prorettype => 'cstring', proargtypes => 'point', 306 prosrc => 'point_out' }, 307{ oid => '119', descr => 'I/O', 308 proname => 'lseg_in', prorettype => 'lseg', proargtypes => 'cstring', 309 prosrc => 'lseg_in' }, 310{ oid => '120', descr => 'I/O', 311 proname => 'lseg_out', prorettype => 'cstring', proargtypes => 'lseg', 312 prosrc => 'lseg_out' }, 313{ oid => '121', descr => 'I/O', 314 proname => 'path_in', prorettype => 'path', proargtypes => 'cstring', 315 prosrc => 'path_in' }, 316{ oid => '122', descr => 'I/O', 317 proname => 'path_out', prorettype => 'cstring', proargtypes => 'path', 318 prosrc => 'path_out' }, 319{ oid => '123', descr => 'I/O', 320 proname => 'box_in', prorettype => 'box', proargtypes => 'cstring', 321 prosrc => 'box_in' }, 322{ oid => '124', descr => 'I/O', 323 proname => 'box_out', prorettype => 'cstring', proargtypes => 'box', 324 prosrc => 'box_out' }, 325{ oid => '125', 326 proname => 'box_overlap', prorettype => 'bool', proargtypes => 'box box', 327 prosrc => 'box_overlap' }, 328{ oid => '126', 329 proname => 'box_ge', prorettype => 'bool', proargtypes => 'box box', 330 prosrc => 'box_ge' }, 331{ oid => '127', 332 proname => 'box_gt', prorettype => 'bool', proargtypes => 'box box', 333 prosrc => 'box_gt' }, 334{ oid => '128', 335 proname => 'box_eq', prorettype => 'bool', proargtypes => 'box box', 336 prosrc => 'box_eq' }, 337{ oid => '129', 338 proname => 'box_lt', prorettype => 'bool', proargtypes => 'box box', 339 prosrc => 'box_lt' }, 340{ oid => '130', 341 proname => 'box_le', prorettype => 'bool', proargtypes => 'box box', 342 prosrc => 'box_le' }, 343{ oid => '131', 344 proname => 'point_above', prorettype => 'bool', proargtypes => 'point point', 345 prosrc => 'point_above' }, 346{ oid => '132', 347 proname => 'point_left', prorettype => 'bool', proargtypes => 'point point', 348 prosrc => 'point_left' }, 349{ oid => '133', 350 proname => 'point_right', prorettype => 'bool', proargtypes => 'point point', 351 prosrc => 'point_right' }, 352{ oid => '134', 353 proname => 'point_below', prorettype => 'bool', proargtypes => 'point point', 354 prosrc => 'point_below' }, 355{ oid => '135', 356 proname => 'point_eq', prorettype => 'bool', proargtypes => 'point point', 357 prosrc => 'point_eq' }, 358{ oid => '136', 359 proname => 'on_pb', prorettype => 'bool', proargtypes => 'point box', 360 prosrc => 'on_pb' }, 361{ oid => '137', 362 proname => 'on_ppath', prorettype => 'bool', proargtypes => 'point path', 363 prosrc => 'on_ppath' }, 364{ oid => '138', 365 proname => 'box_center', prorettype => 'point', proargtypes => 'box', 366 prosrc => 'box_center' }, 367{ oid => '139', 368 descr => 'restriction selectivity for area-comparison operators', 369 proname => 'areasel', provolatile => 's', prorettype => 'float8', 370 proargtypes => 'internal oid internal int4', prosrc => 'areasel' }, 371{ oid => '140', descr => 'join selectivity for area-comparison operators', 372 proname => 'areajoinsel', provolatile => 's', prorettype => 'float8', 373 proargtypes => 'internal oid internal int2 internal', 374 prosrc => 'areajoinsel' }, 375{ oid => '141', 376 proname => 'int4mul', prorettype => 'int4', proargtypes => 'int4 int4', 377 prosrc => 'int4mul' }, 378{ oid => '144', 379 proname => 'int4ne', proleakproof => 't', prorettype => 'bool', 380 proargtypes => 'int4 int4', prosrc => 'int4ne' }, 381{ oid => '145', 382 proname => 'int2ne', proleakproof => 't', prorettype => 'bool', 383 proargtypes => 'int2 int2', prosrc => 'int2ne' }, 384{ oid => '146', 385 proname => 'int2gt', proleakproof => 't', prorettype => 'bool', 386 proargtypes => 'int2 int2', prosrc => 'int2gt' }, 387{ oid => '147', 388 proname => 'int4gt', proleakproof => 't', prorettype => 'bool', 389 proargtypes => 'int4 int4', prosrc => 'int4gt' }, 390{ oid => '148', 391 proname => 'int2le', proleakproof => 't', prorettype => 'bool', 392 proargtypes => 'int2 int2', prosrc => 'int2le' }, 393{ oid => '149', 394 proname => 'int4le', proleakproof => 't', prorettype => 'bool', 395 proargtypes => 'int4 int4', prosrc => 'int4le' }, 396{ oid => '150', 397 proname => 'int4ge', proleakproof => 't', prorettype => 'bool', 398 proargtypes => 'int4 int4', prosrc => 'int4ge' }, 399{ oid => '151', 400 proname => 'int2ge', proleakproof => 't', prorettype => 'bool', 401 proargtypes => 'int2 int2', prosrc => 'int2ge' }, 402{ oid => '152', 403 proname => 'int2mul', prorettype => 'int2', proargtypes => 'int2 int2', 404 prosrc => 'int2mul' }, 405{ oid => '153', 406 proname => 'int2div', prorettype => 'int2', proargtypes => 'int2 int2', 407 prosrc => 'int2div' }, 408{ oid => '154', 409 proname => 'int4div', prorettype => 'int4', proargtypes => 'int4 int4', 410 prosrc => 'int4div' }, 411{ oid => '155', 412 proname => 'int2mod', prorettype => 'int2', proargtypes => 'int2 int2', 413 prosrc => 'int2mod' }, 414{ oid => '156', 415 proname => 'int4mod', prorettype => 'int4', proargtypes => 'int4 int4', 416 prosrc => 'int4mod' }, 417{ oid => '157', 418 proname => 'textne', proleakproof => 't', prorettype => 'bool', 419 proargtypes => 'text text', prosrc => 'textne' }, 420{ oid => '158', 421 proname => 'int24eq', proleakproof => 't', prorettype => 'bool', 422 proargtypes => 'int2 int4', prosrc => 'int24eq' }, 423{ oid => '159', 424 proname => 'int42eq', proleakproof => 't', prorettype => 'bool', 425 proargtypes => 'int4 int2', prosrc => 'int42eq' }, 426{ oid => '160', 427 proname => 'int24lt', proleakproof => 't', prorettype => 'bool', 428 proargtypes => 'int2 int4', prosrc => 'int24lt' }, 429{ oid => '161', 430 proname => 'int42lt', proleakproof => 't', prorettype => 'bool', 431 proargtypes => 'int4 int2', prosrc => 'int42lt' }, 432{ oid => '162', 433 proname => 'int24gt', proleakproof => 't', prorettype => 'bool', 434 proargtypes => 'int2 int4', prosrc => 'int24gt' }, 435{ oid => '163', 436 proname => 'int42gt', proleakproof => 't', prorettype => 'bool', 437 proargtypes => 'int4 int2', prosrc => 'int42gt' }, 438{ oid => '164', 439 proname => 'int24ne', proleakproof => 't', prorettype => 'bool', 440 proargtypes => 'int2 int4', prosrc => 'int24ne' }, 441{ oid => '165', 442 proname => 'int42ne', proleakproof => 't', prorettype => 'bool', 443 proargtypes => 'int4 int2', prosrc => 'int42ne' }, 444{ oid => '166', 445 proname => 'int24le', proleakproof => 't', prorettype => 'bool', 446 proargtypes => 'int2 int4', prosrc => 'int24le' }, 447{ oid => '167', 448 proname => 'int42le', proleakproof => 't', prorettype => 'bool', 449 proargtypes => 'int4 int2', prosrc => 'int42le' }, 450{ oid => '168', 451 proname => 'int24ge', proleakproof => 't', prorettype => 'bool', 452 proargtypes => 'int2 int4', prosrc => 'int24ge' }, 453{ oid => '169', 454 proname => 'int42ge', proleakproof => 't', prorettype => 'bool', 455 proargtypes => 'int4 int2', prosrc => 'int42ge' }, 456{ oid => '170', 457 proname => 'int24mul', prorettype => 'int4', proargtypes => 'int2 int4', 458 prosrc => 'int24mul' }, 459{ oid => '171', 460 proname => 'int42mul', prorettype => 'int4', proargtypes => 'int4 int2', 461 prosrc => 'int42mul' }, 462{ oid => '172', 463 proname => 'int24div', prorettype => 'int4', proargtypes => 'int2 int4', 464 prosrc => 'int24div' }, 465{ oid => '173', 466 proname => 'int42div', prorettype => 'int4', proargtypes => 'int4 int2', 467 prosrc => 'int42div' }, 468{ oid => '176', 469 proname => 'int2pl', prorettype => 'int2', proargtypes => 'int2 int2', 470 prosrc => 'int2pl' }, 471{ oid => '177', 472 proname => 'int4pl', prorettype => 'int4', proargtypes => 'int4 int4', 473 prosrc => 'int4pl' }, 474{ oid => '178', 475 proname => 'int24pl', prorettype => 'int4', proargtypes => 'int2 int4', 476 prosrc => 'int24pl' }, 477{ oid => '179', 478 proname => 'int42pl', prorettype => 'int4', proargtypes => 'int4 int2', 479 prosrc => 'int42pl' }, 480{ oid => '180', 481 proname => 'int2mi', prorettype => 'int2', proargtypes => 'int2 int2', 482 prosrc => 'int2mi' }, 483{ oid => '181', 484 proname => 'int4mi', prorettype => 'int4', proargtypes => 'int4 int4', 485 prosrc => 'int4mi' }, 486{ oid => '182', 487 proname => 'int24mi', prorettype => 'int4', proargtypes => 'int2 int4', 488 prosrc => 'int24mi' }, 489{ oid => '183', 490 proname => 'int42mi', prorettype => 'int4', proargtypes => 'int4 int2', 491 prosrc => 'int42mi' }, 492{ oid => '184', 493 proname => 'oideq', proleakproof => 't', prorettype => 'bool', 494 proargtypes => 'oid oid', prosrc => 'oideq' }, 495{ oid => '185', 496 proname => 'oidne', proleakproof => 't', prorettype => 'bool', 497 proargtypes => 'oid oid', prosrc => 'oidne' }, 498{ oid => '186', 499 proname => 'box_same', prorettype => 'bool', proargtypes => 'box box', 500 prosrc => 'box_same' }, 501{ oid => '187', 502 proname => 'box_contain', prorettype => 'bool', proargtypes => 'box box', 503 prosrc => 'box_contain' }, 504{ oid => '188', 505 proname => 'box_left', prorettype => 'bool', proargtypes => 'box box', 506 prosrc => 'box_left' }, 507{ oid => '189', 508 proname => 'box_overleft', prorettype => 'bool', proargtypes => 'box box', 509 prosrc => 'box_overleft' }, 510{ oid => '190', 511 proname => 'box_overright', prorettype => 'bool', proargtypes => 'box box', 512 prosrc => 'box_overright' }, 513{ oid => '191', 514 proname => 'box_right', prorettype => 'bool', proargtypes => 'box box', 515 prosrc => 'box_right' }, 516{ oid => '192', 517 proname => 'box_contained', prorettype => 'bool', proargtypes => 'box box', 518 prosrc => 'box_contained' }, 519{ oid => '193', 520 proname => 'box_contain_pt', prorettype => 'bool', proargtypes => 'box point', 521 prosrc => 'box_contain_pt' }, 522 523{ oid => '195', descr => 'I/O', 524 proname => 'pg_node_tree_in', prorettype => 'pg_node_tree', 525 proargtypes => 'cstring', prosrc => 'pg_node_tree_in' }, 526{ oid => '196', descr => 'I/O', 527 proname => 'pg_node_tree_out', prorettype => 'cstring', 528 proargtypes => 'pg_node_tree', prosrc => 'pg_node_tree_out' }, 529{ oid => '197', descr => 'I/O', 530 proname => 'pg_node_tree_recv', provolatile => 's', 531 prorettype => 'pg_node_tree', proargtypes => 'internal', 532 prosrc => 'pg_node_tree_recv' }, 533{ oid => '198', descr => 'I/O', 534 proname => 'pg_node_tree_send', provolatile => 's', prorettype => 'bytea', 535 proargtypes => 'pg_node_tree', prosrc => 'pg_node_tree_send' }, 536 537# OIDS 200 - 299 538 539{ oid => '200', descr => 'I/O', 540 proname => 'float4in', prorettype => 'float4', proargtypes => 'cstring', 541 prosrc => 'float4in' }, 542{ oid => '201', descr => 'I/O', 543 proname => 'float4out', prorettype => 'cstring', proargtypes => 'float4', 544 prosrc => 'float4out' }, 545{ oid => '202', 546 proname => 'float4mul', prorettype => 'float4', 547 proargtypes => 'float4 float4', prosrc => 'float4mul' }, 548{ oid => '203', 549 proname => 'float4div', prorettype => 'float4', 550 proargtypes => 'float4 float4', prosrc => 'float4div' }, 551{ oid => '204', 552 proname => 'float4pl', prorettype => 'float4', proargtypes => 'float4 float4', 553 prosrc => 'float4pl' }, 554{ oid => '205', 555 proname => 'float4mi', prorettype => 'float4', proargtypes => 'float4 float4', 556 prosrc => 'float4mi' }, 557{ oid => '206', 558 proname => 'float4um', prorettype => 'float4', proargtypes => 'float4', 559 prosrc => 'float4um' }, 560{ oid => '207', 561 proname => 'float4abs', prorettype => 'float4', proargtypes => 'float4', 562 prosrc => 'float4abs' }, 563{ oid => '208', descr => 'aggregate transition function', 564 proname => 'float4_accum', prorettype => '_float8', 565 proargtypes => '_float8 float4', prosrc => 'float4_accum' }, 566{ oid => '209', descr => 'larger of two', 567 proname => 'float4larger', prorettype => 'float4', 568 proargtypes => 'float4 float4', prosrc => 'float4larger' }, 569{ oid => '211', descr => 'smaller of two', 570 proname => 'float4smaller', prorettype => 'float4', 571 proargtypes => 'float4 float4', prosrc => 'float4smaller' }, 572 573{ oid => '212', 574 proname => 'int4um', prorettype => 'int4', proargtypes => 'int4', 575 prosrc => 'int4um' }, 576{ oid => '213', 577 proname => 'int2um', prorettype => 'int2', proargtypes => 'int2', 578 prosrc => 'int2um' }, 579 580{ oid => '214', descr => 'I/O', 581 proname => 'float8in', prorettype => 'float8', proargtypes => 'cstring', 582 prosrc => 'float8in' }, 583{ oid => '215', descr => 'I/O', 584 proname => 'float8out', prorettype => 'cstring', proargtypes => 'float8', 585 prosrc => 'float8out' }, 586{ oid => '216', 587 proname => 'float8mul', prorettype => 'float8', 588 proargtypes => 'float8 float8', prosrc => 'float8mul' }, 589{ oid => '217', 590 proname => 'float8div', prorettype => 'float8', 591 proargtypes => 'float8 float8', prosrc => 'float8div' }, 592{ oid => '218', 593 proname => 'float8pl', prorettype => 'float8', proargtypes => 'float8 float8', 594 prosrc => 'float8pl' }, 595{ oid => '219', 596 proname => 'float8mi', prorettype => 'float8', proargtypes => 'float8 float8', 597 prosrc => 'float8mi' }, 598{ oid => '220', 599 proname => 'float8um', prorettype => 'float8', proargtypes => 'float8', 600 prosrc => 'float8um' }, 601{ oid => '221', 602 proname => 'float8abs', prorettype => 'float8', proargtypes => 'float8', 603 prosrc => 'float8abs' }, 604{ oid => '222', descr => 'aggregate transition function', 605 proname => 'float8_accum', prorettype => '_float8', 606 proargtypes => '_float8 float8', prosrc => 'float8_accum' }, 607{ oid => '276', descr => 'aggregate combine function', 608 proname => 'float8_combine', prorettype => '_float8', 609 proargtypes => '_float8 _float8', prosrc => 'float8_combine' }, 610{ oid => '223', descr => 'larger of two', 611 proname => 'float8larger', prorettype => 'float8', 612 proargtypes => 'float8 float8', prosrc => 'float8larger' }, 613{ oid => '224', descr => 'smaller of two', 614 proname => 'float8smaller', prorettype => 'float8', 615 proargtypes => 'float8 float8', prosrc => 'float8smaller' }, 616 617{ oid => '225', 618 proname => 'lseg_center', prorettype => 'point', proargtypes => 'lseg', 619 prosrc => 'lseg_center' }, 620{ oid => '226', 621 proname => 'path_center', prorettype => 'point', proargtypes => 'path', 622 prosrc => 'path_center' }, 623{ oid => '227', 624 proname => 'poly_center', prorettype => 'point', proargtypes => 'polygon', 625 prosrc => 'poly_center' }, 626 627{ oid => '228', descr => 'round to nearest integer', 628 proname => 'dround', prorettype => 'float8', proargtypes => 'float8', 629 prosrc => 'dround' }, 630{ oid => '229', descr => 'truncate to integer', 631 proname => 'dtrunc', prorettype => 'float8', proargtypes => 'float8', 632 prosrc => 'dtrunc' }, 633{ oid => '2308', descr => 'nearest integer >= value', 634 proname => 'ceil', prorettype => 'float8', proargtypes => 'float8', 635 prosrc => 'dceil' }, 636{ oid => '2320', descr => 'nearest integer >= value', 637 proname => 'ceiling', prorettype => 'float8', proargtypes => 'float8', 638 prosrc => 'dceil' }, 639{ oid => '2309', descr => 'nearest integer <= value', 640 proname => 'floor', prorettype => 'float8', proargtypes => 'float8', 641 prosrc => 'dfloor' }, 642{ oid => '2310', descr => 'sign of value', 643 proname => 'sign', prorettype => 'float8', proargtypes => 'float8', 644 prosrc => 'dsign' }, 645{ oid => '230', 646 proname => 'dsqrt', prorettype => 'float8', proargtypes => 'float8', 647 prosrc => 'dsqrt' }, 648{ oid => '231', 649 proname => 'dcbrt', prorettype => 'float8', proargtypes => 'float8', 650 prosrc => 'dcbrt' }, 651{ oid => '232', 652 proname => 'dpow', prorettype => 'float8', proargtypes => 'float8 float8', 653 prosrc => 'dpow' }, 654{ oid => '233', descr => 'natural exponential (e^x)', 655 proname => 'dexp', prorettype => 'float8', proargtypes => 'float8', 656 prosrc => 'dexp' }, 657{ oid => '234', descr => 'natural logarithm', 658 proname => 'dlog1', prorettype => 'float8', proargtypes => 'float8', 659 prosrc => 'dlog1' }, 660{ oid => '235', descr => 'convert int2 to float8', 661 proname => 'float8', prorettype => 'float8', proargtypes => 'int2', 662 prosrc => 'i2tod' }, 663{ oid => '236', descr => 'convert int2 to float4', 664 proname => 'float4', prorettype => 'float4', proargtypes => 'int2', 665 prosrc => 'i2tof' }, 666{ oid => '237', descr => 'convert float8 to int2', 667 proname => 'int2', prorettype => 'int2', proargtypes => 'float8', 668 prosrc => 'dtoi2' }, 669{ oid => '238', descr => 'convert float4 to int2', 670 proname => 'int2', prorettype => 'int2', proargtypes => 'float4', 671 prosrc => 'ftoi2' }, 672{ oid => '239', 673 proname => 'line_distance', prorettype => 'float8', 674 proargtypes => 'line line', prosrc => 'line_distance' }, 675 676{ oid => '240', descr => 'I/O', 677 proname => 'abstimein', provolatile => 's', prorettype => 'abstime', 678 proargtypes => 'cstring', prosrc => 'abstimein' }, 679{ oid => '241', descr => 'I/O', 680 proname => 'abstimeout', provolatile => 's', prorettype => 'cstring', 681 proargtypes => 'abstime', prosrc => 'abstimeout' }, 682{ oid => '242', descr => 'I/O', 683 proname => 'reltimein', provolatile => 's', prorettype => 'reltime', 684 proargtypes => 'cstring', prosrc => 'reltimein' }, 685{ oid => '243', descr => 'I/O', 686 proname => 'reltimeout', provolatile => 's', prorettype => 'cstring', 687 proargtypes => 'reltime', prosrc => 'reltimeout' }, 688{ oid => '244', 689 proname => 'timepl', prorettype => 'abstime', 690 proargtypes => 'abstime reltime', prosrc => 'timepl' }, 691{ oid => '245', 692 proname => 'timemi', prorettype => 'abstime', 693 proargtypes => 'abstime reltime', prosrc => 'timemi' }, 694{ oid => '246', descr => 'I/O', 695 proname => 'tintervalin', provolatile => 's', prorettype => 'tinterval', 696 proargtypes => 'cstring', prosrc => 'tintervalin' }, 697{ oid => '247', descr => 'I/O', 698 proname => 'tintervalout', provolatile => 's', prorettype => 'cstring', 699 proargtypes => 'tinterval', prosrc => 'tintervalout' }, 700{ oid => '248', 701 proname => 'intinterval', prorettype => 'bool', 702 proargtypes => 'abstime tinterval', prosrc => 'intinterval' }, 703{ oid => '249', descr => 'tinterval to reltime', 704 proname => 'tintervalrel', prorettype => 'reltime', 705 proargtypes => 'tinterval', prosrc => 'tintervalrel' }, 706{ oid => '250', descr => 'current date and time (abstime)', 707 proname => 'timenow', provolatile => 's', prorettype => 'abstime', 708 proargtypes => '', prosrc => 'timenow' }, 709{ oid => '251', 710 proname => 'abstimeeq', proleakproof => 't', prorettype => 'bool', 711 proargtypes => 'abstime abstime', prosrc => 'abstimeeq' }, 712{ oid => '252', 713 proname => 'abstimene', proleakproof => 't', prorettype => 'bool', 714 proargtypes => 'abstime abstime', prosrc => 'abstimene' }, 715{ oid => '253', 716 proname => 'abstimelt', proleakproof => 't', prorettype => 'bool', 717 proargtypes => 'abstime abstime', prosrc => 'abstimelt' }, 718{ oid => '254', 719 proname => 'abstimegt', proleakproof => 't', prorettype => 'bool', 720 proargtypes => 'abstime abstime', prosrc => 'abstimegt' }, 721{ oid => '255', 722 proname => 'abstimele', proleakproof => 't', prorettype => 'bool', 723 proargtypes => 'abstime abstime', prosrc => 'abstimele' }, 724{ oid => '256', 725 proname => 'abstimege', proleakproof => 't', prorettype => 'bool', 726 proargtypes => 'abstime abstime', prosrc => 'abstimege' }, 727{ oid => '257', 728 proname => 'reltimeeq', proleakproof => 't', prorettype => 'bool', 729 proargtypes => 'reltime reltime', prosrc => 'reltimeeq' }, 730{ oid => '258', 731 proname => 'reltimene', proleakproof => 't', prorettype => 'bool', 732 proargtypes => 'reltime reltime', prosrc => 'reltimene' }, 733{ oid => '259', 734 proname => 'reltimelt', proleakproof => 't', prorettype => 'bool', 735 proargtypes => 'reltime reltime', prosrc => 'reltimelt' }, 736{ oid => '260', 737 proname => 'reltimegt', proleakproof => 't', prorettype => 'bool', 738 proargtypes => 'reltime reltime', prosrc => 'reltimegt' }, 739{ oid => '261', 740 proname => 'reltimele', proleakproof => 't', prorettype => 'bool', 741 proargtypes => 'reltime reltime', prosrc => 'reltimele' }, 742{ oid => '262', 743 proname => 'reltimege', proleakproof => 't', prorettype => 'bool', 744 proargtypes => 'reltime reltime', prosrc => 'reltimege' }, 745{ oid => '263', 746 proname => 'tintervalsame', prorettype => 'bool', 747 proargtypes => 'tinterval tinterval', prosrc => 'tintervalsame' }, 748{ oid => '264', 749 proname => 'tintervalct', prorettype => 'bool', 750 proargtypes => 'tinterval tinterval', prosrc => 'tintervalct' }, 751{ oid => '265', 752 proname => 'tintervalov', prorettype => 'bool', 753 proargtypes => 'tinterval tinterval', prosrc => 'tintervalov' }, 754{ oid => '266', 755 proname => 'tintervalleneq', proleakproof => 't', prorettype => 'bool', 756 proargtypes => 'tinterval reltime', prosrc => 'tintervalleneq' }, 757{ oid => '267', 758 proname => 'tintervallenne', proleakproof => 't', prorettype => 'bool', 759 proargtypes => 'tinterval reltime', prosrc => 'tintervallenne' }, 760{ oid => '268', 761 proname => 'tintervallenlt', proleakproof => 't', prorettype => 'bool', 762 proargtypes => 'tinterval reltime', prosrc => 'tintervallenlt' }, 763{ oid => '269', 764 proname => 'tintervallengt', proleakproof => 't', prorettype => 'bool', 765 proargtypes => 'tinterval reltime', prosrc => 'tintervallengt' }, 766{ oid => '270', 767 proname => 'tintervallenle', proleakproof => 't', prorettype => 'bool', 768 proargtypes => 'tinterval reltime', prosrc => 'tintervallenle' }, 769{ oid => '271', 770 proname => 'tintervallenge', proleakproof => 't', prorettype => 'bool', 771 proargtypes => 'tinterval reltime', prosrc => 'tintervallenge' }, 772{ oid => '272', 773 proname => 'tintervalstart', prorettype => 'abstime', 774 proargtypes => 'tinterval', prosrc => 'tintervalstart' }, 775{ oid => '273', descr => 'end of interval', 776 proname => 'tintervalend', prorettype => 'abstime', 777 proargtypes => 'tinterval', prosrc => 'tintervalend' }, 778{ oid => '274', 779 descr => 'current date and time - increments during transactions', 780 proname => 'timeofday', provolatile => 'v', prorettype => 'text', 781 proargtypes => '', prosrc => 'timeofday' }, 782{ oid => '275', descr => 'finite abstime?', 783 proname => 'isfinite', prorettype => 'bool', proargtypes => 'abstime', 784 prosrc => 'abstime_finite' }, 785 786{ oid => '277', 787 proname => 'inter_sl', prorettype => 'bool', proargtypes => 'lseg line', 788 prosrc => 'inter_sl' }, 789{ oid => '278', 790 proname => 'inter_lb', prorettype => 'bool', proargtypes => 'line box', 791 prosrc => 'inter_lb' }, 792 793{ oid => '279', 794 proname => 'float48mul', prorettype => 'float8', 795 proargtypes => 'float4 float8', prosrc => 'float48mul' }, 796{ oid => '280', 797 proname => 'float48div', prorettype => 'float8', 798 proargtypes => 'float4 float8', prosrc => 'float48div' }, 799{ oid => '281', 800 proname => 'float48pl', prorettype => 'float8', 801 proargtypes => 'float4 float8', prosrc => 'float48pl' }, 802{ oid => '282', 803 proname => 'float48mi', prorettype => 'float8', 804 proargtypes => 'float4 float8', prosrc => 'float48mi' }, 805{ oid => '283', 806 proname => 'float84mul', prorettype => 'float8', 807 proargtypes => 'float8 float4', prosrc => 'float84mul' }, 808{ oid => '284', 809 proname => 'float84div', prorettype => 'float8', 810 proargtypes => 'float8 float4', prosrc => 'float84div' }, 811{ oid => '285', 812 proname => 'float84pl', prorettype => 'float8', 813 proargtypes => 'float8 float4', prosrc => 'float84pl' }, 814{ oid => '286', 815 proname => 'float84mi', prorettype => 'float8', 816 proargtypes => 'float8 float4', prosrc => 'float84mi' }, 817 818{ oid => '287', 819 proname => 'float4eq', proleakproof => 't', prorettype => 'bool', 820 proargtypes => 'float4 float4', prosrc => 'float4eq' }, 821{ oid => '288', 822 proname => 'float4ne', proleakproof => 't', prorettype => 'bool', 823 proargtypes => 'float4 float4', prosrc => 'float4ne' }, 824{ oid => '289', 825 proname => 'float4lt', proleakproof => 't', prorettype => 'bool', 826 proargtypes => 'float4 float4', prosrc => 'float4lt' }, 827{ oid => '290', 828 proname => 'float4le', proleakproof => 't', prorettype => 'bool', 829 proargtypes => 'float4 float4', prosrc => 'float4le' }, 830{ oid => '291', 831 proname => 'float4gt', proleakproof => 't', prorettype => 'bool', 832 proargtypes => 'float4 float4', prosrc => 'float4gt' }, 833{ oid => '292', 834 proname => 'float4ge', proleakproof => 't', prorettype => 'bool', 835 proargtypes => 'float4 float4', prosrc => 'float4ge' }, 836 837{ oid => '293', 838 proname => 'float8eq', proleakproof => 't', prorettype => 'bool', 839 proargtypes => 'float8 float8', prosrc => 'float8eq' }, 840{ oid => '294', 841 proname => 'float8ne', proleakproof => 't', prorettype => 'bool', 842 proargtypes => 'float8 float8', prosrc => 'float8ne' }, 843{ oid => '295', 844 proname => 'float8lt', proleakproof => 't', prorettype => 'bool', 845 proargtypes => 'float8 float8', prosrc => 'float8lt' }, 846{ oid => '296', 847 proname => 'float8le', proleakproof => 't', prorettype => 'bool', 848 proargtypes => 'float8 float8', prosrc => 'float8le' }, 849{ oid => '297', 850 proname => 'float8gt', proleakproof => 't', prorettype => 'bool', 851 proargtypes => 'float8 float8', prosrc => 'float8gt' }, 852{ oid => '298', 853 proname => 'float8ge', proleakproof => 't', prorettype => 'bool', 854 proargtypes => 'float8 float8', prosrc => 'float8ge' }, 855 856{ oid => '299', 857 proname => 'float48eq', proleakproof => 't', prorettype => 'bool', 858 proargtypes => 'float4 float8', prosrc => 'float48eq' }, 859 860# OIDS 300 - 399 861 862{ oid => '300', 863 proname => 'float48ne', proleakproof => 't', prorettype => 'bool', 864 proargtypes => 'float4 float8', prosrc => 'float48ne' }, 865{ oid => '301', 866 proname => 'float48lt', proleakproof => 't', prorettype => 'bool', 867 proargtypes => 'float4 float8', prosrc => 'float48lt' }, 868{ oid => '302', 869 proname => 'float48le', proleakproof => 't', prorettype => 'bool', 870 proargtypes => 'float4 float8', prosrc => 'float48le' }, 871{ oid => '303', 872 proname => 'float48gt', proleakproof => 't', prorettype => 'bool', 873 proargtypes => 'float4 float8', prosrc => 'float48gt' }, 874{ oid => '304', 875 proname => 'float48ge', proleakproof => 't', prorettype => 'bool', 876 proargtypes => 'float4 float8', prosrc => 'float48ge' }, 877{ oid => '305', 878 proname => 'float84eq', proleakproof => 't', prorettype => 'bool', 879 proargtypes => 'float8 float4', prosrc => 'float84eq' }, 880{ oid => '306', 881 proname => 'float84ne', proleakproof => 't', prorettype => 'bool', 882 proargtypes => 'float8 float4', prosrc => 'float84ne' }, 883{ oid => '307', 884 proname => 'float84lt', proleakproof => 't', prorettype => 'bool', 885 proargtypes => 'float8 float4', prosrc => 'float84lt' }, 886{ oid => '308', 887 proname => 'float84le', proleakproof => 't', prorettype => 'bool', 888 proargtypes => 'float8 float4', prosrc => 'float84le' }, 889{ oid => '309', 890 proname => 'float84gt', proleakproof => 't', prorettype => 'bool', 891 proargtypes => 'float8 float4', prosrc => 'float84gt' }, 892{ oid => '310', 893 proname => 'float84ge', proleakproof => 't', prorettype => 'bool', 894 proargtypes => 'float8 float4', prosrc => 'float84ge' }, 895{ oid => '320', descr => 'bucket number of operand in equal-width histogram', 896 proname => 'width_bucket', prorettype => 'int4', 897 proargtypes => 'float8 float8 float8 int4', prosrc => 'width_bucket_float8' }, 898 899{ oid => '311', descr => 'convert float4 to float8', 900 proname => 'float8', prorettype => 'float8', proargtypes => 'float4', 901 prosrc => 'ftod' }, 902{ oid => '312', descr => 'convert float8 to float4', 903 proname => 'float4', prorettype => 'float4', proargtypes => 'float8', 904 prosrc => 'dtof' }, 905{ oid => '313', descr => 'convert int2 to int4', 906 proname => 'int4', prorettype => 'int4', proargtypes => 'int2', 907 prosrc => 'i2toi4' }, 908{ oid => '314', descr => 'convert int4 to int2', 909 proname => 'int2', prorettype => 'int2', proargtypes => 'int4', 910 prosrc => 'i4toi2' }, 911{ oid => '316', descr => 'convert int4 to float8', 912 proname => 'float8', prorettype => 'float8', proargtypes => 'int4', 913 prosrc => 'i4tod' }, 914{ oid => '317', descr => 'convert float8 to int4', 915 proname => 'int4', prorettype => 'int4', proargtypes => 'float8', 916 prosrc => 'dtoi4' }, 917{ oid => '318', descr => 'convert int4 to float4', 918 proname => 'float4', prorettype => 'float4', proargtypes => 'int4', 919 prosrc => 'i4tof' }, 920{ oid => '319', descr => 'convert float4 to int4', 921 proname => 'int4', prorettype => 'int4', proargtypes => 'float4', 922 prosrc => 'ftoi4' }, 923 924# Index access method handlers 925{ oid => '330', descr => 'btree index access method handler', 926 proname => 'bthandler', provolatile => 'v', prorettype => 'index_am_handler', 927 proargtypes => 'internal', prosrc => 'bthandler' }, 928{ oid => '331', descr => 'hash index access method handler', 929 proname => 'hashhandler', provolatile => 'v', 930 prorettype => 'index_am_handler', proargtypes => 'internal', 931 prosrc => 'hashhandler' }, 932{ oid => '332', descr => 'gist index access method handler', 933 proname => 'gisthandler', provolatile => 'v', 934 prorettype => 'index_am_handler', proargtypes => 'internal', 935 prosrc => 'gisthandler' }, 936{ oid => '333', descr => 'gin index access method handler', 937 proname => 'ginhandler', provolatile => 'v', prorettype => 'index_am_handler', 938 proargtypes => 'internal', prosrc => 'ginhandler' }, 939{ oid => '334', descr => 'spgist index access method handler', 940 proname => 'spghandler', provolatile => 'v', prorettype => 'index_am_handler', 941 proargtypes => 'internal', prosrc => 'spghandler' }, 942{ oid => '335', descr => 'brin index access method handler', 943 proname => 'brinhandler', provolatile => 'v', 944 prorettype => 'index_am_handler', proargtypes => 'internal', 945 prosrc => 'brinhandler' }, 946{ oid => '3952', descr => 'brin: standalone scan new table pages', 947 proname => 'brin_summarize_new_values', provolatile => 'v', 948 proparallel => 'u', prorettype => 'int4', proargtypes => 'regclass', 949 prosrc => 'brin_summarize_new_values' }, 950{ oid => '3999', descr => 'brin: standalone scan new table pages', 951 proname => 'brin_summarize_range', provolatile => 'v', proparallel => 'u', 952 prorettype => 'int4', proargtypes => 'regclass int8', 953 prosrc => 'brin_summarize_range' }, 954{ oid => '4014', descr => 'brin: desummarize page range', 955 proname => 'brin_desummarize_range', provolatile => 'v', proparallel => 'u', 956 prorettype => 'void', proargtypes => 'regclass int8', 957 prosrc => 'brin_desummarize_range' }, 958 959{ oid => '338', descr => 'validate an operator class', 960 proname => 'amvalidate', provolatile => 'v', prorettype => 'bool', 961 proargtypes => 'oid', prosrc => 'amvalidate' }, 962 963{ oid => '636', descr => 'test property of an index access method', 964 proname => 'pg_indexam_has_property', provolatile => 's', 965 prorettype => 'bool', proargtypes => 'oid text', 966 prosrc => 'pg_indexam_has_property' }, 967{ oid => '637', descr => 'test property of an index', 968 proname => 'pg_index_has_property', provolatile => 's', prorettype => 'bool', 969 proargtypes => 'regclass text', prosrc => 'pg_index_has_property' }, 970{ oid => '638', descr => 'test property of an index column', 971 proname => 'pg_index_column_has_property', provolatile => 's', 972 prorettype => 'bool', proargtypes => 'regclass int4 text', 973 prosrc => 'pg_index_column_has_property' }, 974 975{ oid => '339', 976 proname => 'poly_same', prorettype => 'bool', 977 proargtypes => 'polygon polygon', prosrc => 'poly_same' }, 978{ oid => '340', 979 proname => 'poly_contain', prorettype => 'bool', 980 proargtypes => 'polygon polygon', prosrc => 'poly_contain' }, 981{ oid => '341', 982 proname => 'poly_left', prorettype => 'bool', 983 proargtypes => 'polygon polygon', prosrc => 'poly_left' }, 984{ oid => '342', 985 proname => 'poly_overleft', prorettype => 'bool', 986 proargtypes => 'polygon polygon', prosrc => 'poly_overleft' }, 987{ oid => '343', 988 proname => 'poly_overright', prorettype => 'bool', 989 proargtypes => 'polygon polygon', prosrc => 'poly_overright' }, 990{ oid => '344', 991 proname => 'poly_right', prorettype => 'bool', 992 proargtypes => 'polygon polygon', prosrc => 'poly_right' }, 993{ oid => '345', 994 proname => 'poly_contained', prorettype => 'bool', 995 proargtypes => 'polygon polygon', prosrc => 'poly_contained' }, 996{ oid => '346', 997 proname => 'poly_overlap', prorettype => 'bool', 998 proargtypes => 'polygon polygon', prosrc => 'poly_overlap' }, 999{ oid => '347', descr => 'I/O', 1000 proname => 'poly_in', prorettype => 'polygon', proargtypes => 'cstring', 1001 prosrc => 'poly_in' }, 1002{ oid => '348', descr => 'I/O', 1003 proname => 'poly_out', prorettype => 'cstring', proargtypes => 'polygon', 1004 prosrc => 'poly_out' }, 1005 1006{ oid => '350', descr => 'less-equal-greater', 1007 proname => 'btint2cmp', prorettype => 'int4', proargtypes => 'int2 int2', 1008 prosrc => 'btint2cmp' }, 1009{ oid => '3129', descr => 'sort support', 1010 proname => 'btint2sortsupport', prorettype => 'void', 1011 proargtypes => 'internal', prosrc => 'btint2sortsupport' }, 1012{ oid => '351', descr => 'less-equal-greater', 1013 proname => 'btint4cmp', prorettype => 'int4', proargtypes => 'int4 int4', 1014 prosrc => 'btint4cmp' }, 1015{ oid => '3130', descr => 'sort support', 1016 proname => 'btint4sortsupport', prorettype => 'void', 1017 proargtypes => 'internal', prosrc => 'btint4sortsupport' }, 1018{ oid => '842', descr => 'less-equal-greater', 1019 proname => 'btint8cmp', prorettype => 'int4', proargtypes => 'int8 int8', 1020 prosrc => 'btint8cmp' }, 1021{ oid => '3131', descr => 'sort support', 1022 proname => 'btint8sortsupport', prorettype => 'void', 1023 proargtypes => 'internal', prosrc => 'btint8sortsupport' }, 1024{ oid => '354', descr => 'less-equal-greater', 1025 proname => 'btfloat4cmp', prorettype => 'int4', 1026 proargtypes => 'float4 float4', prosrc => 'btfloat4cmp' }, 1027{ oid => '3132', descr => 'sort support', 1028 proname => 'btfloat4sortsupport', prorettype => 'void', 1029 proargtypes => 'internal', prosrc => 'btfloat4sortsupport' }, 1030{ oid => '355', descr => 'less-equal-greater', 1031 proname => 'btfloat8cmp', prorettype => 'int4', 1032 proargtypes => 'float8 float8', prosrc => 'btfloat8cmp' }, 1033{ oid => '3133', descr => 'sort support', 1034 proname => 'btfloat8sortsupport', prorettype => 'void', 1035 proargtypes => 'internal', prosrc => 'btfloat8sortsupport' }, 1036{ oid => '356', descr => 'less-equal-greater', 1037 proname => 'btoidcmp', prorettype => 'int4', proargtypes => 'oid oid', 1038 prosrc => 'btoidcmp' }, 1039{ oid => '3134', descr => 'sort support', 1040 proname => 'btoidsortsupport', prorettype => 'void', 1041 proargtypes => 'internal', prosrc => 'btoidsortsupport' }, 1042{ oid => '404', descr => 'less-equal-greater', 1043 proname => 'btoidvectorcmp', prorettype => 'int4', 1044 proargtypes => 'oidvector oidvector', prosrc => 'btoidvectorcmp' }, 1045{ oid => '357', descr => 'less-equal-greater', 1046 proname => 'btabstimecmp', prorettype => 'int4', 1047 proargtypes => 'abstime abstime', prosrc => 'btabstimecmp' }, 1048{ oid => '358', descr => 'less-equal-greater', 1049 proname => 'btcharcmp', prorettype => 'int4', proargtypes => 'char char', 1050 prosrc => 'btcharcmp' }, 1051{ oid => '359', descr => 'less-equal-greater', 1052 proname => 'btnamecmp', prorettype => 'int4', proargtypes => 'name name', 1053 prosrc => 'btnamecmp' }, 1054{ oid => '3135', descr => 'sort support', 1055 proname => 'btnamesortsupport', prorettype => 'void', 1056 proargtypes => 'internal', prosrc => 'btnamesortsupport' }, 1057{ oid => '360', descr => 'less-equal-greater', 1058 proname => 'bttextcmp', prorettype => 'int4', proargtypes => 'text text', 1059 prosrc => 'bttextcmp' }, 1060{ oid => '3255', descr => 'sort support', 1061 proname => 'bttextsortsupport', prorettype => 'void', 1062 proargtypes => 'internal', prosrc => 'bttextsortsupport' }, 1063{ oid => '377', descr => 'less-equal-greater', 1064 proname => 'cash_cmp', prorettype => 'int4', proargtypes => 'money money', 1065 prosrc => 'cash_cmp' }, 1066{ oid => '380', descr => 'less-equal-greater', 1067 proname => 'btreltimecmp', prorettype => 'int4', 1068 proargtypes => 'reltime reltime', prosrc => 'btreltimecmp' }, 1069{ oid => '381', descr => 'less-equal-greater', 1070 proname => 'bttintervalcmp', prorettype => 'int4', 1071 proargtypes => 'tinterval tinterval', prosrc => 'bttintervalcmp' }, 1072{ oid => '382', descr => 'less-equal-greater', 1073 proname => 'btarraycmp', prorettype => 'int4', 1074 proargtypes => 'anyarray anyarray', prosrc => 'btarraycmp' }, 1075{ oid => '4126', descr => 'window RANGE support', 1076 proname => 'in_range', prorettype => 'bool', 1077 proargtypes => 'int8 int8 int8 bool bool', prosrc => 'in_range_int8_int8' }, 1078{ oid => '4127', descr => 'window RANGE support', 1079 proname => 'in_range', prorettype => 'bool', 1080 proargtypes => 'int4 int4 int8 bool bool', prosrc => 'in_range_int4_int8' }, 1081{ oid => '4128', descr => 'window RANGE support', 1082 proname => 'in_range', prorettype => 'bool', 1083 proargtypes => 'int4 int4 int4 bool bool', prosrc => 'in_range_int4_int4' }, 1084{ oid => '4129', descr => 'window RANGE support', 1085 proname => 'in_range', prorettype => 'bool', 1086 proargtypes => 'int4 int4 int2 bool bool', prosrc => 'in_range_int4_int2' }, 1087{ oid => '4130', descr => 'window RANGE support', 1088 proname => 'in_range', prorettype => 'bool', 1089 proargtypes => 'int2 int2 int8 bool bool', prosrc => 'in_range_int2_int8' }, 1090{ oid => '4131', descr => 'window RANGE support', 1091 proname => 'in_range', prorettype => 'bool', 1092 proargtypes => 'int2 int2 int4 bool bool', prosrc => 'in_range_int2_int4' }, 1093{ oid => '4132', descr => 'window RANGE support', 1094 proname => 'in_range', prorettype => 'bool', 1095 proargtypes => 'int2 int2 int2 bool bool', prosrc => 'in_range_int2_int2' }, 1096{ oid => '4139', descr => 'window RANGE support', 1097 proname => 'in_range', prorettype => 'bool', 1098 proargtypes => 'float8 float8 float8 bool bool', 1099 prosrc => 'in_range_float8_float8' }, 1100{ oid => '4140', descr => 'window RANGE support', 1101 proname => 'in_range', prorettype => 'bool', 1102 proargtypes => 'float4 float4 float8 bool bool', 1103 prosrc => 'in_range_float4_float8' }, 1104{ oid => '4141', descr => 'window RANGE support', 1105 proname => 'in_range', prorettype => 'bool', 1106 proargtypes => 'numeric numeric numeric bool bool', 1107 prosrc => 'in_range_numeric_numeric' }, 1108 1109{ oid => '361', 1110 proname => 'lseg_distance', prorettype => 'float8', 1111 proargtypes => 'lseg lseg', prosrc => 'lseg_distance' }, 1112{ oid => '362', 1113 proname => 'lseg_interpt', prorettype => 'point', proargtypes => 'lseg lseg', 1114 prosrc => 'lseg_interpt' }, 1115{ oid => '363', 1116 proname => 'dist_ps', prorettype => 'float8', proargtypes => 'point lseg', 1117 prosrc => 'dist_ps' }, 1118{ oid => '364', 1119 proname => 'dist_pb', prorettype => 'float8', proargtypes => 'point box', 1120 prosrc => 'dist_pb' }, 1121{ oid => '365', 1122 proname => 'dist_sb', prorettype => 'float8', proargtypes => 'lseg box', 1123 prosrc => 'dist_sb' }, 1124{ oid => '366', 1125 proname => 'close_ps', prorettype => 'point', proargtypes => 'point lseg', 1126 prosrc => 'close_ps' }, 1127{ oid => '367', 1128 proname => 'close_pb', prorettype => 'point', proargtypes => 'point box', 1129 prosrc => 'close_pb' }, 1130{ oid => '368', 1131 proname => 'close_sb', prorettype => 'point', proargtypes => 'lseg box', 1132 prosrc => 'close_sb' }, 1133{ oid => '369', 1134 proname => 'on_ps', prorettype => 'bool', proargtypes => 'point lseg', 1135 prosrc => 'on_ps' }, 1136{ oid => '370', 1137 proname => 'path_distance', prorettype => 'float8', 1138 proargtypes => 'path path', prosrc => 'path_distance' }, 1139{ oid => '371', 1140 proname => 'dist_ppath', prorettype => 'float8', proargtypes => 'point path', 1141 prosrc => 'dist_ppath' }, 1142{ oid => '372', 1143 proname => 'on_sb', prorettype => 'bool', proargtypes => 'lseg box', 1144 prosrc => 'on_sb' }, 1145{ oid => '373', 1146 proname => 'inter_sb', prorettype => 'bool', proargtypes => 'lseg box', 1147 prosrc => 'inter_sb' }, 1148 1149# OIDS 400 - 499 1150 1151{ oid => '401', descr => 'convert char(n) to text', 1152 proname => 'text', prorettype => 'text', proargtypes => 'bpchar', 1153 prosrc => 'rtrim1' }, 1154{ oid => '406', descr => 'convert name to text', 1155 proname => 'text', prorettype => 'text', proargtypes => 'name', 1156 prosrc => 'name_text' }, 1157{ oid => '407', descr => 'convert text to name', 1158 proname => 'name', prorettype => 'name', proargtypes => 'text', 1159 prosrc => 'text_name' }, 1160{ oid => '408', descr => 'convert name to char(n)', 1161 proname => 'bpchar', prorettype => 'bpchar', proargtypes => 'name', 1162 prosrc => 'name_bpchar' }, 1163{ oid => '409', descr => 'convert char(n) to name', 1164 proname => 'name', prorettype => 'name', proargtypes => 'bpchar', 1165 prosrc => 'bpchar_name' }, 1166 1167{ oid => '449', descr => 'hash', 1168 proname => 'hashint2', prorettype => 'int4', proargtypes => 'int2', 1169 prosrc => 'hashint2' }, 1170{ oid => '441', descr => 'hash', 1171 proname => 'hashint2extended', prorettype => 'int8', 1172 proargtypes => 'int2 int8', prosrc => 'hashint2extended' }, 1173{ oid => '450', descr => 'hash', 1174 proname => 'hashint4', prorettype => 'int4', proargtypes => 'int4', 1175 prosrc => 'hashint4' }, 1176{ oid => '425', descr => 'hash', 1177 proname => 'hashint4extended', prorettype => 'int8', 1178 proargtypes => 'int4 int8', prosrc => 'hashint4extended' }, 1179{ oid => '949', descr => 'hash', 1180 proname => 'hashint8', prorettype => 'int4', proargtypes => 'int8', 1181 prosrc => 'hashint8' }, 1182{ oid => '442', descr => 'hash', 1183 proname => 'hashint8extended', prorettype => 'int8', 1184 proargtypes => 'int8 int8', prosrc => 'hashint8extended' }, 1185{ oid => '451', descr => 'hash', 1186 proname => 'hashfloat4', prorettype => 'int4', proargtypes => 'float4', 1187 prosrc => 'hashfloat4' }, 1188{ oid => '443', descr => 'hash', 1189 proname => 'hashfloat4extended', prorettype => 'int8', 1190 proargtypes => 'float4 int8', prosrc => 'hashfloat4extended' }, 1191{ oid => '452', descr => 'hash', 1192 proname => 'hashfloat8', prorettype => 'int4', proargtypes => 'float8', 1193 prosrc => 'hashfloat8' }, 1194{ oid => '444', descr => 'hash', 1195 proname => 'hashfloat8extended', prorettype => 'int8', 1196 proargtypes => 'float8 int8', prosrc => 'hashfloat8extended' }, 1197{ oid => '453', descr => 'hash', 1198 proname => 'hashoid', prorettype => 'int4', proargtypes => 'oid', 1199 prosrc => 'hashoid' }, 1200{ oid => '445', descr => 'hash', 1201 proname => 'hashoidextended', prorettype => 'int8', proargtypes => 'oid int8', 1202 prosrc => 'hashoidextended' }, 1203{ oid => '454', descr => 'hash', 1204 proname => 'hashchar', prorettype => 'int4', proargtypes => 'char', 1205 prosrc => 'hashchar' }, 1206{ oid => '446', descr => 'hash', 1207 proname => 'hashcharextended', prorettype => 'int8', 1208 proargtypes => 'char int8', prosrc => 'hashcharextended' }, 1209{ oid => '455', descr => 'hash', 1210 proname => 'hashname', prorettype => 'int4', proargtypes => 'name', 1211 prosrc => 'hashname' }, 1212{ oid => '447', descr => 'hash', 1213 proname => 'hashnameextended', prorettype => 'int8', 1214 proargtypes => 'name int8', prosrc => 'hashnameextended' }, 1215{ oid => '400', descr => 'hash', 1216 proname => 'hashtext', prorettype => 'int4', proargtypes => 'text', 1217 prosrc => 'hashtext' }, 1218{ oid => '448', descr => 'hash', 1219 proname => 'hashtextextended', prorettype => 'int8', 1220 proargtypes => 'text int8', prosrc => 'hashtextextended' }, 1221{ oid => '456', descr => 'hash', 1222 proname => 'hashvarlena', prorettype => 'int4', proargtypes => 'internal', 1223 prosrc => 'hashvarlena' }, 1224{ oid => '772', descr => 'hash', 1225 proname => 'hashvarlenaextended', prorettype => 'int8', 1226 proargtypes => 'internal int8', prosrc => 'hashvarlenaextended' }, 1227{ oid => '457', descr => 'hash', 1228 proname => 'hashoidvector', prorettype => 'int4', proargtypes => 'oidvector', 1229 prosrc => 'hashoidvector' }, 1230{ oid => '776', descr => 'hash', 1231 proname => 'hashoidvectorextended', prorettype => 'int8', 1232 proargtypes => 'oidvector int8', prosrc => 'hashoidvectorextended' }, 1233{ oid => '329', descr => 'hash', 1234 proname => 'hash_aclitem', prorettype => 'int4', proargtypes => 'aclitem', 1235 prosrc => 'hash_aclitem' }, 1236{ oid => '777', descr => 'hash', 1237 proname => 'hash_aclitem_extended', prorettype => 'int8', 1238 proargtypes => 'aclitem int8', prosrc => 'hash_aclitem_extended' }, 1239{ oid => '399', descr => 'hash', 1240 proname => 'hashmacaddr', prorettype => 'int4', proargtypes => 'macaddr', 1241 prosrc => 'hashmacaddr' }, 1242{ oid => '778', descr => 'hash', 1243 proname => 'hashmacaddrextended', prorettype => 'int8', 1244 proargtypes => 'macaddr int8', prosrc => 'hashmacaddrextended' }, 1245{ oid => '422', descr => 'hash', 1246 proname => 'hashinet', prorettype => 'int4', proargtypes => 'inet', 1247 prosrc => 'hashinet' }, 1248{ oid => '779', descr => 'hash', 1249 proname => 'hashinetextended', prorettype => 'int8', 1250 proargtypes => 'inet int8', prosrc => 'hashinetextended' }, 1251{ oid => '432', descr => 'hash', 1252 proname => 'hash_numeric', prorettype => 'int4', proargtypes => 'numeric', 1253 prosrc => 'hash_numeric' }, 1254{ oid => '780', descr => 'hash', 1255 proname => 'hash_numeric_extended', prorettype => 'int8', 1256 proargtypes => 'numeric int8', prosrc => 'hash_numeric_extended' }, 1257{ oid => '328', descr => 'hash', 1258 proname => 'hashmacaddr8', prorettype => 'int4', proargtypes => 'macaddr8', 1259 prosrc => 'hashmacaddr8' }, 1260{ oid => '781', descr => 'hash', 1261 proname => 'hashmacaddr8extended', prorettype => 'int8', 1262 proargtypes => 'macaddr8 int8', prosrc => 'hashmacaddr8extended' }, 1263 1264{ oid => '438', descr => 'count the number of NULL arguments', 1265 proname => 'num_nulls', provariadic => 'any', proisstrict => 'f', 1266 prorettype => 'int4', proargtypes => 'any', proallargtypes => '{any}', 1267 proargmodes => '{v}', prosrc => 'pg_num_nulls' }, 1268{ oid => '440', descr => 'count the number of non-NULL arguments', 1269 proname => 'num_nonnulls', provariadic => 'any', proisstrict => 'f', 1270 prorettype => 'int4', proargtypes => 'any', proallargtypes => '{any}', 1271 proargmodes => '{v}', prosrc => 'pg_num_nonnulls' }, 1272 1273{ oid => '458', descr => 'larger of two', 1274 proname => 'text_larger', prorettype => 'text', proargtypes => 'text text', 1275 prosrc => 'text_larger' }, 1276{ oid => '459', descr => 'smaller of two', 1277 proname => 'text_smaller', prorettype => 'text', proargtypes => 'text text', 1278 prosrc => 'text_smaller' }, 1279 1280{ oid => '460', descr => 'I/O', 1281 proname => 'int8in', prorettype => 'int8', proargtypes => 'cstring', 1282 prosrc => 'int8in' }, 1283{ oid => '461', descr => 'I/O', 1284 proname => 'int8out', prorettype => 'cstring', proargtypes => 'int8', 1285 prosrc => 'int8out' }, 1286{ oid => '462', 1287 proname => 'int8um', prorettype => 'int8', proargtypes => 'int8', 1288 prosrc => 'int8um' }, 1289{ oid => '463', 1290 proname => 'int8pl', prorettype => 'int8', proargtypes => 'int8 int8', 1291 prosrc => 'int8pl' }, 1292{ oid => '464', 1293 proname => 'int8mi', prorettype => 'int8', proargtypes => 'int8 int8', 1294 prosrc => 'int8mi' }, 1295{ oid => '465', 1296 proname => 'int8mul', prorettype => 'int8', proargtypes => 'int8 int8', 1297 prosrc => 'int8mul' }, 1298{ oid => '466', 1299 proname => 'int8div', prorettype => 'int8', proargtypes => 'int8 int8', 1300 prosrc => 'int8div' }, 1301{ oid => '467', 1302 proname => 'int8eq', proleakproof => 't', prorettype => 'bool', 1303 proargtypes => 'int8 int8', prosrc => 'int8eq' }, 1304{ oid => '468', 1305 proname => 'int8ne', proleakproof => 't', prorettype => 'bool', 1306 proargtypes => 'int8 int8', prosrc => 'int8ne' }, 1307{ oid => '469', 1308 proname => 'int8lt', proleakproof => 't', prorettype => 'bool', 1309 proargtypes => 'int8 int8', prosrc => 'int8lt' }, 1310{ oid => '470', 1311 proname => 'int8gt', proleakproof => 't', prorettype => 'bool', 1312 proargtypes => 'int8 int8', prosrc => 'int8gt' }, 1313{ oid => '471', 1314 proname => 'int8le', proleakproof => 't', prorettype => 'bool', 1315 proargtypes => 'int8 int8', prosrc => 'int8le' }, 1316{ oid => '472', 1317 proname => 'int8ge', proleakproof => 't', prorettype => 'bool', 1318 proargtypes => 'int8 int8', prosrc => 'int8ge' }, 1319 1320{ oid => '474', 1321 proname => 'int84eq', proleakproof => 't', prorettype => 'bool', 1322 proargtypes => 'int8 int4', prosrc => 'int84eq' }, 1323{ oid => '475', 1324 proname => 'int84ne', proleakproof => 't', prorettype => 'bool', 1325 proargtypes => 'int8 int4', prosrc => 'int84ne' }, 1326{ oid => '476', 1327 proname => 'int84lt', proleakproof => 't', prorettype => 'bool', 1328 proargtypes => 'int8 int4', prosrc => 'int84lt' }, 1329{ oid => '477', 1330 proname => 'int84gt', proleakproof => 't', prorettype => 'bool', 1331 proargtypes => 'int8 int4', prosrc => 'int84gt' }, 1332{ oid => '478', 1333 proname => 'int84le', proleakproof => 't', prorettype => 'bool', 1334 proargtypes => 'int8 int4', prosrc => 'int84le' }, 1335{ oid => '479', 1336 proname => 'int84ge', proleakproof => 't', prorettype => 'bool', 1337 proargtypes => 'int8 int4', prosrc => 'int84ge' }, 1338 1339{ oid => '480', descr => 'convert int8 to int4', 1340 proname => 'int4', prorettype => 'int4', proargtypes => 'int8', 1341 prosrc => 'int84' }, 1342{ oid => '481', descr => 'convert int4 to int8', 1343 proname => 'int8', prorettype => 'int8', proargtypes => 'int4', 1344 prosrc => 'int48' }, 1345{ oid => '482', descr => 'convert int8 to float8', 1346 proname => 'float8', prorettype => 'float8', proargtypes => 'int8', 1347 prosrc => 'i8tod' }, 1348{ oid => '483', descr => 'convert float8 to int8', 1349 proname => 'int8', prorettype => 'int8', proargtypes => 'float8', 1350 prosrc => 'dtoi8' }, 1351 1352# OIDS 500 - 599 1353 1354# OIDS 600 - 699 1355 1356{ oid => '626', descr => 'hash', 1357 proname => 'hash_array', prorettype => 'int4', proargtypes => 'anyarray', 1358 prosrc => 'hash_array' }, 1359{ oid => '782', descr => 'hash', 1360 proname => 'hash_array_extended', prorettype => 'int8', 1361 proargtypes => 'anyarray int8', prosrc => 'hash_array_extended' }, 1362 1363{ oid => '652', descr => 'convert int8 to float4', 1364 proname => 'float4', prorettype => 'float4', proargtypes => 'int8', 1365 prosrc => 'i8tof' }, 1366{ oid => '653', descr => 'convert float4 to int8', 1367 proname => 'int8', prorettype => 'int8', proargtypes => 'float4', 1368 prosrc => 'ftoi8' }, 1369 1370{ oid => '714', descr => 'convert int8 to int2', 1371 proname => 'int2', prorettype => 'int2', proargtypes => 'int8', 1372 prosrc => 'int82' }, 1373{ oid => '754', descr => 'convert int2 to int8', 1374 proname => 'int8', prorettype => 'int8', proargtypes => 'int2', 1375 prosrc => 'int28' }, 1376 1377{ oid => '655', 1378 proname => 'namelt', proleakproof => 't', prorettype => 'bool', 1379 proargtypes => 'name name', prosrc => 'namelt' }, 1380{ oid => '656', 1381 proname => 'namele', proleakproof => 't', prorettype => 'bool', 1382 proargtypes => 'name name', prosrc => 'namele' }, 1383{ oid => '657', 1384 proname => 'namegt', proleakproof => 't', prorettype => 'bool', 1385 proargtypes => 'name name', prosrc => 'namegt' }, 1386{ oid => '658', 1387 proname => 'namege', proleakproof => 't', prorettype => 'bool', 1388 proargtypes => 'name name', prosrc => 'namege' }, 1389{ oid => '659', 1390 proname => 'namene', proleakproof => 't', prorettype => 'bool', 1391 proargtypes => 'name name', prosrc => 'namene' }, 1392 1393{ oid => '668', descr => 'adjust char() to typmod length', 1394 proname => 'bpchar', prorettype => 'bpchar', 1395 proargtypes => 'bpchar int4 bool', prosrc => 'bpchar' }, 1396{ oid => '3097', descr => 'transform a varchar length coercion', 1397 proname => 'varchar_transform', prorettype => 'internal', 1398 proargtypes => 'internal', prosrc => 'varchar_transform' }, 1399{ oid => '669', descr => 'adjust varchar() to typmod length', 1400 proname => 'varchar', protransform => 'varchar_transform', 1401 prorettype => 'varchar', proargtypes => 'varchar int4 bool', 1402 prosrc => 'varchar' }, 1403 1404{ oid => '676', 1405 proname => 'mktinterval', prorettype => 'tinterval', 1406 proargtypes => 'abstime abstime', prosrc => 'mktinterval' }, 1407 1408{ oid => '619', 1409 proname => 'oidvectorne', prorettype => 'bool', 1410 proargtypes => 'oidvector oidvector', prosrc => 'oidvectorne' }, 1411{ oid => '677', 1412 proname => 'oidvectorlt', prorettype => 'bool', 1413 proargtypes => 'oidvector oidvector', prosrc => 'oidvectorlt' }, 1414{ oid => '678', 1415 proname => 'oidvectorle', prorettype => 'bool', 1416 proargtypes => 'oidvector oidvector', prosrc => 'oidvectorle' }, 1417{ oid => '679', 1418 proname => 'oidvectoreq', prorettype => 'bool', 1419 proargtypes => 'oidvector oidvector', prosrc => 'oidvectoreq' }, 1420{ oid => '680', 1421 proname => 'oidvectorge', prorettype => 'bool', 1422 proargtypes => 'oidvector oidvector', prosrc => 'oidvectorge' }, 1423{ oid => '681', 1424 proname => 'oidvectorgt', prorettype => 'bool', 1425 proargtypes => 'oidvector oidvector', prosrc => 'oidvectorgt' }, 1426 1427# OIDS 700 - 799 1428{ oid => '710', descr => 'deprecated, use current_user instead', 1429 proname => 'getpgusername', provolatile => 's', prorettype => 'name', 1430 proargtypes => '', prosrc => 'current_user' }, 1431{ oid => '716', 1432 proname => 'oidlt', proleakproof => 't', prorettype => 'bool', 1433 proargtypes => 'oid oid', prosrc => 'oidlt' }, 1434{ oid => '717', 1435 proname => 'oidle', proleakproof => 't', prorettype => 'bool', 1436 proargtypes => 'oid oid', prosrc => 'oidle' }, 1437 1438{ oid => '720', descr => 'octet length', 1439 proname => 'octet_length', prorettype => 'int4', proargtypes => 'bytea', 1440 prosrc => 'byteaoctetlen' }, 1441{ oid => '721', descr => 'get byte', 1442 proname => 'get_byte', prorettype => 'int4', proargtypes => 'bytea int4', 1443 prosrc => 'byteaGetByte' }, 1444{ oid => '722', descr => 'set byte', 1445 proname => 'set_byte', prorettype => 'bytea', 1446 proargtypes => 'bytea int4 int4', prosrc => 'byteaSetByte' }, 1447{ oid => '723', descr => 'get bit', 1448 proname => 'get_bit', prorettype => 'int4', proargtypes => 'bytea int4', 1449 prosrc => 'byteaGetBit' }, 1450{ oid => '724', descr => 'set bit', 1451 proname => 'set_bit', prorettype => 'bytea', proargtypes => 'bytea int4 int4', 1452 prosrc => 'byteaSetBit' }, 1453{ oid => '749', descr => 'substitute portion of string', 1454 proname => 'overlay', prorettype => 'bytea', 1455 proargtypes => 'bytea bytea int4 int4', prosrc => 'byteaoverlay' }, 1456{ oid => '752', descr => 'substitute portion of string', 1457 proname => 'overlay', prorettype => 'bytea', 1458 proargtypes => 'bytea bytea int4', prosrc => 'byteaoverlay_no_len' }, 1459 1460{ oid => '725', 1461 proname => 'dist_pl', prorettype => 'float8', proargtypes => 'point line', 1462 prosrc => 'dist_pl' }, 1463{ oid => '726', 1464 proname => 'dist_lb', prorettype => 'float8', proargtypes => 'line box', 1465 prosrc => 'dist_lb' }, 1466{ oid => '727', 1467 proname => 'dist_sl', prorettype => 'float8', proargtypes => 'lseg line', 1468 prosrc => 'dist_sl' }, 1469{ oid => '728', 1470 proname => 'dist_cpoly', prorettype => 'float8', 1471 proargtypes => 'circle polygon', prosrc => 'dist_cpoly' }, 1472{ oid => '729', 1473 proname => 'poly_distance', prorettype => 'float8', 1474 proargtypes => 'polygon polygon', prosrc => 'poly_distance' }, 1475{ oid => '3275', 1476 proname => 'dist_ppoly', prorettype => 'float8', 1477 proargtypes => 'point polygon', prosrc => 'dist_ppoly' }, 1478{ oid => '3292', 1479 proname => 'dist_polyp', prorettype => 'float8', 1480 proargtypes => 'polygon point', prosrc => 'dist_polyp' }, 1481{ oid => '3290', 1482 proname => 'dist_cpoint', prorettype => 'float8', 1483 proargtypes => 'circle point', prosrc => 'dist_cpoint' }, 1484 1485{ oid => '740', 1486 proname => 'text_lt', prorettype => 'bool', proargtypes => 'text text', 1487 prosrc => 'text_lt' }, 1488{ oid => '741', 1489 proname => 'text_le', prorettype => 'bool', proargtypes => 'text text', 1490 prosrc => 'text_le' }, 1491{ oid => '742', 1492 proname => 'text_gt', prorettype => 'bool', proargtypes => 'text text', 1493 prosrc => 'text_gt' }, 1494{ oid => '743', 1495 proname => 'text_ge', prorettype => 'bool', proargtypes => 'text text', 1496 prosrc => 'text_ge' }, 1497 1498{ oid => '745', descr => 'current user name', 1499 proname => 'current_user', provolatile => 's', prorettype => 'name', 1500 proargtypes => '', prosrc => 'current_user' }, 1501{ oid => '746', descr => 'session user name', 1502 proname => 'session_user', provolatile => 's', prorettype => 'name', 1503 proargtypes => '', prosrc => 'session_user' }, 1504 1505{ oid => '744', 1506 proname => 'array_eq', prorettype => 'bool', 1507 proargtypes => 'anyarray anyarray', prosrc => 'array_eq' }, 1508{ oid => '390', 1509 proname => 'array_ne', prorettype => 'bool', 1510 proargtypes => 'anyarray anyarray', prosrc => 'array_ne' }, 1511{ oid => '391', 1512 proname => 'array_lt', prorettype => 'bool', 1513 proargtypes => 'anyarray anyarray', prosrc => 'array_lt' }, 1514{ oid => '392', 1515 proname => 'array_gt', prorettype => 'bool', 1516 proargtypes => 'anyarray anyarray', prosrc => 'array_gt' }, 1517{ oid => '393', 1518 proname => 'array_le', prorettype => 'bool', 1519 proargtypes => 'anyarray anyarray', prosrc => 'array_le' }, 1520{ oid => '396', 1521 proname => 'array_ge', prorettype => 'bool', 1522 proargtypes => 'anyarray anyarray', prosrc => 'array_ge' }, 1523{ oid => '747', descr => 'array dimensions', 1524 proname => 'array_dims', prorettype => 'text', proargtypes => 'anyarray', 1525 prosrc => 'array_dims' }, 1526{ oid => '748', descr => 'number of array dimensions', 1527 proname => 'array_ndims', prorettype => 'int4', proargtypes => 'anyarray', 1528 prosrc => 'array_ndims' }, 1529{ oid => '750', descr => 'I/O', 1530 proname => 'array_in', provolatile => 's', prorettype => 'anyarray', 1531 proargtypes => 'cstring oid int4', prosrc => 'array_in' }, 1532{ oid => '751', descr => 'I/O', 1533 proname => 'array_out', provolatile => 's', prorettype => 'cstring', 1534 proargtypes => 'anyarray', prosrc => 'array_out' }, 1535{ oid => '2091', descr => 'array lower dimension', 1536 proname => 'array_lower', prorettype => 'int4', 1537 proargtypes => 'anyarray int4', prosrc => 'array_lower' }, 1538{ oid => '2092', descr => 'array upper dimension', 1539 proname => 'array_upper', prorettype => 'int4', 1540 proargtypes => 'anyarray int4', prosrc => 'array_upper' }, 1541{ oid => '2176', descr => 'array length', 1542 proname => 'array_length', prorettype => 'int4', 1543 proargtypes => 'anyarray int4', prosrc => 'array_length' }, 1544{ oid => '3179', descr => 'array cardinality', 1545 proname => 'cardinality', prorettype => 'int4', proargtypes => 'anyarray', 1546 prosrc => 'array_cardinality' }, 1547{ oid => '378', descr => 'append element onto end of array', 1548 proname => 'array_append', proisstrict => 'f', prorettype => 'anyarray', 1549 proargtypes => 'anyarray anyelement', prosrc => 'array_append' }, 1550{ oid => '379', descr => 'prepend element onto front of array', 1551 proname => 'array_prepend', proisstrict => 'f', prorettype => 'anyarray', 1552 proargtypes => 'anyelement anyarray', prosrc => 'array_prepend' }, 1553{ oid => '383', 1554 proname => 'array_cat', proisstrict => 'f', prorettype => 'anyarray', 1555 proargtypes => 'anyarray anyarray', prosrc => 'array_cat' }, 1556{ oid => '394', descr => 'split delimited text into text[]', 1557 proname => 'string_to_array', proisstrict => 'f', prorettype => '_text', 1558 proargtypes => 'text text', prosrc => 'text_to_array' }, 1559{ oid => '395', 1560 descr => 'concatenate array elements, using delimiter, into text', 1561 proname => 'array_to_string', provolatile => 's', prorettype => 'text', 1562 proargtypes => 'anyarray text', prosrc => 'array_to_text' }, 1563{ oid => '376', descr => 'split delimited text into text[], with null string', 1564 proname => 'string_to_array', proisstrict => 'f', prorettype => '_text', 1565 proargtypes => 'text text text', prosrc => 'text_to_array_null' }, 1566{ oid => '384', 1567 descr => 'concatenate array elements, using delimiter and null string, into text', 1568 proname => 'array_to_string', proisstrict => 'f', provolatile => 's', 1569 prorettype => 'text', proargtypes => 'anyarray text text', 1570 prosrc => 'array_to_text_null' }, 1571{ oid => '515', descr => 'larger of two', 1572 proname => 'array_larger', prorettype => 'anyarray', 1573 proargtypes => 'anyarray anyarray', prosrc => 'array_larger' }, 1574{ oid => '516', descr => 'smaller of two', 1575 proname => 'array_smaller', prorettype => 'anyarray', 1576 proargtypes => 'anyarray anyarray', prosrc => 'array_smaller' }, 1577{ oid => '3277', descr => 'returns an offset of value in array', 1578 proname => 'array_position', proisstrict => 'f', prorettype => 'int4', 1579 proargtypes => 'anyarray anyelement', prosrc => 'array_position' }, 1580{ oid => '3278', 1581 descr => 'returns an offset of value in array with start index', 1582 proname => 'array_position', proisstrict => 'f', prorettype => 'int4', 1583 proargtypes => 'anyarray anyelement int4', prosrc => 'array_position_start' }, 1584{ oid => '3279', 1585 descr => 'returns an array of offsets of some value in array', 1586 proname => 'array_positions', proisstrict => 'f', prorettype => '_int4', 1587 proargtypes => 'anyarray anyelement', prosrc => 'array_positions' }, 1588{ oid => '1191', descr => 'array subscripts generator', 1589 proname => 'generate_subscripts', prorows => '1000', proretset => 't', 1590 prorettype => 'int4', proargtypes => 'anyarray int4 bool', 1591 prosrc => 'generate_subscripts' }, 1592{ oid => '1192', descr => 'array subscripts generator', 1593 proname => 'generate_subscripts', prorows => '1000', proretset => 't', 1594 prorettype => 'int4', proargtypes => 'anyarray int4', 1595 prosrc => 'generate_subscripts_nodir' }, 1596{ oid => '1193', descr => 'array constructor with value', 1597 proname => 'array_fill', proisstrict => 'f', prorettype => 'anyarray', 1598 proargtypes => 'anyelement _int4', prosrc => 'array_fill' }, 1599{ oid => '1286', descr => 'array constructor with value', 1600 proname => 'array_fill', proisstrict => 'f', prorettype => 'anyarray', 1601 proargtypes => 'anyelement _int4 _int4', 1602 prosrc => 'array_fill_with_lower_bounds' }, 1603{ oid => '2331', descr => 'expand array to set of rows', 1604 proname => 'unnest', prorows => '100', proretset => 't', 1605 prorettype => 'anyelement', proargtypes => 'anyarray', 1606 prosrc => 'array_unnest' }, 1607{ oid => '3167', 1608 descr => 'remove any occurrences of an element from an array', 1609 proname => 'array_remove', proisstrict => 'f', prorettype => 'anyarray', 1610 proargtypes => 'anyarray anyelement', prosrc => 'array_remove' }, 1611{ oid => '3168', descr => 'replace any occurrences of an element in an array', 1612 proname => 'array_replace', proisstrict => 'f', prorettype => 'anyarray', 1613 proargtypes => 'anyarray anyelement anyelement', prosrc => 'array_replace' }, 1614{ oid => '2333', descr => 'aggregate transition function', 1615 proname => 'array_agg_transfn', proisstrict => 'f', prorettype => 'internal', 1616 proargtypes => 'internal anynonarray', prosrc => 'array_agg_transfn' }, 1617{ oid => '2334', descr => 'aggregate final function', 1618 proname => 'array_agg_finalfn', proisstrict => 'f', prorettype => 'anyarray', 1619 proargtypes => 'internal anynonarray', prosrc => 'array_agg_finalfn' }, 1620{ oid => '2335', descr => 'concatenate aggregate input into an array', 1621 proname => 'array_agg', prokind => 'a', proisstrict => 'f', 1622 prorettype => 'anyarray', proargtypes => 'anynonarray', 1623 prosrc => 'aggregate_dummy' }, 1624{ oid => '4051', descr => 'aggregate transition function', 1625 proname => 'array_agg_array_transfn', proisstrict => 'f', 1626 prorettype => 'internal', proargtypes => 'internal anyarray', 1627 prosrc => 'array_agg_array_transfn' }, 1628{ oid => '4052', descr => 'aggregate final function', 1629 proname => 'array_agg_array_finalfn', proisstrict => 'f', 1630 prorettype => 'anyarray', proargtypes => 'internal anyarray', 1631 prosrc => 'array_agg_array_finalfn' }, 1632{ oid => '4053', descr => 'concatenate aggregate input into an array', 1633 proname => 'array_agg', prokind => 'a', proisstrict => 'f', 1634 prorettype => 'anyarray', proargtypes => 'anyarray', 1635 prosrc => 'aggregate_dummy' }, 1636{ oid => '3218', 1637 descr => 'bucket number of operand given a sorted array of bucket lower bounds', 1638 proname => 'width_bucket', prorettype => 'int4', 1639 proargtypes => 'anyelement anyarray', prosrc => 'width_bucket_array' }, 1640{ oid => '3816', descr => 'array typanalyze', 1641 proname => 'array_typanalyze', provolatile => 's', prorettype => 'bool', 1642 proargtypes => 'internal', prosrc => 'array_typanalyze' }, 1643{ oid => '3817', 1644 descr => 'restriction selectivity for array-containment operators', 1645 proname => 'arraycontsel', provolatile => 's', prorettype => 'float8', 1646 proargtypes => 'internal oid internal int4', prosrc => 'arraycontsel' }, 1647{ oid => '3818', descr => 'join selectivity for array-containment operators', 1648 proname => 'arraycontjoinsel', provolatile => 's', prorettype => 'float8', 1649 proargtypes => 'internal oid internal int2 internal', 1650 prosrc => 'arraycontjoinsel' }, 1651 1652{ oid => '760', descr => 'I/O', 1653 proname => 'smgrin', provolatile => 's', prorettype => 'smgr', 1654 proargtypes => 'cstring', prosrc => 'smgrin' }, 1655{ oid => '761', descr => 'I/O', 1656 proname => 'smgrout', provolatile => 's', prorettype => 'cstring', 1657 proargtypes => 'smgr', prosrc => 'smgrout' }, 1658{ oid => '762', descr => 'storage manager', 1659 proname => 'smgreq', prorettype => 'bool', proargtypes => 'smgr smgr', 1660 prosrc => 'smgreq' }, 1661{ oid => '763', descr => 'storage manager', 1662 proname => 'smgrne', prorettype => 'bool', proargtypes => 'smgr smgr', 1663 prosrc => 'smgrne' }, 1664 1665{ oid => '764', descr => 'large object import', 1666 proname => 'lo_import', provolatile => 'v', proparallel => 'u', 1667 prorettype => 'oid', proargtypes => 'text', prosrc => 'be_lo_import' }, 1668{ oid => '767', descr => 'large object import', 1669 proname => 'lo_import', provolatile => 'v', proparallel => 'u', 1670 prorettype => 'oid', proargtypes => 'text oid', 1671 prosrc => 'be_lo_import_with_oid' }, 1672{ oid => '765', descr => 'large object export', 1673 proname => 'lo_export', provolatile => 'v', proparallel => 'u', 1674 prorettype => 'int4', proargtypes => 'oid text', prosrc => 'be_lo_export' }, 1675 1676{ oid => '766', descr => 'increment', 1677 proname => 'int4inc', prorettype => 'int4', proargtypes => 'int4', 1678 prosrc => 'int4inc' }, 1679{ oid => '768', descr => 'larger of two', 1680 proname => 'int4larger', prorettype => 'int4', proargtypes => 'int4 int4', 1681 prosrc => 'int4larger' }, 1682{ oid => '769', descr => 'smaller of two', 1683 proname => 'int4smaller', prorettype => 'int4', proargtypes => 'int4 int4', 1684 prosrc => 'int4smaller' }, 1685{ oid => '770', descr => 'larger of two', 1686 proname => 'int2larger', prorettype => 'int2', proargtypes => 'int2 int2', 1687 prosrc => 'int2larger' }, 1688{ oid => '771', descr => 'smaller of two', 1689 proname => 'int2smaller', prorettype => 'int2', proargtypes => 'int2 int2', 1690 prosrc => 'int2smaller' }, 1691 1692{ oid => '784', 1693 proname => 'tintervaleq', proleakproof => 't', prorettype => 'bool', 1694 proargtypes => 'tinterval tinterval', prosrc => 'tintervaleq' }, 1695{ oid => '785', 1696 proname => 'tintervalne', proleakproof => 't', prorettype => 'bool', 1697 proargtypes => 'tinterval tinterval', prosrc => 'tintervalne' }, 1698{ oid => '786', 1699 proname => 'tintervallt', proleakproof => 't', prorettype => 'bool', 1700 proargtypes => 'tinterval tinterval', prosrc => 'tintervallt' }, 1701{ oid => '787', 1702 proname => 'tintervalgt', proleakproof => 't', prorettype => 'bool', 1703 proargtypes => 'tinterval tinterval', prosrc => 'tintervalgt' }, 1704{ oid => '788', 1705 proname => 'tintervalle', proleakproof => 't', prorettype => 'bool', 1706 proargtypes => 'tinterval tinterval', prosrc => 'tintervalle' }, 1707{ oid => '789', 1708 proname => 'tintervalge', proleakproof => 't', prorettype => 'bool', 1709 proargtypes => 'tinterval tinterval', prosrc => 'tintervalge' }, 1710 1711# OIDS 800 - 899 1712 1713{ oid => '846', 1714 proname => 'cash_mul_flt4', prorettype => 'money', 1715 proargtypes => 'money float4', prosrc => 'cash_mul_flt4' }, 1716{ oid => '847', 1717 proname => 'cash_div_flt4', prorettype => 'money', 1718 proargtypes => 'money float4', prosrc => 'cash_div_flt4' }, 1719{ oid => '848', 1720 proname => 'flt4_mul_cash', prorettype => 'money', 1721 proargtypes => 'float4 money', prosrc => 'flt4_mul_cash' }, 1722 1723{ oid => '849', descr => 'position of substring', 1724 proname => 'position', prorettype => 'int4', proargtypes => 'text text', 1725 prosrc => 'textpos' }, 1726{ oid => '850', 1727 proname => 'textlike', prorettype => 'bool', proargtypes => 'text text', 1728 prosrc => 'textlike' }, 1729{ oid => '851', 1730 proname => 'textnlike', prorettype => 'bool', proargtypes => 'text text', 1731 prosrc => 'textnlike' }, 1732 1733{ oid => '852', 1734 proname => 'int48eq', proleakproof => 't', prorettype => 'bool', 1735 proargtypes => 'int4 int8', prosrc => 'int48eq' }, 1736{ oid => '853', 1737 proname => 'int48ne', proleakproof => 't', prorettype => 'bool', 1738 proargtypes => 'int4 int8', prosrc => 'int48ne' }, 1739{ oid => '854', 1740 proname => 'int48lt', proleakproof => 't', prorettype => 'bool', 1741 proargtypes => 'int4 int8', prosrc => 'int48lt' }, 1742{ oid => '855', 1743 proname => 'int48gt', proleakproof => 't', prorettype => 'bool', 1744 proargtypes => 'int4 int8', prosrc => 'int48gt' }, 1745{ oid => '856', 1746 proname => 'int48le', proleakproof => 't', prorettype => 'bool', 1747 proargtypes => 'int4 int8', prosrc => 'int48le' }, 1748{ oid => '857', 1749 proname => 'int48ge', proleakproof => 't', prorettype => 'bool', 1750 proargtypes => 'int4 int8', prosrc => 'int48ge' }, 1751 1752{ oid => '858', 1753 proname => 'namelike', prorettype => 'bool', proargtypes => 'name text', 1754 prosrc => 'namelike' }, 1755{ oid => '859', 1756 proname => 'namenlike', prorettype => 'bool', proargtypes => 'name text', 1757 prosrc => 'namenlike' }, 1758 1759{ oid => '860', descr => 'convert char to char(n)', 1760 proname => 'bpchar', prorettype => 'bpchar', proargtypes => 'char', 1761 prosrc => 'char_bpchar' }, 1762 1763{ oid => '861', descr => 'name of the current database', 1764 proname => 'current_database', provolatile => 's', prorettype => 'name', 1765 proargtypes => '', prosrc => 'current_database' }, 1766{ oid => '817', descr => 'get the currently executing query', 1767 proname => 'current_query', proisstrict => 'f', provolatile => 'v', 1768 proparallel => 'r', prorettype => 'text', proargtypes => '', 1769 prosrc => 'current_query' }, 1770 1771{ oid => '3399', 1772 proname => 'int8_mul_cash', prorettype => 'money', 1773 proargtypes => 'int8 money', prosrc => 'int8_mul_cash' }, 1774{ oid => '862', 1775 proname => 'int4_mul_cash', prorettype => 'money', 1776 proargtypes => 'int4 money', prosrc => 'int4_mul_cash' }, 1777{ oid => '863', 1778 proname => 'int2_mul_cash', prorettype => 'money', 1779 proargtypes => 'int2 money', prosrc => 'int2_mul_cash' }, 1780{ oid => '3344', 1781 proname => 'cash_mul_int8', prorettype => 'money', 1782 proargtypes => 'money int8', prosrc => 'cash_mul_int8' }, 1783{ oid => '3345', 1784 proname => 'cash_div_int8', prorettype => 'money', 1785 proargtypes => 'money int8', prosrc => 'cash_div_int8' }, 1786{ oid => '864', 1787 proname => 'cash_mul_int4', prorettype => 'money', 1788 proargtypes => 'money int4', prosrc => 'cash_mul_int4' }, 1789{ oid => '865', 1790 proname => 'cash_div_int4', prorettype => 'money', 1791 proargtypes => 'money int4', prosrc => 'cash_div_int4' }, 1792{ oid => '866', 1793 proname => 'cash_mul_int2', prorettype => 'money', 1794 proargtypes => 'money int2', prosrc => 'cash_mul_int2' }, 1795{ oid => '867', 1796 proname => 'cash_div_int2', prorettype => 'money', 1797 proargtypes => 'money int2', prosrc => 'cash_div_int2' }, 1798 1799{ oid => '886', descr => 'I/O', 1800 proname => 'cash_in', provolatile => 's', prorettype => 'money', 1801 proargtypes => 'cstring', prosrc => 'cash_in' }, 1802{ oid => '887', descr => 'I/O', 1803 proname => 'cash_out', provolatile => 's', prorettype => 'cstring', 1804 proargtypes => 'money', prosrc => 'cash_out' }, 1805{ oid => '888', 1806 proname => 'cash_eq', proleakproof => 't', prorettype => 'bool', 1807 proargtypes => 'money money', prosrc => 'cash_eq' }, 1808{ oid => '889', 1809 proname => 'cash_ne', proleakproof => 't', prorettype => 'bool', 1810 proargtypes => 'money money', prosrc => 'cash_ne' }, 1811{ oid => '890', 1812 proname => 'cash_lt', proleakproof => 't', prorettype => 'bool', 1813 proargtypes => 'money money', prosrc => 'cash_lt' }, 1814{ oid => '891', 1815 proname => 'cash_le', proleakproof => 't', prorettype => 'bool', 1816 proargtypes => 'money money', prosrc => 'cash_le' }, 1817{ oid => '892', 1818 proname => 'cash_gt', proleakproof => 't', prorettype => 'bool', 1819 proargtypes => 'money money', prosrc => 'cash_gt' }, 1820{ oid => '893', 1821 proname => 'cash_ge', proleakproof => 't', prorettype => 'bool', 1822 proargtypes => 'money money', prosrc => 'cash_ge' }, 1823{ oid => '894', 1824 proname => 'cash_pl', prorettype => 'money', proargtypes => 'money money', 1825 prosrc => 'cash_pl' }, 1826{ oid => '895', 1827 proname => 'cash_mi', prorettype => 'money', proargtypes => 'money money', 1828 prosrc => 'cash_mi' }, 1829{ oid => '896', 1830 proname => 'cash_mul_flt8', prorettype => 'money', 1831 proargtypes => 'money float8', prosrc => 'cash_mul_flt8' }, 1832{ oid => '897', 1833 proname => 'cash_div_flt8', prorettype => 'money', 1834 proargtypes => 'money float8', prosrc => 'cash_div_flt8' }, 1835{ oid => '898', descr => 'larger of two', 1836 proname => 'cashlarger', prorettype => 'money', proargtypes => 'money money', 1837 prosrc => 'cashlarger' }, 1838{ oid => '899', descr => 'smaller of two', 1839 proname => 'cashsmaller', prorettype => 'money', proargtypes => 'money money', 1840 prosrc => 'cashsmaller' }, 1841{ oid => '919', 1842 proname => 'flt8_mul_cash', prorettype => 'money', 1843 proargtypes => 'float8 money', prosrc => 'flt8_mul_cash' }, 1844{ oid => '935', descr => 'output money amount as words', 1845 proname => 'cash_words', prorettype => 'text', proargtypes => 'money', 1846 prosrc => 'cash_words' }, 1847{ oid => '3822', 1848 proname => 'cash_div_cash', prorettype => 'float8', 1849 proargtypes => 'money money', prosrc => 'cash_div_cash' }, 1850{ oid => '3823', descr => 'convert money to numeric', 1851 proname => 'numeric', provolatile => 's', prorettype => 'numeric', 1852 proargtypes => 'money', prosrc => 'cash_numeric' }, 1853{ oid => '3824', descr => 'convert numeric to money', 1854 proname => 'money', provolatile => 's', prorettype => 'money', 1855 proargtypes => 'numeric', prosrc => 'numeric_cash' }, 1856{ oid => '3811', descr => 'convert int4 to money', 1857 proname => 'money', provolatile => 's', prorettype => 'money', 1858 proargtypes => 'int4', prosrc => 'int4_cash' }, 1859{ oid => '3812', descr => 'convert int8 to money', 1860 proname => 'money', provolatile => 's', prorettype => 'money', 1861 proargtypes => 'int8', prosrc => 'int8_cash' }, 1862 1863# OIDS 900 - 999 1864 1865{ oid => '940', descr => 'modulus', 1866 proname => 'mod', prorettype => 'int2', proargtypes => 'int2 int2', 1867 prosrc => 'int2mod' }, 1868{ oid => '941', descr => 'modulus', 1869 proname => 'mod', prorettype => 'int4', proargtypes => 'int4 int4', 1870 prosrc => 'int4mod' }, 1871 1872{ oid => '945', 1873 proname => 'int8mod', prorettype => 'int8', proargtypes => 'int8 int8', 1874 prosrc => 'int8mod' }, 1875{ oid => '947', descr => 'modulus', 1876 proname => 'mod', prorettype => 'int8', proargtypes => 'int8 int8', 1877 prosrc => 'int8mod' }, 1878 1879{ oid => '944', descr => 'convert text to char', 1880 proname => 'char', prorettype => 'char', proargtypes => 'text', 1881 prosrc => 'text_char' }, 1882{ oid => '946', descr => 'convert char to text', 1883 proname => 'text', prorettype => 'text', proargtypes => 'char', 1884 prosrc => 'char_text' }, 1885 1886{ oid => '952', descr => 'large object open', 1887 proname => 'lo_open', provolatile => 'v', proparallel => 'u', 1888 prorettype => 'int4', proargtypes => 'oid int4', prosrc => 'be_lo_open' }, 1889{ oid => '953', descr => 'large object close', 1890 proname => 'lo_close', provolatile => 'v', proparallel => 'u', 1891 prorettype => 'int4', proargtypes => 'int4', prosrc => 'be_lo_close' }, 1892{ oid => '954', descr => 'large object read', 1893 proname => 'loread', provolatile => 'v', proparallel => 'u', 1894 prorettype => 'bytea', proargtypes => 'int4 int4', prosrc => 'be_loread' }, 1895{ oid => '955', descr => 'large object write', 1896 proname => 'lowrite', provolatile => 'v', proparallel => 'u', 1897 prorettype => 'int4', proargtypes => 'int4 bytea', prosrc => 'be_lowrite' }, 1898{ oid => '956', descr => 'large object seek', 1899 proname => 'lo_lseek', provolatile => 'v', proparallel => 'u', 1900 prorettype => 'int4', proargtypes => 'int4 int4 int4', 1901 prosrc => 'be_lo_lseek' }, 1902{ oid => '3170', descr => 'large object seek (64 bit)', 1903 proname => 'lo_lseek64', provolatile => 'v', proparallel => 'u', 1904 prorettype => 'int8', proargtypes => 'int4 int8 int4', 1905 prosrc => 'be_lo_lseek64' }, 1906{ oid => '957', descr => 'large object create', 1907 proname => 'lo_creat', provolatile => 'v', proparallel => 'u', 1908 prorettype => 'oid', proargtypes => 'int4', prosrc => 'be_lo_creat' }, 1909{ oid => '715', descr => 'large object create', 1910 proname => 'lo_create', provolatile => 'v', proparallel => 'u', 1911 prorettype => 'oid', proargtypes => 'oid', prosrc => 'be_lo_create' }, 1912{ oid => '958', descr => 'large object position', 1913 proname => 'lo_tell', provolatile => 'v', proparallel => 'u', 1914 prorettype => 'int4', proargtypes => 'int4', prosrc => 'be_lo_tell' }, 1915{ oid => '3171', descr => 'large object position (64 bit)', 1916 proname => 'lo_tell64', provolatile => 'v', proparallel => 'u', 1917 prorettype => 'int8', proargtypes => 'int4', prosrc => 'be_lo_tell64' }, 1918{ oid => '1004', descr => 'truncate large object', 1919 proname => 'lo_truncate', provolatile => 'v', proparallel => 'u', 1920 prorettype => 'int4', proargtypes => 'int4 int4', 1921 prosrc => 'be_lo_truncate' }, 1922{ oid => '3172', descr => 'truncate large object (64 bit)', 1923 proname => 'lo_truncate64', provolatile => 'v', proparallel => 'u', 1924 prorettype => 'int4', proargtypes => 'int4 int8', 1925 prosrc => 'be_lo_truncate64' }, 1926 1927{ oid => '3457', descr => 'create new large object with given content', 1928 proname => 'lo_from_bytea', provolatile => 'v', proparallel => 'u', 1929 prorettype => 'oid', proargtypes => 'oid bytea', 1930 prosrc => 'be_lo_from_bytea' }, 1931{ oid => '3458', descr => 'read entire large object', 1932 proname => 'lo_get', provolatile => 'v', proparallel => 'u', 1933 prorettype => 'bytea', proargtypes => 'oid', prosrc => 'be_lo_get' }, 1934{ oid => '3459', descr => 'read large object from offset for length', 1935 proname => 'lo_get', provolatile => 'v', proparallel => 'u', 1936 prorettype => 'bytea', proargtypes => 'oid int8 int4', 1937 prosrc => 'be_lo_get_fragment' }, 1938{ oid => '3460', descr => 'write data at offset', 1939 proname => 'lo_put', provolatile => 'v', proparallel => 'u', 1940 prorettype => 'void', proargtypes => 'oid int8 bytea', 1941 prosrc => 'be_lo_put' }, 1942 1943{ oid => '959', 1944 proname => 'on_pl', prorettype => 'bool', proargtypes => 'point line', 1945 prosrc => 'on_pl' }, 1946{ oid => '960', 1947 proname => 'on_sl', prorettype => 'bool', proargtypes => 'lseg line', 1948 prosrc => 'on_sl' }, 1949{ oid => '961', 1950 proname => 'close_pl', prorettype => 'point', proargtypes => 'point line', 1951 prosrc => 'close_pl' }, 1952{ oid => '962', 1953 proname => 'close_sl', prorettype => 'point', proargtypes => 'lseg line', 1954 prosrc => 'close_sl' }, 1955{ oid => '963', 1956 proname => 'close_lb', prorettype => 'point', proargtypes => 'line box', 1957 prosrc => 'close_lb' }, 1958 1959{ oid => '964', descr => 'large object unlink (delete)', 1960 proname => 'lo_unlink', provolatile => 'v', proparallel => 'u', 1961 prorettype => 'int4', proargtypes => 'oid', prosrc => 'be_lo_unlink' }, 1962 1963{ oid => '973', 1964 proname => 'path_inter', prorettype => 'bool', proargtypes => 'path path', 1965 prosrc => 'path_inter' }, 1966{ oid => '975', descr => 'box area', 1967 proname => 'area', prorettype => 'float8', proargtypes => 'box', 1968 prosrc => 'box_area' }, 1969{ oid => '976', descr => 'box width', 1970 proname => 'width', prorettype => 'float8', proargtypes => 'box', 1971 prosrc => 'box_width' }, 1972{ oid => '977', descr => 'box height', 1973 proname => 'height', prorettype => 'float8', proargtypes => 'box', 1974 prosrc => 'box_height' }, 1975{ oid => '978', 1976 proname => 'box_distance', prorettype => 'float8', proargtypes => 'box box', 1977 prosrc => 'box_distance' }, 1978{ oid => '979', descr => 'area of a closed path', 1979 proname => 'area', prorettype => 'float8', proargtypes => 'path', 1980 prosrc => 'path_area' }, 1981{ oid => '980', 1982 proname => 'box_intersect', prorettype => 'box', proargtypes => 'box box', 1983 prosrc => 'box_intersect' }, 1984{ oid => '4067', descr => 'bounding box of two boxes', 1985 proname => 'bound_box', prorettype => 'box', proargtypes => 'box box', 1986 prosrc => 'boxes_bound_box' }, 1987{ oid => '981', descr => 'box diagonal', 1988 proname => 'diagonal', prorettype => 'lseg', proargtypes => 'box', 1989 prosrc => 'box_diagonal' }, 1990{ oid => '982', 1991 proname => 'path_n_lt', prorettype => 'bool', proargtypes => 'path path', 1992 prosrc => 'path_n_lt' }, 1993{ oid => '983', 1994 proname => 'path_n_gt', prorettype => 'bool', proargtypes => 'path path', 1995 prosrc => 'path_n_gt' }, 1996{ oid => '984', 1997 proname => 'path_n_eq', prorettype => 'bool', proargtypes => 'path path', 1998 prosrc => 'path_n_eq' }, 1999{ oid => '985', 2000 proname => 'path_n_le', prorettype => 'bool', proargtypes => 'path path', 2001 prosrc => 'path_n_le' }, 2002{ oid => '986', 2003 proname => 'path_n_ge', prorettype => 'bool', proargtypes => 'path path', 2004 prosrc => 'path_n_ge' }, 2005{ oid => '987', 2006 proname => 'path_length', prorettype => 'float8', proargtypes => 'path', 2007 prosrc => 'path_length' }, 2008{ oid => '988', 2009 proname => 'point_ne', prorettype => 'bool', proargtypes => 'point point', 2010 prosrc => 'point_ne' }, 2011{ oid => '989', 2012 proname => 'point_vert', prorettype => 'bool', proargtypes => 'point point', 2013 prosrc => 'point_vert' }, 2014{ oid => '990', 2015 proname => 'point_horiz', prorettype => 'bool', proargtypes => 'point point', 2016 prosrc => 'point_horiz' }, 2017{ oid => '991', 2018 proname => 'point_distance', prorettype => 'float8', 2019 proargtypes => 'point point', prosrc => 'point_distance' }, 2020{ oid => '992', descr => 'slope between points', 2021 proname => 'slope', prorettype => 'float8', proargtypes => 'point point', 2022 prosrc => 'point_slope' }, 2023{ oid => '993', descr => 'convert points to line segment', 2024 proname => 'lseg', prorettype => 'lseg', proargtypes => 'point point', 2025 prosrc => 'lseg_construct' }, 2026{ oid => '994', 2027 proname => 'lseg_intersect', prorettype => 'bool', proargtypes => 'lseg lseg', 2028 prosrc => 'lseg_intersect' }, 2029{ oid => '995', 2030 proname => 'lseg_parallel', prorettype => 'bool', proargtypes => 'lseg lseg', 2031 prosrc => 'lseg_parallel' }, 2032{ oid => '996', 2033 proname => 'lseg_perp', prorettype => 'bool', proargtypes => 'lseg lseg', 2034 prosrc => 'lseg_perp' }, 2035{ oid => '997', 2036 proname => 'lseg_vertical', prorettype => 'bool', proargtypes => 'lseg', 2037 prosrc => 'lseg_vertical' }, 2038{ oid => '998', 2039 proname => 'lseg_horizontal', prorettype => 'bool', proargtypes => 'lseg', 2040 prosrc => 'lseg_horizontal' }, 2041{ oid => '999', 2042 proname => 'lseg_eq', proleakproof => 't', prorettype => 'bool', 2043 proargtypes => 'lseg lseg', prosrc => 'lseg_eq' }, 2044 2045# OIDS 1000 - 1999 2046 2047{ oid => '3994', descr => 'transform a time zone adjustment', 2048 proname => 'timestamp_izone_transform', prorettype => 'internal', 2049 proargtypes => 'internal', prosrc => 'timestamp_izone_transform' }, 2050{ oid => '1026', descr => 'adjust timestamp to new time zone', 2051 proname => 'timezone', protransform => 'timestamp_izone_transform', 2052 prorettype => 'timestamp', proargtypes => 'interval timestamptz', 2053 prosrc => 'timestamptz_izone' }, 2054 2055{ oid => '1031', descr => 'I/O', 2056 proname => 'aclitemin', provolatile => 's', prorettype => 'aclitem', 2057 proargtypes => 'cstring', prosrc => 'aclitemin' }, 2058{ oid => '1032', descr => 'I/O', 2059 proname => 'aclitemout', provolatile => 's', prorettype => 'cstring', 2060 proargtypes => 'aclitem', prosrc => 'aclitemout' }, 2061{ oid => '1035', descr => 'add/update ACL item', 2062 proname => 'aclinsert', prorettype => '_aclitem', 2063 proargtypes => '_aclitem aclitem', prosrc => 'aclinsert' }, 2064{ oid => '1036', descr => 'remove ACL item', 2065 proname => 'aclremove', prorettype => '_aclitem', 2066 proargtypes => '_aclitem aclitem', prosrc => 'aclremove' }, 2067{ oid => '1037', descr => 'contains', 2068 proname => 'aclcontains', prorettype => 'bool', 2069 proargtypes => '_aclitem aclitem', prosrc => 'aclcontains' }, 2070{ oid => '1062', 2071 proname => 'aclitemeq', prorettype => 'bool', 2072 proargtypes => 'aclitem aclitem', prosrc => 'aclitem_eq' }, 2073{ oid => '1365', descr => 'make ACL item', 2074 proname => 'makeaclitem', prorettype => 'aclitem', 2075 proargtypes => 'oid oid text bool', prosrc => 'makeaclitem' }, 2076{ oid => '3943', descr => 'TODO', 2077 proname => 'acldefault', prorettype => '_aclitem', proargtypes => 'char oid', 2078 prosrc => 'acldefault_sql' }, 2079{ oid => '1689', 2080 descr => 'convert ACL item array to table, for use by information schema', 2081 proname => 'aclexplode', prorows => '10', proretset => 't', 2082 provolatile => 's', prorettype => 'record', proargtypes => '_aclitem', 2083 proallargtypes => '{_aclitem,oid,oid,text,bool}', 2084 proargmodes => '{i,o,o,o,o}', 2085 proargnames => '{acl,grantor,grantee,privilege_type,is_grantable}', 2086 prosrc => 'aclexplode' }, 2087{ oid => '1044', descr => 'I/O', 2088 proname => 'bpcharin', prorettype => 'bpchar', 2089 proargtypes => 'cstring oid int4', prosrc => 'bpcharin' }, 2090{ oid => '1045', descr => 'I/O', 2091 proname => 'bpcharout', prorettype => 'cstring', proargtypes => 'bpchar', 2092 prosrc => 'bpcharout' }, 2093{ oid => '2913', descr => 'I/O typmod', 2094 proname => 'bpchartypmodin', prorettype => 'int4', proargtypes => '_cstring', 2095 prosrc => 'bpchartypmodin' }, 2096{ oid => '2914', descr => 'I/O typmod', 2097 proname => 'bpchartypmodout', prorettype => 'cstring', proargtypes => 'int4', 2098 prosrc => 'bpchartypmodout' }, 2099{ oid => '1046', descr => 'I/O', 2100 proname => 'varcharin', prorettype => 'varchar', 2101 proargtypes => 'cstring oid int4', prosrc => 'varcharin' }, 2102{ oid => '1047', descr => 'I/O', 2103 proname => 'varcharout', prorettype => 'cstring', proargtypes => 'varchar', 2104 prosrc => 'varcharout' }, 2105{ oid => '2915', descr => 'I/O typmod', 2106 proname => 'varchartypmodin', prorettype => 'int4', proargtypes => '_cstring', 2107 prosrc => 'varchartypmodin' }, 2108{ oid => '2916', descr => 'I/O typmod', 2109 proname => 'varchartypmodout', prorettype => 'cstring', proargtypes => 'int4', 2110 prosrc => 'varchartypmodout' }, 2111{ oid => '1048', 2112 proname => 'bpchareq', proleakproof => 't', prorettype => 'bool', 2113 proargtypes => 'bpchar bpchar', prosrc => 'bpchareq' }, 2114{ oid => '1049', 2115 proname => 'bpcharlt', prorettype => 'bool', proargtypes => 'bpchar bpchar', 2116 prosrc => 'bpcharlt' }, 2117{ oid => '1050', 2118 proname => 'bpcharle', prorettype => 'bool', proargtypes => 'bpchar bpchar', 2119 prosrc => 'bpcharle' }, 2120{ oid => '1051', 2121 proname => 'bpchargt', prorettype => 'bool', proargtypes => 'bpchar bpchar', 2122 prosrc => 'bpchargt' }, 2123{ oid => '1052', 2124 proname => 'bpcharge', prorettype => 'bool', proargtypes => 'bpchar bpchar', 2125 prosrc => 'bpcharge' }, 2126{ oid => '1053', 2127 proname => 'bpcharne', proleakproof => 't', prorettype => 'bool', 2128 proargtypes => 'bpchar bpchar', prosrc => 'bpcharne' }, 2129{ oid => '1063', descr => 'larger of two', 2130 proname => 'bpchar_larger', prorettype => 'bpchar', 2131 proargtypes => 'bpchar bpchar', prosrc => 'bpchar_larger' }, 2132{ oid => '1064', descr => 'smaller of two', 2133 proname => 'bpchar_smaller', prorettype => 'bpchar', 2134 proargtypes => 'bpchar bpchar', prosrc => 'bpchar_smaller' }, 2135{ oid => '1078', descr => 'less-equal-greater', 2136 proname => 'bpcharcmp', prorettype => 'int4', proargtypes => 'bpchar bpchar', 2137 prosrc => 'bpcharcmp' }, 2138{ oid => '3328', descr => 'sort support', 2139 proname => 'bpchar_sortsupport', prorettype => 'void', 2140 proargtypes => 'internal', prosrc => 'bpchar_sortsupport' }, 2141{ oid => '1080', descr => 'hash', 2142 proname => 'hashbpchar', prorettype => 'int4', proargtypes => 'bpchar', 2143 prosrc => 'hashbpchar' }, 2144{ oid => '972', descr => 'hash', 2145 proname => 'hashbpcharextended', prorettype => 'int8', 2146 proargtypes => 'bpchar int8', prosrc => 'hashbpcharextended' }, 2147{ oid => '1081', descr => 'format a type oid and atttypmod to canonical SQL', 2148 proname => 'format_type', proisstrict => 'f', provolatile => 's', 2149 prorettype => 'text', proargtypes => 'oid int4', prosrc => 'format_type' }, 2150{ oid => '1084', descr => 'I/O', 2151 proname => 'date_in', provolatile => 's', prorettype => 'date', 2152 proargtypes => 'cstring', prosrc => 'date_in' }, 2153{ oid => '1085', descr => 'I/O', 2154 proname => 'date_out', provolatile => 's', prorettype => 'cstring', 2155 proargtypes => 'date', prosrc => 'date_out' }, 2156{ oid => '1086', 2157 proname => 'date_eq', proleakproof => 't', prorettype => 'bool', 2158 proargtypes => 'date date', prosrc => 'date_eq' }, 2159{ oid => '1087', 2160 proname => 'date_lt', proleakproof => 't', prorettype => 'bool', 2161 proargtypes => 'date date', prosrc => 'date_lt' }, 2162{ oid => '1088', 2163 proname => 'date_le', proleakproof => 't', prorettype => 'bool', 2164 proargtypes => 'date date', prosrc => 'date_le' }, 2165{ oid => '1089', 2166 proname => 'date_gt', proleakproof => 't', prorettype => 'bool', 2167 proargtypes => 'date date', prosrc => 'date_gt' }, 2168{ oid => '1090', 2169 proname => 'date_ge', proleakproof => 't', prorettype => 'bool', 2170 proargtypes => 'date date', prosrc => 'date_ge' }, 2171{ oid => '1091', 2172 proname => 'date_ne', proleakproof => 't', prorettype => 'bool', 2173 proargtypes => 'date date', prosrc => 'date_ne' }, 2174{ oid => '1092', descr => 'less-equal-greater', 2175 proname => 'date_cmp', prorettype => 'int4', proargtypes => 'date date', 2176 prosrc => 'date_cmp' }, 2177{ oid => '3136', descr => 'sort support', 2178 proname => 'date_sortsupport', prorettype => 'void', 2179 proargtypes => 'internal', prosrc => 'date_sortsupport' }, 2180{ oid => '4133', descr => 'window RANGE support', 2181 proname => 'in_range', prorettype => 'bool', 2182 proargtypes => 'date date interval bool bool', 2183 prosrc => 'in_range_date_interval' }, 2184 2185# OIDS 1100 - 1199 2186 2187{ oid => '1102', 2188 proname => 'time_lt', proleakproof => 't', prorettype => 'bool', 2189 proargtypes => 'time time', prosrc => 'time_lt' }, 2190{ oid => '1103', 2191 proname => 'time_le', proleakproof => 't', prorettype => 'bool', 2192 proargtypes => 'time time', prosrc => 'time_le' }, 2193{ oid => '1104', 2194 proname => 'time_gt', proleakproof => 't', prorettype => 'bool', 2195 proargtypes => 'time time', prosrc => 'time_gt' }, 2196{ oid => '1105', 2197 proname => 'time_ge', proleakproof => 't', prorettype => 'bool', 2198 proargtypes => 'time time', prosrc => 'time_ge' }, 2199{ oid => '1106', 2200 proname => 'time_ne', proleakproof => 't', prorettype => 'bool', 2201 proargtypes => 'time time', prosrc => 'time_ne' }, 2202{ oid => '1107', descr => 'less-equal-greater', 2203 proname => 'time_cmp', prorettype => 'int4', proargtypes => 'time time', 2204 prosrc => 'time_cmp' }, 2205{ oid => '1138', descr => 'larger of two', 2206 proname => 'date_larger', prorettype => 'date', proargtypes => 'date date', 2207 prosrc => 'date_larger' }, 2208{ oid => '1139', descr => 'smaller of two', 2209 proname => 'date_smaller', prorettype => 'date', proargtypes => 'date date', 2210 prosrc => 'date_smaller' }, 2211{ oid => '1140', 2212 proname => 'date_mi', prorettype => 'int4', proargtypes => 'date date', 2213 prosrc => 'date_mi' }, 2214{ oid => '1141', 2215 proname => 'date_pli', prorettype => 'date', proargtypes => 'date int4', 2216 prosrc => 'date_pli' }, 2217{ oid => '1142', 2218 proname => 'date_mii', prorettype => 'date', proargtypes => 'date int4', 2219 prosrc => 'date_mii' }, 2220{ oid => '1143', descr => 'I/O', 2221 proname => 'time_in', provolatile => 's', prorettype => 'time', 2222 proargtypes => 'cstring oid int4', prosrc => 'time_in' }, 2223{ oid => '1144', descr => 'I/O', 2224 proname => 'time_out', prorettype => 'cstring', proargtypes => 'time', 2225 prosrc => 'time_out' }, 2226{ oid => '2909', descr => 'I/O typmod', 2227 proname => 'timetypmodin', prorettype => 'int4', proargtypes => '_cstring', 2228 prosrc => 'timetypmodin' }, 2229{ oid => '2910', descr => 'I/O typmod', 2230 proname => 'timetypmodout', prorettype => 'cstring', proargtypes => 'int4', 2231 prosrc => 'timetypmodout' }, 2232{ oid => '1145', 2233 proname => 'time_eq', proleakproof => 't', prorettype => 'bool', 2234 proargtypes => 'time time', prosrc => 'time_eq' }, 2235 2236{ oid => '1146', 2237 proname => 'circle_add_pt', prorettype => 'circle', 2238 proargtypes => 'circle point', prosrc => 'circle_add_pt' }, 2239{ oid => '1147', 2240 proname => 'circle_sub_pt', prorettype => 'circle', 2241 proargtypes => 'circle point', prosrc => 'circle_sub_pt' }, 2242{ oid => '1148', 2243 proname => 'circle_mul_pt', prorettype => 'circle', 2244 proargtypes => 'circle point', prosrc => 'circle_mul_pt' }, 2245{ oid => '1149', 2246 proname => 'circle_div_pt', prorettype => 'circle', 2247 proargtypes => 'circle point', prosrc => 'circle_div_pt' }, 2248 2249{ oid => '1150', descr => 'I/O', 2250 proname => 'timestamptz_in', provolatile => 's', prorettype => 'timestamptz', 2251 proargtypes => 'cstring oid int4', prosrc => 'timestamptz_in' }, 2252{ oid => '1151', descr => 'I/O', 2253 proname => 'timestamptz_out', provolatile => 's', prorettype => 'cstring', 2254 proargtypes => 'timestamptz', prosrc => 'timestamptz_out' }, 2255{ oid => '2907', descr => 'I/O typmod', 2256 proname => 'timestamptztypmodin', prorettype => 'int4', 2257 proargtypes => '_cstring', prosrc => 'timestamptztypmodin' }, 2258{ oid => '2908', descr => 'I/O typmod', 2259 proname => 'timestamptztypmodout', prorettype => 'cstring', 2260 proargtypes => 'int4', prosrc => 'timestamptztypmodout' }, 2261{ oid => '1152', 2262 proname => 'timestamptz_eq', proleakproof => 't', prorettype => 'bool', 2263 proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_eq' }, 2264{ oid => '1153', 2265 proname => 'timestamptz_ne', proleakproof => 't', prorettype => 'bool', 2266 proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_ne' }, 2267{ oid => '1154', 2268 proname => 'timestamptz_lt', proleakproof => 't', prorettype => 'bool', 2269 proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_lt' }, 2270{ oid => '1155', 2271 proname => 'timestamptz_le', proleakproof => 't', prorettype => 'bool', 2272 proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_le' }, 2273{ oid => '1156', 2274 proname => 'timestamptz_ge', proleakproof => 't', prorettype => 'bool', 2275 proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_ge' }, 2276{ oid => '1157', 2277 proname => 'timestamptz_gt', proleakproof => 't', prorettype => 'bool', 2278 proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_gt' }, 2279{ oid => '1158', descr => 'convert UNIX epoch to timestamptz', 2280 proname => 'to_timestamp', prorettype => 'timestamptz', 2281 proargtypes => 'float8', prosrc => 'float8_timestamptz' }, 2282{ oid => '3995', descr => 'transform a time zone adjustment', 2283 proname => 'timestamp_zone_transform', prorettype => 'internal', 2284 proargtypes => 'internal', prosrc => 'timestamp_zone_transform' }, 2285{ oid => '1159', descr => 'adjust timestamp to new time zone', 2286 proname => 'timezone', protransform => 'timestamp_zone_transform', 2287 prorettype => 'timestamp', proargtypes => 'text timestamptz', 2288 prosrc => 'timestamptz_zone' }, 2289 2290{ oid => '1160', descr => 'I/O', 2291 proname => 'interval_in', provolatile => 's', prorettype => 'interval', 2292 proargtypes => 'cstring oid int4', prosrc => 'interval_in' }, 2293{ oid => '1161', descr => 'I/O', 2294 proname => 'interval_out', prorettype => 'cstring', proargtypes => 'interval', 2295 prosrc => 'interval_out' }, 2296{ oid => '2903', descr => 'I/O typmod', 2297 proname => 'intervaltypmodin', prorettype => 'int4', 2298 proargtypes => '_cstring', prosrc => 'intervaltypmodin' }, 2299{ oid => '2904', descr => 'I/O typmod', 2300 proname => 'intervaltypmodout', prorettype => 'cstring', 2301 proargtypes => 'int4', prosrc => 'intervaltypmodout' }, 2302{ oid => '1162', 2303 proname => 'interval_eq', proleakproof => 't', prorettype => 'bool', 2304 proargtypes => 'interval interval', prosrc => 'interval_eq' }, 2305{ oid => '1163', 2306 proname => 'interval_ne', proleakproof => 't', prorettype => 'bool', 2307 proargtypes => 'interval interval', prosrc => 'interval_ne' }, 2308{ oid => '1164', 2309 proname => 'interval_lt', proleakproof => 't', prorettype => 'bool', 2310 proargtypes => 'interval interval', prosrc => 'interval_lt' }, 2311{ oid => '1165', 2312 proname => 'interval_le', proleakproof => 't', prorettype => 'bool', 2313 proargtypes => 'interval interval', prosrc => 'interval_le' }, 2314{ oid => '1166', 2315 proname => 'interval_ge', proleakproof => 't', prorettype => 'bool', 2316 proargtypes => 'interval interval', prosrc => 'interval_ge' }, 2317{ oid => '1167', 2318 proname => 'interval_gt', proleakproof => 't', prorettype => 'bool', 2319 proargtypes => 'interval interval', prosrc => 'interval_gt' }, 2320{ oid => '1168', 2321 proname => 'interval_um', prorettype => 'interval', proargtypes => 'interval', 2322 prosrc => 'interval_um' }, 2323{ oid => '1169', 2324 proname => 'interval_pl', prorettype => 'interval', 2325 proargtypes => 'interval interval', prosrc => 'interval_pl' }, 2326{ oid => '1170', 2327 proname => 'interval_mi', prorettype => 'interval', 2328 proargtypes => 'interval interval', prosrc => 'interval_mi' }, 2329{ oid => '1171', descr => 'extract field from timestamp with time zone', 2330 proname => 'date_part', provolatile => 's', prorettype => 'float8', 2331 proargtypes => 'text timestamptz', prosrc => 'timestamptz_part' }, 2332{ oid => '1172', descr => 'extract field from interval', 2333 proname => 'date_part', prorettype => 'float8', 2334 proargtypes => 'text interval', prosrc => 'interval_part' }, 2335{ oid => '1173', descr => 'convert abstime to timestamp with time zone', 2336 proname => 'timestamptz', prorettype => 'timestamptz', 2337 proargtypes => 'abstime', prosrc => 'abstime_timestamptz' }, 2338{ oid => '1174', descr => 'convert date to timestamp with time zone', 2339 proname => 'timestamptz', provolatile => 's', prorettype => 'timestamptz', 2340 proargtypes => 'date', prosrc => 'date_timestamptz' }, 2341{ oid => '2711', 2342 descr => 'promote groups of 24 hours to numbers of days and promote groups of 30 days to numbers of months', 2343 proname => 'justify_interval', prorettype => 'interval', 2344 proargtypes => 'interval', prosrc => 'interval_justify_interval' }, 2345{ oid => '1175', descr => 'promote groups of 24 hours to numbers of days', 2346 proname => 'justify_hours', prorettype => 'interval', 2347 proargtypes => 'interval', prosrc => 'interval_justify_hours' }, 2348{ oid => '1295', descr => 'promote groups of 30 days to numbers of months', 2349 proname => 'justify_days', prorettype => 'interval', 2350 proargtypes => 'interval', prosrc => 'interval_justify_days' }, 2351{ oid => '1176', descr => 'convert date and time to timestamp with time zone', 2352 proname => 'timestamptz', prolang => '14', provolatile => 's', 2353 prorettype => 'timestamptz', proargtypes => 'date time', 2354 prosrc => 'select cast(($1 + $2) as timestamp with time zone)' }, 2355{ oid => '1177', descr => 'convert reltime to interval', 2356 proname => 'interval', prorettype => 'interval', proargtypes => 'reltime', 2357 prosrc => 'reltime_interval' }, 2358{ oid => '1178', descr => 'convert timestamp with time zone to date', 2359 proname => 'date', provolatile => 's', prorettype => 'date', 2360 proargtypes => 'timestamptz', prosrc => 'timestamptz_date' }, 2361{ oid => '1179', descr => 'convert abstime to date', 2362 proname => 'date', provolatile => 's', prorettype => 'date', 2363 proargtypes => 'abstime', prosrc => 'abstime_date' }, 2364{ oid => '1180', descr => 'convert timestamp with time zone to abstime', 2365 proname => 'abstime', prorettype => 'abstime', proargtypes => 'timestamptz', 2366 prosrc => 'timestamptz_abstime' }, 2367{ oid => '1181', 2368 descr => 'age of a transaction ID, in transactions before current transaction', 2369 proname => 'age', provolatile => 's', proparallel => 'r', 2370 prorettype => 'int4', proargtypes => 'xid', prosrc => 'xid_age' }, 2371{ oid => '3939', 2372 descr => 'age of a multi-transaction ID, in multi-transactions before current multi-transaction', 2373 proname => 'mxid_age', provolatile => 's', prorettype => 'int4', 2374 proargtypes => 'xid', prosrc => 'mxid_age' }, 2375 2376{ oid => '1188', 2377 proname => 'timestamptz_mi', prorettype => 'interval', 2378 proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_mi' }, 2379{ oid => '1189', 2380 proname => 'timestamptz_pl_interval', provolatile => 's', 2381 prorettype => 'timestamptz', proargtypes => 'timestamptz interval', 2382 prosrc => 'timestamptz_pl_interval' }, 2383{ oid => '1190', 2384 proname => 'timestamptz_mi_interval', provolatile => 's', 2385 prorettype => 'timestamptz', proargtypes => 'timestamptz interval', 2386 prosrc => 'timestamptz_mi_interval' }, 2387{ oid => '1194', descr => 'convert interval to reltime', 2388 proname => 'reltime', prorettype => 'reltime', proargtypes => 'interval', 2389 prosrc => 'interval_reltime' }, 2390{ oid => '1195', descr => 'smaller of two', 2391 proname => 'timestamptz_smaller', prorettype => 'timestamptz', 2392 proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_smaller' }, 2393{ oid => '1196', descr => 'larger of two', 2394 proname => 'timestamptz_larger', prorettype => 'timestamptz', 2395 proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_larger' }, 2396{ oid => '1197', descr => 'smaller of two', 2397 proname => 'interval_smaller', prorettype => 'interval', 2398 proargtypes => 'interval interval', prosrc => 'interval_smaller' }, 2399{ oid => '1198', descr => 'larger of two', 2400 proname => 'interval_larger', prorettype => 'interval', 2401 proargtypes => 'interval interval', prosrc => 'interval_larger' }, 2402{ oid => '1199', descr => 'date difference preserving months and years', 2403 proname => 'age', prorettype => 'interval', 2404 proargtypes => 'timestamptz timestamptz', prosrc => 'timestamptz_age' }, 2405 2406# OIDS 1200 - 1299 2407 2408{ oid => '3918', descr => 'transform an interval length coercion', 2409 proname => 'interval_transform', prorettype => 'internal', 2410 proargtypes => 'internal', prosrc => 'interval_transform' }, 2411{ oid => '1200', descr => 'adjust interval precision', 2412 proname => 'interval', protransform => 'interval_transform', 2413 prorettype => 'interval', proargtypes => 'interval int4', 2414 prosrc => 'interval_scale' }, 2415 2416{ oid => '1215', descr => 'get description for object id and catalog name', 2417 proname => 'obj_description', prolang => '14', procost => '100', 2418 provolatile => 's', prorettype => 'text', proargtypes => 'oid name', 2419 prosrc => 'select description from pg_catalog.pg_description where objoid = $1 and classoid = (select oid from pg_catalog.pg_class where relname = $2 and relnamespace = PGNSP) and objsubid = 0' }, 2420{ oid => '1216', descr => 'get description for table column', 2421 proname => 'col_description', prolang => '14', procost => '100', 2422 provolatile => 's', prorettype => 'text', proargtypes => 'oid int4', 2423 prosrc => 'select description from pg_catalog.pg_description where objoid = $1 and classoid = \'pg_catalog.pg_class\'::pg_catalog.regclass and objsubid = $2' }, 2424{ oid => '1993', 2425 descr => 'get description for object id and shared catalog name', 2426 proname => 'shobj_description', prolang => '14', procost => '100', 2427 provolatile => 's', prorettype => 'text', proargtypes => 'oid name', 2428 prosrc => 'select description from pg_catalog.pg_shdescription where objoid = $1 and classoid = (select oid from pg_catalog.pg_class where relname = $2 and relnamespace = PGNSP)' }, 2429 2430{ oid => '1217', 2431 descr => 'truncate timestamp with time zone to specified units', 2432 proname => 'date_trunc', provolatile => 's', prorettype => 'timestamptz', 2433 proargtypes => 'text timestamptz', prosrc => 'timestamptz_trunc' }, 2434{ oid => '1218', descr => 'truncate interval to specified units', 2435 proname => 'date_trunc', prorettype => 'interval', 2436 proargtypes => 'text interval', prosrc => 'interval_trunc' }, 2437 2438{ oid => '1219', descr => 'increment', 2439 proname => 'int8inc', prorettype => 'int8', proargtypes => 'int8', 2440 prosrc => 'int8inc' }, 2441{ oid => '3546', descr => 'decrement', 2442 proname => 'int8dec', prorettype => 'int8', proargtypes => 'int8', 2443 prosrc => 'int8dec' }, 2444{ oid => '2804', descr => 'increment, ignores second argument', 2445 proname => 'int8inc_any', prorettype => 'int8', proargtypes => 'int8 any', 2446 prosrc => 'int8inc_any' }, 2447{ oid => '3547', descr => 'decrement, ignores second argument', 2448 proname => 'int8dec_any', prorettype => 'int8', proargtypes => 'int8 any', 2449 prosrc => 'int8dec_any' }, 2450{ oid => '1230', 2451 proname => 'int8abs', prorettype => 'int8', proargtypes => 'int8', 2452 prosrc => 'int8abs' }, 2453 2454{ oid => '1236', descr => 'larger of two', 2455 proname => 'int8larger', prorettype => 'int8', proargtypes => 'int8 int8', 2456 prosrc => 'int8larger' }, 2457{ oid => '1237', descr => 'smaller of two', 2458 proname => 'int8smaller', prorettype => 'int8', proargtypes => 'int8 int8', 2459 prosrc => 'int8smaller' }, 2460 2461{ oid => '1238', 2462 proname => 'texticregexeq', prorettype => 'bool', proargtypes => 'text text', 2463 prosrc => 'texticregexeq' }, 2464{ oid => '1239', 2465 proname => 'texticregexne', prorettype => 'bool', proargtypes => 'text text', 2466 prosrc => 'texticregexne' }, 2467{ oid => '1240', 2468 proname => 'nameicregexeq', prorettype => 'bool', proargtypes => 'name text', 2469 prosrc => 'nameicregexeq' }, 2470{ oid => '1241', 2471 proname => 'nameicregexne', prorettype => 'bool', proargtypes => 'name text', 2472 prosrc => 'nameicregexne' }, 2473 2474{ oid => '1251', 2475 proname => 'int4abs', prorettype => 'int4', proargtypes => 'int4', 2476 prosrc => 'int4abs' }, 2477{ oid => '1253', 2478 proname => 'int2abs', prorettype => 'int2', proargtypes => 'int2', 2479 prosrc => 'int2abs' }, 2480 2481{ oid => '1271', descr => 'intervals overlap?', 2482 proname => 'overlaps', proisstrict => 'f', prorettype => 'bool', 2483 proargtypes => 'timetz timetz timetz timetz', prosrc => 'overlaps_timetz' }, 2484{ oid => '1272', 2485 proname => 'datetime_pl', prorettype => 'timestamp', 2486 proargtypes => 'date time', prosrc => 'datetime_timestamp' }, 2487{ oid => '1273', descr => 'extract field from time with time zone', 2488 proname => 'date_part', prorettype => 'float8', proargtypes => 'text timetz', 2489 prosrc => 'timetz_part' }, 2490{ oid => '1274', 2491 proname => 'int84pl', prorettype => 'int8', proargtypes => 'int8 int4', 2492 prosrc => 'int84pl' }, 2493{ oid => '1275', 2494 proname => 'int84mi', prorettype => 'int8', proargtypes => 'int8 int4', 2495 prosrc => 'int84mi' }, 2496{ oid => '1276', 2497 proname => 'int84mul', prorettype => 'int8', proargtypes => 'int8 int4', 2498 prosrc => 'int84mul' }, 2499{ oid => '1277', 2500 proname => 'int84div', prorettype => 'int8', proargtypes => 'int8 int4', 2501 prosrc => 'int84div' }, 2502{ oid => '1278', 2503 proname => 'int48pl', prorettype => 'int8', proargtypes => 'int4 int8', 2504 prosrc => 'int48pl' }, 2505{ oid => '1279', 2506 proname => 'int48mi', prorettype => 'int8', proargtypes => 'int4 int8', 2507 prosrc => 'int48mi' }, 2508{ oid => '1280', 2509 proname => 'int48mul', prorettype => 'int8', proargtypes => 'int4 int8', 2510 prosrc => 'int48mul' }, 2511{ oid => '1281', 2512 proname => 'int48div', prorettype => 'int8', proargtypes => 'int4 int8', 2513 prosrc => 'int48div' }, 2514 2515{ oid => '837', 2516 proname => 'int82pl', prorettype => 'int8', proargtypes => 'int8 int2', 2517 prosrc => 'int82pl' }, 2518{ oid => '838', 2519 proname => 'int82mi', prorettype => 'int8', proargtypes => 'int8 int2', 2520 prosrc => 'int82mi' }, 2521{ oid => '839', 2522 proname => 'int82mul', prorettype => 'int8', proargtypes => 'int8 int2', 2523 prosrc => 'int82mul' }, 2524{ oid => '840', 2525 proname => 'int82div', prorettype => 'int8', proargtypes => 'int8 int2', 2526 prosrc => 'int82div' }, 2527{ oid => '841', 2528 proname => 'int28pl', prorettype => 'int8', proargtypes => 'int2 int8', 2529 prosrc => 'int28pl' }, 2530{ oid => '942', 2531 proname => 'int28mi', prorettype => 'int8', proargtypes => 'int2 int8', 2532 prosrc => 'int28mi' }, 2533{ oid => '943', 2534 proname => 'int28mul', prorettype => 'int8', proargtypes => 'int2 int8', 2535 prosrc => 'int28mul' }, 2536{ oid => '948', 2537 proname => 'int28div', prorettype => 'int8', proargtypes => 'int2 int8', 2538 prosrc => 'int28div' }, 2539 2540{ oid => '1287', descr => 'convert int8 to oid', 2541 proname => 'oid', prorettype => 'oid', proargtypes => 'int8', 2542 prosrc => 'i8tooid' }, 2543{ oid => '1288', descr => 'convert oid to int8', 2544 proname => 'int8', prorettype => 'int8', proargtypes => 'oid', 2545 prosrc => 'oidtoi8' }, 2546 2547{ oid => '1291', 2548 descr => 'trigger to suppress updates when new and old records match', 2549 proname => 'suppress_redundant_updates_trigger', provolatile => 'v', 2550 prorettype => 'trigger', proargtypes => '', 2551 prosrc => 'suppress_redundant_updates_trigger' }, 2552 2553{ oid => '1292', 2554 proname => 'tideq', proleakproof => 't', prorettype => 'bool', 2555 proargtypes => 'tid tid', prosrc => 'tideq' }, 2556{ oid => '1293', descr => 'latest tid of a tuple', 2557 proname => 'currtid', provolatile => 'v', proparallel => 'u', 2558 prorettype => 'tid', proargtypes => 'oid tid', prosrc => 'currtid_byreloid' }, 2559{ oid => '1294', descr => 'latest tid of a tuple', 2560 proname => 'currtid2', provolatile => 'v', proparallel => 'u', 2561 prorettype => 'tid', proargtypes => 'text tid', 2562 prosrc => 'currtid_byrelname' }, 2563{ oid => '1265', 2564 proname => 'tidne', proleakproof => 't', prorettype => 'bool', 2565 proargtypes => 'tid tid', prosrc => 'tidne' }, 2566{ oid => '2790', 2567 proname => 'tidgt', proleakproof => 't', prorettype => 'bool', 2568 proargtypes => 'tid tid', prosrc => 'tidgt' }, 2569{ oid => '2791', 2570 proname => 'tidlt', proleakproof => 't', prorettype => 'bool', 2571 proargtypes => 'tid tid', prosrc => 'tidlt' }, 2572{ oid => '2792', 2573 proname => 'tidge', proleakproof => 't', prorettype => 'bool', 2574 proargtypes => 'tid tid', prosrc => 'tidge' }, 2575{ oid => '2793', 2576 proname => 'tidle', proleakproof => 't', prorettype => 'bool', 2577 proargtypes => 'tid tid', prosrc => 'tidle' }, 2578{ oid => '2794', descr => 'less-equal-greater', 2579 proname => 'bttidcmp', prorettype => 'int4', proargtypes => 'tid tid', 2580 prosrc => 'bttidcmp' }, 2581{ oid => '2795', descr => 'larger of two', 2582 proname => 'tidlarger', prorettype => 'tid', proargtypes => 'tid tid', 2583 prosrc => 'tidlarger' }, 2584{ oid => '2796', descr => 'smaller of two', 2585 proname => 'tidsmaller', prorettype => 'tid', proargtypes => 'tid tid', 2586 prosrc => 'tidsmaller' }, 2587 2588{ oid => '1296', 2589 proname => 'timedate_pl', prolang => '14', prorettype => 'timestamp', 2590 proargtypes => 'time date', prosrc => 'select ($2 + $1)' }, 2591{ oid => '1297', 2592 proname => 'datetimetz_pl', prorettype => 'timestamptz', 2593 proargtypes => 'date timetz', prosrc => 'datetimetz_timestamptz' }, 2594{ oid => '1298', 2595 proname => 'timetzdate_pl', prolang => '14', prorettype => 'timestamptz', 2596 proargtypes => 'timetz date', prosrc => 'select ($2 + $1)' }, 2597{ oid => '1299', descr => 'current transaction time', 2598 proname => 'now', provolatile => 's', proparallel => 'r', 2599 prorettype => 'timestamptz', proargtypes => '', prosrc => 'now' }, 2600{ oid => '2647', descr => 'current transaction time', 2601 proname => 'transaction_timestamp', provolatile => 's', 2602 prorettype => 'timestamptz', proargtypes => '', prosrc => 'now' }, 2603{ oid => '2648', descr => 'current statement time', 2604 proname => 'statement_timestamp', provolatile => 's', proparallel => 'r', 2605 prorettype => 'timestamptz', proargtypes => '', 2606 prosrc => 'statement_timestamp' }, 2607{ oid => '2649', descr => 'current clock time', 2608 proname => 'clock_timestamp', provolatile => 'v', prorettype => 'timestamptz', 2609 proargtypes => '', prosrc => 'clock_timestamp' }, 2610 2611# OIDS 1300 - 1399 2612 2613{ oid => '1300', 2614 descr => 'restriction selectivity for position-comparison operators', 2615 proname => 'positionsel', provolatile => 's', prorettype => 'float8', 2616 proargtypes => 'internal oid internal int4', prosrc => 'positionsel' }, 2617{ oid => '1301', 2618 descr => 'join selectivity for position-comparison operators', 2619 proname => 'positionjoinsel', provolatile => 's', prorettype => 'float8', 2620 proargtypes => 'internal oid internal int2 internal', 2621 prosrc => 'positionjoinsel' }, 2622{ oid => '1302', 2623 descr => 'restriction selectivity for containment comparison operators', 2624 proname => 'contsel', provolatile => 's', prorettype => 'float8', 2625 proargtypes => 'internal oid internal int4', prosrc => 'contsel' }, 2626{ oid => '1303', 2627 descr => 'join selectivity for containment comparison operators', 2628 proname => 'contjoinsel', provolatile => 's', prorettype => 'float8', 2629 proargtypes => 'internal oid internal int2 internal', 2630 prosrc => 'contjoinsel' }, 2631 2632{ oid => '1304', descr => 'intervals overlap?', 2633 proname => 'overlaps', proisstrict => 'f', prorettype => 'bool', 2634 proargtypes => 'timestamptz timestamptz timestamptz timestamptz', 2635 prosrc => 'overlaps_timestamp' }, 2636{ oid => '1305', descr => 'intervals overlap?', 2637 proname => 'overlaps', prolang => '14', proisstrict => 'f', 2638 provolatile => 's', prorettype => 'bool', 2639 proargtypes => 'timestamptz interval timestamptz interval', 2640 prosrc => 'select ($1, ($1 + $2)) overlaps ($3, ($3 + $4))' }, 2641{ oid => '1306', descr => 'intervals overlap?', 2642 proname => 'overlaps', prolang => '14', proisstrict => 'f', 2643 provolatile => 's', prorettype => 'bool', 2644 proargtypes => 'timestamptz timestamptz timestamptz interval', 2645 prosrc => 'select ($1, $2) overlaps ($3, ($3 + $4))' }, 2646{ oid => '1307', descr => 'intervals overlap?', 2647 proname => 'overlaps', prolang => '14', proisstrict => 'f', 2648 provolatile => 's', prorettype => 'bool', 2649 proargtypes => 'timestamptz interval timestamptz timestamptz', 2650 prosrc => 'select ($1, ($1 + $2)) overlaps ($3, $4)' }, 2651 2652{ oid => '1308', descr => 'intervals overlap?', 2653 proname => 'overlaps', proisstrict => 'f', prorettype => 'bool', 2654 proargtypes => 'time time time time', prosrc => 'overlaps_time' }, 2655{ oid => '1309', descr => 'intervals overlap?', 2656 proname => 'overlaps', prolang => '14', proisstrict => 'f', 2657 prorettype => 'bool', proargtypes => 'time interval time interval', 2658 prosrc => 'select ($1, ($1 + $2)) overlaps ($3, ($3 + $4))' }, 2659{ oid => '1310', descr => 'intervals overlap?', 2660 proname => 'overlaps', prolang => '14', proisstrict => 'f', 2661 prorettype => 'bool', proargtypes => 'time time time interval', 2662 prosrc => 'select ($1, $2) overlaps ($3, ($3 + $4))' }, 2663{ oid => '1311', descr => 'intervals overlap?', 2664 proname => 'overlaps', prolang => '14', proisstrict => 'f', 2665 prorettype => 'bool', proargtypes => 'time interval time time', 2666 prosrc => 'select ($1, ($1 + $2)) overlaps ($3, $4)' }, 2667 2668{ oid => '1312', descr => 'I/O', 2669 proname => 'timestamp_in', provolatile => 's', prorettype => 'timestamp', 2670 proargtypes => 'cstring oid int4', prosrc => 'timestamp_in' }, 2671{ oid => '1313', descr => 'I/O', 2672 proname => 'timestamp_out', provolatile => 's', prorettype => 'cstring', 2673 proargtypes => 'timestamp', prosrc => 'timestamp_out' }, 2674{ oid => '2905', descr => 'I/O typmod', 2675 proname => 'timestamptypmodin', prorettype => 'int4', 2676 proargtypes => '_cstring', prosrc => 'timestamptypmodin' }, 2677{ oid => '2906', descr => 'I/O typmod', 2678 proname => 'timestamptypmodout', prorettype => 'cstring', 2679 proargtypes => 'int4', prosrc => 'timestamptypmodout' }, 2680{ oid => '1314', descr => 'less-equal-greater', 2681 proname => 'timestamptz_cmp', prorettype => 'int4', 2682 proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_cmp' }, 2683{ oid => '1315', descr => 'less-equal-greater', 2684 proname => 'interval_cmp', prorettype => 'int4', 2685 proargtypes => 'interval interval', prosrc => 'interval_cmp' }, 2686{ oid => '1316', descr => 'convert timestamp to time', 2687 proname => 'time', prorettype => 'time', proargtypes => 'timestamp', 2688 prosrc => 'timestamp_time' }, 2689 2690{ oid => '1317', descr => 'length', 2691 proname => 'length', prorettype => 'int4', proargtypes => 'text', 2692 prosrc => 'textlen' }, 2693{ oid => '1318', descr => 'character length', 2694 proname => 'length', prorettype => 'int4', proargtypes => 'bpchar', 2695 prosrc => 'bpcharlen' }, 2696 2697{ oid => '1319', 2698 proname => 'xideqint4', proleakproof => 't', prorettype => 'bool', 2699 proargtypes => 'xid int4', prosrc => 'xideq' }, 2700{ oid => '3309', 2701 proname => 'xidneqint4', proleakproof => 't', prorettype => 'bool', 2702 proargtypes => 'xid int4', prosrc => 'xidneq' }, 2703 2704{ oid => '1326', 2705 proname => 'interval_div', prorettype => 'interval', 2706 proargtypes => 'interval float8', prosrc => 'interval_div' }, 2707 2708{ oid => '1339', descr => 'base 10 logarithm', 2709 proname => 'dlog10', prorettype => 'float8', proargtypes => 'float8', 2710 prosrc => 'dlog10' }, 2711{ oid => '1340', descr => 'base 10 logarithm', 2712 proname => 'log', prorettype => 'float8', proargtypes => 'float8', 2713 prosrc => 'dlog10' }, 2714{ oid => '1341', descr => 'natural logarithm', 2715 proname => 'ln', prorettype => 'float8', proargtypes => 'float8', 2716 prosrc => 'dlog1' }, 2717{ oid => '1342', descr => 'round to nearest integer', 2718 proname => 'round', prorettype => 'float8', proargtypes => 'float8', 2719 prosrc => 'dround' }, 2720{ oid => '1343', descr => 'truncate to integer', 2721 proname => 'trunc', prorettype => 'float8', proargtypes => 'float8', 2722 prosrc => 'dtrunc' }, 2723{ oid => '1344', descr => 'square root', 2724 proname => 'sqrt', prorettype => 'float8', proargtypes => 'float8', 2725 prosrc => 'dsqrt' }, 2726{ oid => '1345', descr => 'cube root', 2727 proname => 'cbrt', prorettype => 'float8', proargtypes => 'float8', 2728 prosrc => 'dcbrt' }, 2729{ oid => '1346', descr => 'exponentiation', 2730 proname => 'pow', prorettype => 'float8', proargtypes => 'float8 float8', 2731 prosrc => 'dpow' }, 2732{ oid => '1368', descr => 'exponentiation', 2733 proname => 'power', prorettype => 'float8', proargtypes => 'float8 float8', 2734 prosrc => 'dpow' }, 2735{ oid => '1347', descr => 'natural exponential (e^x)', 2736 proname => 'exp', prorettype => 'float8', proargtypes => 'float8', 2737 prosrc => 'dexp' }, 2738 2739# This form of obj_description is now deprecated, since it will fail if 2740# OIDs are not unique across system catalogs. Use the other form instead. 2741{ oid => '1348', descr => 'deprecated, use two-argument form instead', 2742 proname => 'obj_description', prolang => '14', procost => '100', 2743 provolatile => 's', prorettype => 'text', proargtypes => 'oid', 2744 prosrc => 'select description from pg_catalog.pg_description where objoid = $1 and objsubid = 0' }, 2745 2746{ oid => '1349', descr => 'print type names of oidvector field', 2747 proname => 'oidvectortypes', provolatile => 's', prorettype => 'text', 2748 proargtypes => 'oidvector', prosrc => 'oidvectortypes' }, 2749 2750{ oid => '1350', descr => 'I/O', 2751 proname => 'timetz_in', provolatile => 's', prorettype => 'timetz', 2752 proargtypes => 'cstring oid int4', prosrc => 'timetz_in' }, 2753{ oid => '1351', descr => 'I/O', 2754 proname => 'timetz_out', prorettype => 'cstring', proargtypes => 'timetz', 2755 prosrc => 'timetz_out' }, 2756{ oid => '2911', descr => 'I/O typmod', 2757 proname => 'timetztypmodin', prorettype => 'int4', proargtypes => '_cstring', 2758 prosrc => 'timetztypmodin' }, 2759{ oid => '2912', descr => 'I/O typmod', 2760 proname => 'timetztypmodout', prorettype => 'cstring', proargtypes => 'int4', 2761 prosrc => 'timetztypmodout' }, 2762{ oid => '1352', 2763 proname => 'timetz_eq', proleakproof => 't', prorettype => 'bool', 2764 proargtypes => 'timetz timetz', prosrc => 'timetz_eq' }, 2765{ oid => '1353', 2766 proname => 'timetz_ne', proleakproof => 't', prorettype => 'bool', 2767 proargtypes => 'timetz timetz', prosrc => 'timetz_ne' }, 2768{ oid => '1354', 2769 proname => 'timetz_lt', proleakproof => 't', prorettype => 'bool', 2770 proargtypes => 'timetz timetz', prosrc => 'timetz_lt' }, 2771{ oid => '1355', 2772 proname => 'timetz_le', proleakproof => 't', prorettype => 'bool', 2773 proargtypes => 'timetz timetz', prosrc => 'timetz_le' }, 2774{ oid => '1356', 2775 proname => 'timetz_ge', proleakproof => 't', prorettype => 'bool', 2776 proargtypes => 'timetz timetz', prosrc => 'timetz_ge' }, 2777{ oid => '1357', 2778 proname => 'timetz_gt', proleakproof => 't', prorettype => 'bool', 2779 proargtypes => 'timetz timetz', prosrc => 'timetz_gt' }, 2780{ oid => '1358', descr => 'less-equal-greater', 2781 proname => 'timetz_cmp', prorettype => 'int4', proargtypes => 'timetz timetz', 2782 prosrc => 'timetz_cmp' }, 2783{ oid => '1359', 2784 descr => 'convert date and time with time zone to timestamp with time zone', 2785 proname => 'timestamptz', prorettype => 'timestamptz', 2786 proargtypes => 'date timetz', prosrc => 'datetimetz_timestamptz' }, 2787 2788{ oid => '1364', descr => 'convert abstime to time', 2789 proname => 'time', prolang => '14', provolatile => 's', prorettype => 'time', 2790 proargtypes => 'abstime', 2791 prosrc => 'select cast(cast($1 as timestamp without time zone) as pg_catalog.time)' }, 2792 2793{ oid => '1367', descr => 'character length', 2794 proname => 'character_length', prorettype => 'int4', proargtypes => 'bpchar', 2795 prosrc => 'bpcharlen' }, 2796{ oid => '1369', descr => 'character length', 2797 proname => 'character_length', prorettype => 'int4', proargtypes => 'text', 2798 prosrc => 'textlen' }, 2799 2800{ oid => '1370', descr => 'convert time to interval', 2801 proname => 'interval', prorettype => 'interval', proargtypes => 'time', 2802 prosrc => 'time_interval' }, 2803{ oid => '1372', descr => 'character length', 2804 proname => 'char_length', prorettype => 'int4', proargtypes => 'bpchar', 2805 prosrc => 'bpcharlen' }, 2806{ oid => '1374', descr => 'octet length', 2807 proname => 'octet_length', prorettype => 'int4', proargtypes => 'text', 2808 prosrc => 'textoctetlen' }, 2809{ oid => '1375', descr => 'octet length', 2810 proname => 'octet_length', prorettype => 'int4', proargtypes => 'bpchar', 2811 prosrc => 'bpcharoctetlen' }, 2812 2813{ oid => '1377', descr => 'larger of two', 2814 proname => 'time_larger', prorettype => 'time', proargtypes => 'time time', 2815 prosrc => 'time_larger' }, 2816{ oid => '1378', descr => 'smaller of two', 2817 proname => 'time_smaller', prorettype => 'time', proargtypes => 'time time', 2818 prosrc => 'time_smaller' }, 2819{ oid => '1379', descr => 'larger of two', 2820 proname => 'timetz_larger', prorettype => 'timetz', 2821 proargtypes => 'timetz timetz', prosrc => 'timetz_larger' }, 2822{ oid => '1380', descr => 'smaller of two', 2823 proname => 'timetz_smaller', prorettype => 'timetz', 2824 proargtypes => 'timetz timetz', prosrc => 'timetz_smaller' }, 2825 2826{ oid => '1381', descr => 'character length', 2827 proname => 'char_length', prorettype => 'int4', proargtypes => 'text', 2828 prosrc => 'textlen' }, 2829 2830{ oid => '1382', descr => 'extract field from abstime', 2831 proname => 'date_part', prolang => '14', provolatile => 's', 2832 prorettype => 'float8', proargtypes => 'text abstime', 2833 prosrc => 'select pg_catalog.date_part($1, cast($2 as timestamp with time zone))' }, 2834{ oid => '1383', descr => 'extract field from reltime', 2835 proname => 'date_part', prolang => '14', provolatile => 's', 2836 prorettype => 'float8', proargtypes => 'text reltime', 2837 prosrc => 'select pg_catalog.date_part($1, cast($2 as pg_catalog.interval))' }, 2838{ oid => '1384', descr => 'extract field from date', 2839 proname => 'date_part', prolang => '14', prorettype => 'float8', 2840 proargtypes => 'text date', 2841 prosrc => 'select pg_catalog.date_part($1, cast($2 as timestamp without time zone))' }, 2842{ oid => '1385', descr => 'extract field from time', 2843 proname => 'date_part', prorettype => 'float8', proargtypes => 'text time', 2844 prosrc => 'time_part' }, 2845{ oid => '1386', 2846 descr => 'date difference from today preserving months and years', 2847 proname => 'age', prolang => '14', provolatile => 's', 2848 prorettype => 'interval', proargtypes => 'timestamptz', 2849 prosrc => 'select pg_catalog.age(cast(current_date as timestamp with time zone), $1)' }, 2850 2851{ oid => '1388', 2852 descr => 'convert timestamp with time zone to time with time zone', 2853 proname => 'timetz', provolatile => 's', prorettype => 'timetz', 2854 proargtypes => 'timestamptz', prosrc => 'timestamptz_timetz' }, 2855 2856{ oid => '1373', descr => 'finite date?', 2857 proname => 'isfinite', prorettype => 'bool', proargtypes => 'date', 2858 prosrc => 'date_finite' }, 2859{ oid => '1389', descr => 'finite timestamp?', 2860 proname => 'isfinite', prorettype => 'bool', proargtypes => 'timestamptz', 2861 prosrc => 'timestamp_finite' }, 2862{ oid => '1390', descr => 'finite interval?', 2863 proname => 'isfinite', prorettype => 'bool', proargtypes => 'interval', 2864 prosrc => 'interval_finite' }, 2865 2866{ oid => '1376', descr => 'factorial', 2867 proname => 'factorial', prorettype => 'numeric', proargtypes => 'int8', 2868 prosrc => 'numeric_fac' }, 2869{ oid => '1394', descr => 'absolute value', 2870 proname => 'abs', prorettype => 'float4', proargtypes => 'float4', 2871 prosrc => 'float4abs' }, 2872{ oid => '1395', descr => 'absolute value', 2873 proname => 'abs', prorettype => 'float8', proargtypes => 'float8', 2874 prosrc => 'float8abs' }, 2875{ oid => '1396', descr => 'absolute value', 2876 proname => 'abs', prorettype => 'int8', proargtypes => 'int8', 2877 prosrc => 'int8abs' }, 2878{ oid => '1397', descr => 'absolute value', 2879 proname => 'abs', prorettype => 'int4', proargtypes => 'int4', 2880 prosrc => 'int4abs' }, 2881{ oid => '1398', descr => 'absolute value', 2882 proname => 'abs', prorettype => 'int2', proargtypes => 'int2', 2883 prosrc => 'int2abs' }, 2884 2885# OIDS 1400 - 1499 2886 2887{ oid => '1400', descr => 'convert varchar to name', 2888 proname => 'name', prorettype => 'name', proargtypes => 'varchar', 2889 prosrc => 'text_name' }, 2890{ oid => '1401', descr => 'convert name to varchar', 2891 proname => 'varchar', prorettype => 'varchar', proargtypes => 'name', 2892 prosrc => 'name_text' }, 2893 2894{ oid => '1402', descr => 'current schema name', 2895 proname => 'current_schema', provolatile => 's', prorettype => 'name', 2896 proargtypes => '', prosrc => 'current_schema' }, 2897{ oid => '1403', descr => 'current schema search list', 2898 proname => 'current_schemas', provolatile => 's', prorettype => '_name', 2899 proargtypes => 'bool', prosrc => 'current_schemas' }, 2900 2901{ oid => '1404', descr => 'substitute portion of string', 2902 proname => 'overlay', prorettype => 'text', 2903 proargtypes => 'text text int4 int4', prosrc => 'textoverlay' }, 2904{ oid => '1405', descr => 'substitute portion of string', 2905 proname => 'overlay', prorettype => 'text', proargtypes => 'text text int4', 2906 prosrc => 'textoverlay_no_len' }, 2907 2908{ oid => '1406', descr => 'vertically aligned', 2909 proname => 'isvertical', prorettype => 'bool', proargtypes => 'point point', 2910 prosrc => 'point_vert' }, 2911{ oid => '1407', descr => 'horizontally aligned', 2912 proname => 'ishorizontal', prorettype => 'bool', proargtypes => 'point point', 2913 prosrc => 'point_horiz' }, 2914{ oid => '1408', descr => 'parallel', 2915 proname => 'isparallel', prorettype => 'bool', proargtypes => 'lseg lseg', 2916 prosrc => 'lseg_parallel' }, 2917{ oid => '1409', descr => 'perpendicular', 2918 proname => 'isperp', prorettype => 'bool', proargtypes => 'lseg lseg', 2919 prosrc => 'lseg_perp' }, 2920{ oid => '1410', descr => 'vertical', 2921 proname => 'isvertical', prorettype => 'bool', proargtypes => 'lseg', 2922 prosrc => 'lseg_vertical' }, 2923{ oid => '1411', descr => 'horizontal', 2924 proname => 'ishorizontal', prorettype => 'bool', proargtypes => 'lseg', 2925 prosrc => 'lseg_horizontal' }, 2926{ oid => '1412', descr => 'parallel', 2927 proname => 'isparallel', prorettype => 'bool', proargtypes => 'line line', 2928 prosrc => 'line_parallel' }, 2929{ oid => '1413', descr => 'perpendicular', 2930 proname => 'isperp', prorettype => 'bool', proargtypes => 'line line', 2931 prosrc => 'line_perp' }, 2932{ oid => '1414', descr => 'vertical', 2933 proname => 'isvertical', prorettype => 'bool', proargtypes => 'line', 2934 prosrc => 'line_vertical' }, 2935{ oid => '1415', descr => 'horizontal', 2936 proname => 'ishorizontal', prorettype => 'bool', proargtypes => 'line', 2937 prosrc => 'line_horizontal' }, 2938{ oid => '1416', descr => 'center of', 2939 proname => 'point', prorettype => 'point', proargtypes => 'circle', 2940 prosrc => 'circle_center' }, 2941 2942{ oid => '1419', descr => 'convert interval to time', 2943 proname => 'time', prorettype => 'time', proargtypes => 'interval', 2944 prosrc => 'interval_time' }, 2945 2946{ oid => '1421', descr => 'convert points to box', 2947 proname => 'box', prorettype => 'box', proargtypes => 'point point', 2948 prosrc => 'points_box' }, 2949{ oid => '1422', 2950 proname => 'box_add', prorettype => 'box', proargtypes => 'box point', 2951 prosrc => 'box_add' }, 2952{ oid => '1423', 2953 proname => 'box_sub', prorettype => 'box', proargtypes => 'box point', 2954 prosrc => 'box_sub' }, 2955{ oid => '1424', 2956 proname => 'box_mul', prorettype => 'box', proargtypes => 'box point', 2957 prosrc => 'box_mul' }, 2958{ oid => '1425', 2959 proname => 'box_div', prorettype => 'box', proargtypes => 'box point', 2960 prosrc => 'box_div' }, 2961{ oid => '1426', 2962 proname => 'path_contain_pt', prolang => '14', prorettype => 'bool', 2963 proargtypes => 'path point', prosrc => 'select pg_catalog.on_ppath($2, $1)' }, 2964{ oid => '1428', 2965 proname => 'poly_contain_pt', prorettype => 'bool', 2966 proargtypes => 'polygon point', prosrc => 'poly_contain_pt' }, 2967{ oid => '1429', 2968 proname => 'pt_contained_poly', prorettype => 'bool', 2969 proargtypes => 'point polygon', prosrc => 'pt_contained_poly' }, 2970 2971{ oid => '1430', descr => 'path closed?', 2972 proname => 'isclosed', prorettype => 'bool', proargtypes => 'path', 2973 prosrc => 'path_isclosed' }, 2974{ oid => '1431', descr => 'path open?', 2975 proname => 'isopen', prorettype => 'bool', proargtypes => 'path', 2976 prosrc => 'path_isopen' }, 2977{ oid => '1432', 2978 proname => 'path_npoints', prorettype => 'int4', proargtypes => 'path', 2979 prosrc => 'path_npoints' }, 2980 2981# pclose and popen might better be named close and open, but that crashes initdb. 2982# - thomas 97/04/20 2983{ oid => '1433', descr => 'close path', 2984 proname => 'pclose', prorettype => 'path', proargtypes => 'path', 2985 prosrc => 'path_close' }, 2986{ oid => '1434', descr => 'open path', 2987 proname => 'popen', prorettype => 'path', proargtypes => 'path', 2988 prosrc => 'path_open' }, 2989 2990{ oid => '1435', 2991 proname => 'path_add', prorettype => 'path', proargtypes => 'path path', 2992 prosrc => 'path_add' }, 2993{ oid => '1436', 2994 proname => 'path_add_pt', prorettype => 'path', proargtypes => 'path point', 2995 prosrc => 'path_add_pt' }, 2996{ oid => '1437', 2997 proname => 'path_sub_pt', prorettype => 'path', proargtypes => 'path point', 2998 prosrc => 'path_sub_pt' }, 2999{ oid => '1438', 3000 proname => 'path_mul_pt', prorettype => 'path', proargtypes => 'path point', 3001 prosrc => 'path_mul_pt' }, 3002{ oid => '1439', 3003 proname => 'path_div_pt', prorettype => 'path', proargtypes => 'path point', 3004 prosrc => 'path_div_pt' }, 3005 3006{ oid => '1440', descr => 'convert x, y to point', 3007 proname => 'point', prorettype => 'point', proargtypes => 'float8 float8', 3008 prosrc => 'construct_point' }, 3009{ oid => '1441', 3010 proname => 'point_add', prorettype => 'point', proargtypes => 'point point', 3011 prosrc => 'point_add' }, 3012{ oid => '1442', 3013 proname => 'point_sub', prorettype => 'point', proargtypes => 'point point', 3014 prosrc => 'point_sub' }, 3015{ oid => '1443', 3016 proname => 'point_mul', prorettype => 'point', proargtypes => 'point point', 3017 prosrc => 'point_mul' }, 3018{ oid => '1444', 3019 proname => 'point_div', prorettype => 'point', proargtypes => 'point point', 3020 prosrc => 'point_div' }, 3021 3022{ oid => '1445', 3023 proname => 'poly_npoints', prorettype => 'int4', proargtypes => 'polygon', 3024 prosrc => 'poly_npoints' }, 3025{ oid => '1446', descr => 'convert polygon to bounding box', 3026 proname => 'box', prorettype => 'box', proargtypes => 'polygon', 3027 prosrc => 'poly_box' }, 3028{ oid => '1447', descr => 'convert polygon to path', 3029 proname => 'path', prorettype => 'path', proargtypes => 'polygon', 3030 prosrc => 'poly_path' }, 3031{ oid => '1448', descr => 'convert box to polygon', 3032 proname => 'polygon', prorettype => 'polygon', proargtypes => 'box', 3033 prosrc => 'box_poly' }, 3034{ oid => '1449', descr => 'convert path to polygon', 3035 proname => 'polygon', prorettype => 'polygon', proargtypes => 'path', 3036 prosrc => 'path_poly' }, 3037 3038{ oid => '1450', descr => 'I/O', 3039 proname => 'circle_in', prorettype => 'circle', proargtypes => 'cstring', 3040 prosrc => 'circle_in' }, 3041{ oid => '1451', descr => 'I/O', 3042 proname => 'circle_out', prorettype => 'cstring', proargtypes => 'circle', 3043 prosrc => 'circle_out' }, 3044{ oid => '1452', 3045 proname => 'circle_same', prorettype => 'bool', 3046 proargtypes => 'circle circle', prosrc => 'circle_same' }, 3047{ oid => '1453', 3048 proname => 'circle_contain', prorettype => 'bool', 3049 proargtypes => 'circle circle', prosrc => 'circle_contain' }, 3050{ oid => '1454', 3051 proname => 'circle_left', prorettype => 'bool', 3052 proargtypes => 'circle circle', prosrc => 'circle_left' }, 3053{ oid => '1455', 3054 proname => 'circle_overleft', prorettype => 'bool', 3055 proargtypes => 'circle circle', prosrc => 'circle_overleft' }, 3056{ oid => '1456', 3057 proname => 'circle_overright', prorettype => 'bool', 3058 proargtypes => 'circle circle', prosrc => 'circle_overright' }, 3059{ oid => '1457', 3060 proname => 'circle_right', prorettype => 'bool', 3061 proargtypes => 'circle circle', prosrc => 'circle_right' }, 3062{ oid => '1458', 3063 proname => 'circle_contained', prorettype => 'bool', 3064 proargtypes => 'circle circle', prosrc => 'circle_contained' }, 3065{ oid => '1459', 3066 proname => 'circle_overlap', prorettype => 'bool', 3067 proargtypes => 'circle circle', prosrc => 'circle_overlap' }, 3068{ oid => '1460', 3069 proname => 'circle_below', prorettype => 'bool', 3070 proargtypes => 'circle circle', prosrc => 'circle_below' }, 3071{ oid => '1461', 3072 proname => 'circle_above', prorettype => 'bool', 3073 proargtypes => 'circle circle', prosrc => 'circle_above' }, 3074{ oid => '1462', 3075 proname => 'circle_eq', proleakproof => 't', prorettype => 'bool', 3076 proargtypes => 'circle circle', prosrc => 'circle_eq' }, 3077{ oid => '1463', 3078 proname => 'circle_ne', proleakproof => 't', prorettype => 'bool', 3079 proargtypes => 'circle circle', prosrc => 'circle_ne' }, 3080{ oid => '1464', 3081 proname => 'circle_lt', proleakproof => 't', prorettype => 'bool', 3082 proargtypes => 'circle circle', prosrc => 'circle_lt' }, 3083{ oid => '1465', 3084 proname => 'circle_gt', proleakproof => 't', prorettype => 'bool', 3085 proargtypes => 'circle circle', prosrc => 'circle_gt' }, 3086{ oid => '1466', 3087 proname => 'circle_le', proleakproof => 't', prorettype => 'bool', 3088 proargtypes => 'circle circle', prosrc => 'circle_le' }, 3089{ oid => '1467', 3090 proname => 'circle_ge', proleakproof => 't', prorettype => 'bool', 3091 proargtypes => 'circle circle', prosrc => 'circle_ge' }, 3092{ oid => '1468', descr => 'area of circle', 3093 proname => 'area', prorettype => 'float8', proargtypes => 'circle', 3094 prosrc => 'circle_area' }, 3095{ oid => '1469', descr => 'diameter of circle', 3096 proname => 'diameter', prorettype => 'float8', proargtypes => 'circle', 3097 prosrc => 'circle_diameter' }, 3098{ oid => '1470', descr => 'radius of circle', 3099 proname => 'radius', prorettype => 'float8', proargtypes => 'circle', 3100 prosrc => 'circle_radius' }, 3101{ oid => '1471', 3102 proname => 'circle_distance', prorettype => 'float8', 3103 proargtypes => 'circle circle', prosrc => 'circle_distance' }, 3104{ oid => '1472', 3105 proname => 'circle_center', prorettype => 'point', proargtypes => 'circle', 3106 prosrc => 'circle_center' }, 3107{ oid => '1473', descr => 'convert point and radius to circle', 3108 proname => 'circle', prorettype => 'circle', proargtypes => 'point float8', 3109 prosrc => 'cr_circle' }, 3110{ oid => '1474', descr => 'convert polygon to circle', 3111 proname => 'circle', prorettype => 'circle', proargtypes => 'polygon', 3112 prosrc => 'poly_circle' }, 3113{ oid => '1475', descr => 'convert vertex count and circle to polygon', 3114 proname => 'polygon', prorettype => 'polygon', proargtypes => 'int4 circle', 3115 prosrc => 'circle_poly' }, 3116{ oid => '1476', 3117 proname => 'dist_pc', prorettype => 'float8', proargtypes => 'point circle', 3118 prosrc => 'dist_pc' }, 3119{ oid => '1477', 3120 proname => 'circle_contain_pt', prorettype => 'bool', 3121 proargtypes => 'circle point', prosrc => 'circle_contain_pt' }, 3122{ oid => '1478', 3123 proname => 'pt_contained_circle', prorettype => 'bool', 3124 proargtypes => 'point circle', prosrc => 'pt_contained_circle' }, 3125{ oid => '4091', descr => 'convert point to empty box', 3126 proname => 'box', prorettype => 'box', proargtypes => 'point', 3127 prosrc => 'point_box' }, 3128{ oid => '1479', descr => 'convert box to circle', 3129 proname => 'circle', prorettype => 'circle', proargtypes => 'box', 3130 prosrc => 'box_circle' }, 3131{ oid => '1480', descr => 'convert circle to box', 3132 proname => 'box', prorettype => 'box', proargtypes => 'circle', 3133 prosrc => 'circle_box' }, 3134{ oid => '1481', descr => 'convert to tinterval', 3135 proname => 'tinterval', prorettype => 'tinterval', 3136 proargtypes => 'abstime abstime', prosrc => 'mktinterval' }, 3137 3138{ oid => '1482', 3139 proname => 'lseg_ne', proleakproof => 't', prorettype => 'bool', 3140 proargtypes => 'lseg lseg', prosrc => 'lseg_ne' }, 3141{ oid => '1483', 3142 proname => 'lseg_lt', proleakproof => 't', prorettype => 'bool', 3143 proargtypes => 'lseg lseg', prosrc => 'lseg_lt' }, 3144{ oid => '1484', 3145 proname => 'lseg_le', proleakproof => 't', prorettype => 'bool', 3146 proargtypes => 'lseg lseg', prosrc => 'lseg_le' }, 3147{ oid => '1485', 3148 proname => 'lseg_gt', proleakproof => 't', prorettype => 'bool', 3149 proargtypes => 'lseg lseg', prosrc => 'lseg_gt' }, 3150{ oid => '1486', 3151 proname => 'lseg_ge', proleakproof => 't', prorettype => 'bool', 3152 proargtypes => 'lseg lseg', prosrc => 'lseg_ge' }, 3153{ oid => '1487', 3154 proname => 'lseg_length', prorettype => 'float8', proargtypes => 'lseg', 3155 prosrc => 'lseg_length' }, 3156{ oid => '1488', 3157 proname => 'close_ls', prorettype => 'point', proargtypes => 'line lseg', 3158 prosrc => 'close_ls' }, 3159{ oid => '1489', 3160 proname => 'close_lseg', prorettype => 'point', proargtypes => 'lseg lseg', 3161 prosrc => 'close_lseg' }, 3162 3163{ oid => '1490', descr => 'I/O', 3164 proname => 'line_in', prorettype => 'line', proargtypes => 'cstring', 3165 prosrc => 'line_in' }, 3166{ oid => '1491', descr => 'I/O', 3167 proname => 'line_out', prorettype => 'cstring', proargtypes => 'line', 3168 prosrc => 'line_out' }, 3169{ oid => '1492', 3170 proname => 'line_eq', prorettype => 'bool', proargtypes => 'line line', 3171 prosrc => 'line_eq' }, 3172{ oid => '1493', descr => 'construct line from points', 3173 proname => 'line', prorettype => 'line', proargtypes => 'point point', 3174 prosrc => 'line_construct_pp' }, 3175{ oid => '1494', 3176 proname => 'line_interpt', prorettype => 'point', proargtypes => 'line line', 3177 prosrc => 'line_interpt' }, 3178{ oid => '1495', 3179 proname => 'line_intersect', prorettype => 'bool', proargtypes => 'line line', 3180 prosrc => 'line_intersect' }, 3181{ oid => '1496', 3182 proname => 'line_parallel', prorettype => 'bool', proargtypes => 'line line', 3183 prosrc => 'line_parallel' }, 3184{ oid => '1497', 3185 proname => 'line_perp', prorettype => 'bool', proargtypes => 'line line', 3186 prosrc => 'line_perp' }, 3187{ oid => '1498', 3188 proname => 'line_vertical', prorettype => 'bool', proargtypes => 'line', 3189 prosrc => 'line_vertical' }, 3190{ oid => '1499', 3191 proname => 'line_horizontal', prorettype => 'bool', proargtypes => 'line', 3192 prosrc => 'line_horizontal' }, 3193 3194# OIDS 1500 - 1599 3195 3196{ oid => '1530', descr => 'distance between endpoints', 3197 proname => 'length', prorettype => 'float8', proargtypes => 'lseg', 3198 prosrc => 'lseg_length' }, 3199{ oid => '1531', descr => 'sum of path segments', 3200 proname => 'length', prorettype => 'float8', proargtypes => 'path', 3201 prosrc => 'path_length' }, 3202 3203{ oid => '1532', descr => 'center of', 3204 proname => 'point', prorettype => 'point', proargtypes => 'lseg', 3205 prosrc => 'lseg_center' }, 3206{ oid => '1533', descr => 'center of', 3207 proname => 'point', prorettype => 'point', proargtypes => 'path', 3208 prosrc => 'path_center' }, 3209{ oid => '1534', descr => 'center of', 3210 proname => 'point', prorettype => 'point', proargtypes => 'box', 3211 prosrc => 'box_center' }, 3212{ oid => '1540', descr => 'center of', 3213 proname => 'point', prorettype => 'point', proargtypes => 'polygon', 3214 prosrc => 'poly_center' }, 3215{ oid => '1541', descr => 'diagonal of', 3216 proname => 'lseg', prorettype => 'lseg', proargtypes => 'box', 3217 prosrc => 'box_diagonal' }, 3218{ oid => '1542', descr => 'center of', 3219 proname => 'center', prorettype => 'point', proargtypes => 'box', 3220 prosrc => 'box_center' }, 3221{ oid => '1543', descr => 'center of', 3222 proname => 'center', prorettype => 'point', proargtypes => 'circle', 3223 prosrc => 'circle_center' }, 3224{ oid => '1544', descr => 'convert circle to 12-vertex polygon', 3225 proname => 'polygon', prolang => '14', prorettype => 'polygon', 3226 proargtypes => 'circle', prosrc => 'select pg_catalog.polygon(12, $1)' }, 3227{ oid => '1545', descr => 'number of points', 3228 proname => 'npoints', prorettype => 'int4', proargtypes => 'path', 3229 prosrc => 'path_npoints' }, 3230{ oid => '1556', descr => 'number of points', 3231 proname => 'npoints', prorettype => 'int4', proargtypes => 'polygon', 3232 prosrc => 'poly_npoints' }, 3233 3234{ oid => '1564', descr => 'I/O', 3235 proname => 'bit_in', prorettype => 'bit', proargtypes => 'cstring oid int4', 3236 prosrc => 'bit_in' }, 3237{ oid => '1565', descr => 'I/O', 3238 proname => 'bit_out', prorettype => 'cstring', proargtypes => 'bit', 3239 prosrc => 'bit_out' }, 3240{ oid => '2919', descr => 'I/O typmod', 3241 proname => 'bittypmodin', prorettype => 'int4', proargtypes => '_cstring', 3242 prosrc => 'bittypmodin' }, 3243{ oid => '2920', descr => 'I/O typmod', 3244 proname => 'bittypmodout', prorettype => 'cstring', proargtypes => 'int4', 3245 prosrc => 'bittypmodout' }, 3246 3247{ oid => '1569', descr => 'matches LIKE expression', 3248 proname => 'like', prorettype => 'bool', proargtypes => 'text text', 3249 prosrc => 'textlike' }, 3250{ oid => '1570', descr => 'does not match LIKE expression', 3251 proname => 'notlike', prorettype => 'bool', proargtypes => 'text text', 3252 prosrc => 'textnlike' }, 3253{ oid => '1571', descr => 'matches LIKE expression', 3254 proname => 'like', prorettype => 'bool', proargtypes => 'name text', 3255 prosrc => 'namelike' }, 3256{ oid => '1572', descr => 'does not match LIKE expression', 3257 proname => 'notlike', prorettype => 'bool', proargtypes => 'name text', 3258 prosrc => 'namenlike' }, 3259 3260# SEQUENCE functions 3261{ oid => '1574', descr => 'sequence next value', 3262 proname => 'nextval', provolatile => 'v', proparallel => 'u', 3263 prorettype => 'int8', proargtypes => 'regclass', prosrc => 'nextval_oid' }, 3264{ oid => '1575', descr => 'sequence current value', 3265 proname => 'currval', provolatile => 'v', proparallel => 'u', 3266 prorettype => 'int8', proargtypes => 'regclass', prosrc => 'currval_oid' }, 3267{ oid => '1576', descr => 'set sequence value', 3268 proname => 'setval', provolatile => 'v', proparallel => 'u', 3269 prorettype => 'int8', proargtypes => 'regclass int8', 3270 prosrc => 'setval_oid' }, 3271{ oid => '1765', descr => 'set sequence value and is_called status', 3272 proname => 'setval', provolatile => 'v', proparallel => 'u', 3273 prorettype => 'int8', proargtypes => 'regclass int8 bool', 3274 prosrc => 'setval3_oid' }, 3275{ oid => '3078', 3276 descr => 'sequence parameters, for use by information schema', 3277 proname => 'pg_sequence_parameters', provolatile => 's', 3278 prorettype => 'record', proargtypes => 'oid', 3279 proallargtypes => '{oid,int8,int8,int8,int8,bool,int8,oid}', 3280 proargmodes => '{i,o,o,o,o,o,o,o}', 3281 proargnames => '{sequence_oid,start_value,minimum_value,maximum_value,increment,cycle_option,cache_size,data_type}', 3282 prosrc => 'pg_sequence_parameters' }, 3283{ oid => '4032', descr => 'sequence last value', 3284 proname => 'pg_sequence_last_value', provolatile => 'v', proparallel => 'u', 3285 prorettype => 'int8', proargtypes => 'regclass', 3286 prosrc => 'pg_sequence_last_value' }, 3287 3288{ oid => '1579', descr => 'I/O', 3289 proname => 'varbit_in', prorettype => 'varbit', 3290 proargtypes => 'cstring oid int4', prosrc => 'varbit_in' }, 3291{ oid => '1580', descr => 'I/O', 3292 proname => 'varbit_out', prorettype => 'cstring', proargtypes => 'varbit', 3293 prosrc => 'varbit_out' }, 3294{ oid => '2902', descr => 'I/O typmod', 3295 proname => 'varbittypmodin', prorettype => 'int4', proargtypes => '_cstring', 3296 prosrc => 'varbittypmodin' }, 3297{ oid => '2921', descr => 'I/O typmod', 3298 proname => 'varbittypmodout', prorettype => 'cstring', proargtypes => 'int4', 3299 prosrc => 'varbittypmodout' }, 3300 3301{ oid => '1581', 3302 proname => 'biteq', proleakproof => 't', prorettype => 'bool', 3303 proargtypes => 'bit bit', prosrc => 'biteq' }, 3304{ oid => '1582', 3305 proname => 'bitne', proleakproof => 't', prorettype => 'bool', 3306 proargtypes => 'bit bit', prosrc => 'bitne' }, 3307{ oid => '1592', 3308 proname => 'bitge', proleakproof => 't', prorettype => 'bool', 3309 proargtypes => 'bit bit', prosrc => 'bitge' }, 3310{ oid => '1593', 3311 proname => 'bitgt', proleakproof => 't', prorettype => 'bool', 3312 proargtypes => 'bit bit', prosrc => 'bitgt' }, 3313{ oid => '1594', 3314 proname => 'bitle', proleakproof => 't', prorettype => 'bool', 3315 proargtypes => 'bit bit', prosrc => 'bitle' }, 3316{ oid => '1595', 3317 proname => 'bitlt', proleakproof => 't', prorettype => 'bool', 3318 proargtypes => 'bit bit', prosrc => 'bitlt' }, 3319{ oid => '1596', descr => 'less-equal-greater', 3320 proname => 'bitcmp', prorettype => 'int4', proargtypes => 'bit bit', 3321 prosrc => 'bitcmp' }, 3322 3323{ oid => '1598', descr => 'random value', 3324 proname => 'random', provolatile => 'v', proparallel => 'r', 3325 prorettype => 'float8', proargtypes => '', prosrc => 'drandom' }, 3326{ oid => '1599', descr => 'set random seed', 3327 proname => 'setseed', provolatile => 'v', proparallel => 'r', 3328 prorettype => 'void', proargtypes => 'float8', prosrc => 'setseed' }, 3329 3330# OIDS 1600 - 1699 3331 3332{ oid => '1600', descr => 'arcsine', 3333 proname => 'asin', prorettype => 'float8', proargtypes => 'float8', 3334 prosrc => 'dasin' }, 3335{ oid => '1601', descr => 'arccosine', 3336 proname => 'acos', prorettype => 'float8', proargtypes => 'float8', 3337 prosrc => 'dacos' }, 3338{ oid => '1602', descr => 'arctangent', 3339 proname => 'atan', prorettype => 'float8', proargtypes => 'float8', 3340 prosrc => 'datan' }, 3341{ oid => '1603', descr => 'arctangent, two arguments', 3342 proname => 'atan2', prorettype => 'float8', proargtypes => 'float8 float8', 3343 prosrc => 'datan2' }, 3344{ oid => '1604', descr => 'sine', 3345 proname => 'sin', prorettype => 'float8', proargtypes => 'float8', 3346 prosrc => 'dsin' }, 3347{ oid => '1605', descr => 'cosine', 3348 proname => 'cos', prorettype => 'float8', proargtypes => 'float8', 3349 prosrc => 'dcos' }, 3350{ oid => '1606', descr => 'tangent', 3351 proname => 'tan', prorettype => 'float8', proargtypes => 'float8', 3352 prosrc => 'dtan' }, 3353{ oid => '1607', descr => 'cotangent', 3354 proname => 'cot', prorettype => 'float8', proargtypes => 'float8', 3355 prosrc => 'dcot' }, 3356 3357{ oid => '2731', descr => 'arcsine, degrees', 3358 proname => 'asind', prorettype => 'float8', proargtypes => 'float8', 3359 prosrc => 'dasind' }, 3360{ oid => '2732', descr => 'arccosine, degrees', 3361 proname => 'acosd', prorettype => 'float8', proargtypes => 'float8', 3362 prosrc => 'dacosd' }, 3363{ oid => '2733', descr => 'arctangent, degrees', 3364 proname => 'atand', prorettype => 'float8', proargtypes => 'float8', 3365 prosrc => 'datand' }, 3366{ oid => '2734', descr => 'arctangent, two arguments, degrees', 3367 proname => 'atan2d', prorettype => 'float8', proargtypes => 'float8 float8', 3368 prosrc => 'datan2d' }, 3369{ oid => '2735', descr => 'sine, degrees', 3370 proname => 'sind', prorettype => 'float8', proargtypes => 'float8', 3371 prosrc => 'dsind' }, 3372{ oid => '2736', descr => 'cosine, degrees', 3373 proname => 'cosd', prorettype => 'float8', proargtypes => 'float8', 3374 prosrc => 'dcosd' }, 3375{ oid => '2737', descr => 'tangent, degrees', 3376 proname => 'tand', prorettype => 'float8', proargtypes => 'float8', 3377 prosrc => 'dtand' }, 3378{ oid => '2738', descr => 'cotangent, degrees', 3379 proname => 'cotd', prorettype => 'float8', proargtypes => 'float8', 3380 prosrc => 'dcotd' }, 3381 3382{ oid => '1608', descr => 'radians to degrees', 3383 proname => 'degrees', prorettype => 'float8', proargtypes => 'float8', 3384 prosrc => 'degrees' }, 3385{ oid => '1609', descr => 'degrees to radians', 3386 proname => 'radians', prorettype => 'float8', proargtypes => 'float8', 3387 prosrc => 'radians' }, 3388{ oid => '1610', descr => 'PI', 3389 proname => 'pi', prorettype => 'float8', proargtypes => '', prosrc => 'dpi' }, 3390 3391{ oid => '1618', 3392 proname => 'interval_mul', prorettype => 'interval', 3393 proargtypes => 'interval float8', prosrc => 'interval_mul' }, 3394 3395{ oid => '1620', descr => 'convert first char to int4', 3396 proname => 'ascii', prorettype => 'int4', proargtypes => 'text', 3397 prosrc => 'ascii' }, 3398{ oid => '1621', descr => 'convert int4 to char', 3399 proname => 'chr', prorettype => 'text', proargtypes => 'int4', 3400 prosrc => 'chr' }, 3401{ oid => '1622', descr => 'replicate string n times', 3402 proname => 'repeat', prorettype => 'text', proargtypes => 'text int4', 3403 prosrc => 'repeat' }, 3404 3405{ oid => '1623', descr => 'convert SQL99 regexp pattern to POSIX style', 3406 proname => 'similar_escape', proisstrict => 'f', prorettype => 'text', 3407 proargtypes => 'text text', prosrc => 'similar_escape' }, 3408 3409{ oid => '1624', 3410 proname => 'mul_d_interval', prorettype => 'interval', 3411 proargtypes => 'float8 interval', prosrc => 'mul_d_interval' }, 3412 3413{ oid => '1631', 3414 proname => 'bpcharlike', prorettype => 'bool', proargtypes => 'bpchar text', 3415 prosrc => 'textlike' }, 3416{ oid => '1632', 3417 proname => 'bpcharnlike', prorettype => 'bool', proargtypes => 'bpchar text', 3418 prosrc => 'textnlike' }, 3419 3420{ oid => '1633', 3421 proname => 'texticlike', prorettype => 'bool', proargtypes => 'text text', 3422 prosrc => 'texticlike' }, 3423{ oid => '1634', 3424 proname => 'texticnlike', prorettype => 'bool', proargtypes => 'text text', 3425 prosrc => 'texticnlike' }, 3426{ oid => '1635', 3427 proname => 'nameiclike', prorettype => 'bool', proargtypes => 'name text', 3428 prosrc => 'nameiclike' }, 3429{ oid => '1636', 3430 proname => 'nameicnlike', prorettype => 'bool', proargtypes => 'name text', 3431 prosrc => 'nameicnlike' }, 3432{ oid => '1637', descr => 'convert LIKE pattern to use backslash escapes', 3433 proname => 'like_escape', prorettype => 'text', proargtypes => 'text text', 3434 prosrc => 'like_escape' }, 3435 3436{ oid => '1656', 3437 proname => 'bpcharicregexeq', prorettype => 'bool', 3438 proargtypes => 'bpchar text', prosrc => 'texticregexeq' }, 3439{ oid => '1657', 3440 proname => 'bpcharicregexne', prorettype => 'bool', 3441 proargtypes => 'bpchar text', prosrc => 'texticregexne' }, 3442{ oid => '1658', 3443 proname => 'bpcharregexeq', prorettype => 'bool', 3444 proargtypes => 'bpchar text', prosrc => 'textregexeq' }, 3445{ oid => '1659', 3446 proname => 'bpcharregexne', prorettype => 'bool', 3447 proargtypes => 'bpchar text', prosrc => 'textregexne' }, 3448{ oid => '1660', 3449 proname => 'bpchariclike', prorettype => 'bool', proargtypes => 'bpchar text', 3450 prosrc => 'texticlike' }, 3451{ oid => '1661', 3452 proname => 'bpcharicnlike', prorettype => 'bool', 3453 proargtypes => 'bpchar text', prosrc => 'texticnlike' }, 3454 3455# Oracle Compatibility Related Functions - By Edmund Mergl <E.Mergl@bawue.de> 3456{ oid => '868', descr => 'position of substring', 3457 proname => 'strpos', prorettype => 'int4', proargtypes => 'text text', 3458 prosrc => 'textpos' }, 3459{ oid => '870', descr => 'lowercase', 3460 proname => 'lower', prorettype => 'text', proargtypes => 'text', 3461 prosrc => 'lower' }, 3462{ oid => '871', descr => 'uppercase', 3463 proname => 'upper', prorettype => 'text', proargtypes => 'text', 3464 prosrc => 'upper' }, 3465{ oid => '872', descr => 'capitalize each word', 3466 proname => 'initcap', prorettype => 'text', proargtypes => 'text', 3467 prosrc => 'initcap' }, 3468{ oid => '873', descr => 'left-pad string to length', 3469 proname => 'lpad', prorettype => 'text', proargtypes => 'text int4 text', 3470 prosrc => 'lpad' }, 3471{ oid => '874', descr => 'right-pad string to length', 3472 proname => 'rpad', prorettype => 'text', proargtypes => 'text int4 text', 3473 prosrc => 'rpad' }, 3474{ oid => '875', descr => 'trim selected characters from left end of string', 3475 proname => 'ltrim', prorettype => 'text', proargtypes => 'text text', 3476 prosrc => 'ltrim' }, 3477{ oid => '876', descr => 'trim selected characters from right end of string', 3478 proname => 'rtrim', prorettype => 'text', proargtypes => 'text text', 3479 prosrc => 'rtrim' }, 3480{ oid => '877', descr => 'extract portion of string', 3481 proname => 'substr', prorettype => 'text', proargtypes => 'text int4 int4', 3482 prosrc => 'text_substr' }, 3483{ oid => '878', descr => 'map a set of characters appearing in string', 3484 proname => 'translate', prorettype => 'text', proargtypes => 'text text text', 3485 prosrc => 'translate' }, 3486{ oid => '879', descr => 'left-pad string to length', 3487 proname => 'lpad', prolang => '14', prorettype => 'text', 3488 proargtypes => 'text int4', 3489 prosrc => 'select pg_catalog.lpad($1, $2, \' \')' }, 3490{ oid => '880', descr => 'right-pad string to length', 3491 proname => 'rpad', prolang => '14', prorettype => 'text', 3492 proargtypes => 'text int4', 3493 prosrc => 'select pg_catalog.rpad($1, $2, \' \')' }, 3494{ oid => '881', descr => 'trim spaces from left end of string', 3495 proname => 'ltrim', prorettype => 'text', proargtypes => 'text', 3496 prosrc => 'ltrim1' }, 3497{ oid => '882', descr => 'trim spaces from right end of string', 3498 proname => 'rtrim', prorettype => 'text', proargtypes => 'text', 3499 prosrc => 'rtrim1' }, 3500{ oid => '883', descr => 'extract portion of string', 3501 proname => 'substr', prorettype => 'text', proargtypes => 'text int4', 3502 prosrc => 'text_substr_no_len' }, 3503{ oid => '884', descr => 'trim selected characters from both ends of string', 3504 proname => 'btrim', prorettype => 'text', proargtypes => 'text text', 3505 prosrc => 'btrim' }, 3506{ oid => '885', descr => 'trim spaces from both ends of string', 3507 proname => 'btrim', prorettype => 'text', proargtypes => 'text', 3508 prosrc => 'btrim1' }, 3509 3510{ oid => '936', descr => 'extract portion of string', 3511 proname => 'substring', prorettype => 'text', proargtypes => 'text int4 int4', 3512 prosrc => 'text_substr' }, 3513{ oid => '937', descr => 'extract portion of string', 3514 proname => 'substring', prorettype => 'text', proargtypes => 'text int4', 3515 prosrc => 'text_substr_no_len' }, 3516{ oid => '2087', 3517 descr => 'replace all occurrences in string of old_substr with new_substr', 3518 proname => 'replace', prorettype => 'text', proargtypes => 'text text text', 3519 prosrc => 'replace_text' }, 3520{ oid => '2284', descr => 'replace text using regexp', 3521 proname => 'regexp_replace', prorettype => 'text', 3522 proargtypes => 'text text text', prosrc => 'textregexreplace_noopt' }, 3523{ oid => '2285', descr => 'replace text using regexp', 3524 proname => 'regexp_replace', prorettype => 'text', 3525 proargtypes => 'text text text text', prosrc => 'textregexreplace' }, 3526{ oid => '3396', descr => 'find first match for regexp', 3527 proname => 'regexp_match', prorettype => '_text', proargtypes => 'text text', 3528 prosrc => 'regexp_match_no_flags' }, 3529{ oid => '3397', descr => 'find first match for regexp', 3530 proname => 'regexp_match', prorettype => '_text', 3531 proargtypes => 'text text text', prosrc => 'regexp_match' }, 3532{ oid => '2763', descr => 'find match(es) for regexp', 3533 proname => 'regexp_matches', prorows => '1', proretset => 't', 3534 prorettype => '_text', proargtypes => 'text text', 3535 prosrc => 'regexp_matches_no_flags' }, 3536{ oid => '2764', descr => 'find match(es) for regexp', 3537 proname => 'regexp_matches', prorows => '10', proretset => 't', 3538 prorettype => '_text', proargtypes => 'text text text', 3539 prosrc => 'regexp_matches' }, 3540{ oid => '2088', descr => 'split string by field_sep and return field_num', 3541 proname => 'split_part', prorettype => 'text', 3542 proargtypes => 'text text int4', prosrc => 'split_text' }, 3543{ oid => '2765', descr => 'split string by pattern', 3544 proname => 'regexp_split_to_table', prorows => '1000', proretset => 't', 3545 prorettype => 'text', proargtypes => 'text text', 3546 prosrc => 'regexp_split_to_table_no_flags' }, 3547{ oid => '2766', descr => 'split string by pattern', 3548 proname => 'regexp_split_to_table', prorows => '1000', proretset => 't', 3549 prorettype => 'text', proargtypes => 'text text text', 3550 prosrc => 'regexp_split_to_table' }, 3551{ oid => '2767', descr => 'split string by pattern', 3552 proname => 'regexp_split_to_array', prorettype => '_text', 3553 proargtypes => 'text text', prosrc => 'regexp_split_to_array_no_flags' }, 3554{ oid => '2768', descr => 'split string by pattern', 3555 proname => 'regexp_split_to_array', prorettype => '_text', 3556 proargtypes => 'text text text', prosrc => 'regexp_split_to_array' }, 3557{ oid => '2089', descr => 'convert int4 number to hex', 3558 proname => 'to_hex', prorettype => 'text', proargtypes => 'int4', 3559 prosrc => 'to_hex32' }, 3560{ oid => '2090', descr => 'convert int8 number to hex', 3561 proname => 'to_hex', prorettype => 'text', proargtypes => 'int8', 3562 prosrc => 'to_hex64' }, 3563 3564# for character set encoding support 3565 3566# return database encoding name 3567{ oid => '1039', descr => 'encoding name of current database', 3568 proname => 'getdatabaseencoding', provolatile => 's', prorettype => 'name', 3569 proargtypes => '', prosrc => 'getdatabaseencoding' }, 3570 3571# return client encoding name i.e. session encoding 3572{ oid => '810', descr => 'encoding name of current database', 3573 proname => 'pg_client_encoding', provolatile => 's', prorettype => 'name', 3574 proargtypes => '', prosrc => 'pg_client_encoding' }, 3575 3576{ oid => '1713', descr => 'length of string in specified encoding', 3577 proname => 'length', provolatile => 's', prorettype => 'int4', 3578 proargtypes => 'bytea name', prosrc => 'length_in_encoding' }, 3579 3580{ oid => '1714', 3581 descr => 'convert string with specified source encoding name', 3582 proname => 'convert_from', provolatile => 's', prorettype => 'text', 3583 proargtypes => 'bytea name', prosrc => 'pg_convert_from' }, 3584 3585{ oid => '1717', 3586 descr => 'convert string with specified destination encoding name', 3587 proname => 'convert_to', provolatile => 's', prorettype => 'bytea', 3588 proargtypes => 'text name', prosrc => 'pg_convert_to' }, 3589 3590{ oid => '1813', descr => 'convert string with specified encoding names', 3591 proname => 'convert', provolatile => 's', prorettype => 'bytea', 3592 proargtypes => 'bytea name name', prosrc => 'pg_convert' }, 3593 3594{ oid => '1264', descr => 'convert encoding name to encoding id', 3595 proname => 'pg_char_to_encoding', provolatile => 's', prorettype => 'int4', 3596 proargtypes => 'name', prosrc => 'PG_char_to_encoding' }, 3597 3598{ oid => '1597', descr => 'convert encoding id to encoding name', 3599 proname => 'pg_encoding_to_char', provolatile => 's', prorettype => 'name', 3600 proargtypes => 'int4', prosrc => 'PG_encoding_to_char' }, 3601 3602{ oid => '2319', 3603 descr => 'maximum octet length of a character in given encoding', 3604 proname => 'pg_encoding_max_length', prorettype => 'int4', 3605 proargtypes => 'int4', prosrc => 'pg_encoding_max_length_sql' }, 3606 3607{ oid => '1638', 3608 proname => 'oidgt', proleakproof => 't', prorettype => 'bool', 3609 proargtypes => 'oid oid', prosrc => 'oidgt' }, 3610{ oid => '1639', 3611 proname => 'oidge', proleakproof => 't', prorettype => 'bool', 3612 proargtypes => 'oid oid', prosrc => 'oidge' }, 3613 3614# System-view support functions 3615{ oid => '1573', descr => 'source text of a rule', 3616 proname => 'pg_get_ruledef', provolatile => 's', prorettype => 'text', 3617 proargtypes => 'oid', prosrc => 'pg_get_ruledef' }, 3618{ oid => '1640', descr => 'select statement of a view', 3619 proname => 'pg_get_viewdef', provolatile => 's', proparallel => 'r', 3620 prorettype => 'text', proargtypes => 'text', 3621 prosrc => 'pg_get_viewdef_name' }, 3622{ oid => '1641', descr => 'select statement of a view', 3623 proname => 'pg_get_viewdef', provolatile => 's', proparallel => 'r', 3624 prorettype => 'text', proargtypes => 'oid', prosrc => 'pg_get_viewdef' }, 3625{ oid => '1642', descr => 'role name by OID (with fallback)', 3626 proname => 'pg_get_userbyid', provolatile => 's', prorettype => 'name', 3627 proargtypes => 'oid', prosrc => 'pg_get_userbyid' }, 3628{ oid => '1643', descr => 'index description', 3629 proname => 'pg_get_indexdef', provolatile => 's', prorettype => 'text', 3630 proargtypes => 'oid', prosrc => 'pg_get_indexdef' }, 3631{ oid => '3415', descr => 'extended statistics object description', 3632 proname => 'pg_get_statisticsobjdef', provolatile => 's', 3633 prorettype => 'text', proargtypes => 'oid', 3634 prosrc => 'pg_get_statisticsobjdef' }, 3635{ oid => '3352', descr => 'partition key description', 3636 proname => 'pg_get_partkeydef', provolatile => 's', prorettype => 'text', 3637 proargtypes => 'oid', prosrc => 'pg_get_partkeydef' }, 3638{ oid => '3408', descr => 'partition constraint description', 3639 proname => 'pg_get_partition_constraintdef', provolatile => 's', 3640 prorettype => 'text', proargtypes => 'oid', 3641 prosrc => 'pg_get_partition_constraintdef' }, 3642{ oid => '1662', descr => 'trigger description', 3643 proname => 'pg_get_triggerdef', provolatile => 's', prorettype => 'text', 3644 proargtypes => 'oid', prosrc => 'pg_get_triggerdef' }, 3645{ oid => '1387', descr => 'constraint description', 3646 proname => 'pg_get_constraintdef', provolatile => 's', prorettype => 'text', 3647 proargtypes => 'oid', prosrc => 'pg_get_constraintdef' }, 3648{ oid => '1716', descr => 'deparse an encoded expression', 3649 proname => 'pg_get_expr', provolatile => 's', prorettype => 'text', 3650 proargtypes => 'pg_node_tree oid', prosrc => 'pg_get_expr' }, 3651{ oid => '1665', descr => 'name of sequence for a serial column', 3652 proname => 'pg_get_serial_sequence', provolatile => 's', prorettype => 'text', 3653 proargtypes => 'text text', prosrc => 'pg_get_serial_sequence' }, 3654{ oid => '2098', descr => 'definition of a function', 3655 proname => 'pg_get_functiondef', provolatile => 's', prorettype => 'text', 3656 proargtypes => 'oid', prosrc => 'pg_get_functiondef' }, 3657{ oid => '2162', descr => 'argument list of a function', 3658 proname => 'pg_get_function_arguments', provolatile => 's', 3659 prorettype => 'text', proargtypes => 'oid', 3660 prosrc => 'pg_get_function_arguments' }, 3661{ oid => '2232', descr => 'identity argument list of a function', 3662 proname => 'pg_get_function_identity_arguments', provolatile => 's', 3663 prorettype => 'text', proargtypes => 'oid', 3664 prosrc => 'pg_get_function_identity_arguments' }, 3665{ oid => '2165', descr => 'result type of a function', 3666 proname => 'pg_get_function_result', provolatile => 's', prorettype => 'text', 3667 proargtypes => 'oid', prosrc => 'pg_get_function_result' }, 3668{ oid => '3808', descr => 'function argument default', 3669 proname => 'pg_get_function_arg_default', provolatile => 's', 3670 prorettype => 'text', proargtypes => 'oid int4', 3671 prosrc => 'pg_get_function_arg_default' }, 3672 3673{ oid => '1686', descr => 'list of SQL keywords', 3674 proname => 'pg_get_keywords', procost => '10', prorows => '400', 3675 proretset => 't', provolatile => 's', prorettype => 'record', 3676 proargtypes => '', proallargtypes => '{text,char,text}', 3677 proargmodes => '{o,o,o}', proargnames => '{word,catcode,catdesc}', 3678 prosrc => 'pg_get_keywords' }, 3679 3680{ oid => '2289', descr => 'convert generic options array to name/value table', 3681 proname => 'pg_options_to_table', prorows => '3', proretset => 't', 3682 provolatile => 's', prorettype => 'record', proargtypes => '_text', 3683 proallargtypes => '{_text,text,text}', proargmodes => '{i,o,o}', 3684 proargnames => '{options_array,option_name,option_value}', 3685 prosrc => 'pg_options_to_table' }, 3686 3687{ oid => '1619', descr => 'type of the argument', 3688 proname => 'pg_typeof', proisstrict => 'f', provolatile => 's', 3689 prorettype => 'regtype', proargtypes => 'any', prosrc => 'pg_typeof' }, 3690{ oid => '3162', 3691 descr => 'collation of the argument; implementation of the COLLATION FOR expression', 3692 proname => 'pg_collation_for', proisstrict => 'f', provolatile => 's', 3693 prorettype => 'text', proargtypes => 'any', prosrc => 'pg_collation_for' }, 3694 3695{ oid => '3842', descr => 'is a relation insertable/updatable/deletable', 3696 proname => 'pg_relation_is_updatable', procost => '10', provolatile => 's', 3697 prorettype => 'int4', proargtypes => 'regclass bool', 3698 prosrc => 'pg_relation_is_updatable' }, 3699{ oid => '3843', descr => 'is a column updatable', 3700 proname => 'pg_column_is_updatable', procost => '10', provolatile => 's', 3701 prorettype => 'bool', proargtypes => 'regclass int2 bool', 3702 prosrc => 'pg_column_is_updatable' }, 3703 3704{ oid => '6120', descr => 'oid of replica identity index if any', 3705 proname => 'pg_get_replica_identity_index', procost => '10', 3706 provolatile => 's', prorettype => 'regclass', proargtypes => 'regclass', 3707 prosrc => 'pg_get_replica_identity_index' }, 3708 3709# Deferrable unique constraint trigger 3710{ oid => '1250', descr => 'deferred UNIQUE constraint check', 3711 proname => 'unique_key_recheck', provolatile => 'v', prorettype => 'trigger', 3712 proargtypes => '', prosrc => 'unique_key_recheck' }, 3713 3714# Generic referential integrity constraint triggers 3715{ oid => '1644', descr => 'referential integrity FOREIGN KEY ... REFERENCES', 3716 proname => 'RI_FKey_check_ins', provolatile => 'v', prorettype => 'trigger', 3717 proargtypes => '', prosrc => 'RI_FKey_check_ins' }, 3718{ oid => '1645', descr => 'referential integrity FOREIGN KEY ... REFERENCES', 3719 proname => 'RI_FKey_check_upd', provolatile => 'v', prorettype => 'trigger', 3720 proargtypes => '', prosrc => 'RI_FKey_check_upd' }, 3721{ oid => '1646', descr => 'referential integrity ON DELETE CASCADE', 3722 proname => 'RI_FKey_cascade_del', provolatile => 'v', prorettype => 'trigger', 3723 proargtypes => '', prosrc => 'RI_FKey_cascade_del' }, 3724{ oid => '1647', descr => 'referential integrity ON UPDATE CASCADE', 3725 proname => 'RI_FKey_cascade_upd', provolatile => 'v', prorettype => 'trigger', 3726 proargtypes => '', prosrc => 'RI_FKey_cascade_upd' }, 3727{ oid => '1648', descr => 'referential integrity ON DELETE RESTRICT', 3728 proname => 'RI_FKey_restrict_del', provolatile => 'v', 3729 prorettype => 'trigger', proargtypes => '', 3730 prosrc => 'RI_FKey_restrict_del' }, 3731{ oid => '1649', descr => 'referential integrity ON UPDATE RESTRICT', 3732 proname => 'RI_FKey_restrict_upd', provolatile => 'v', 3733 prorettype => 'trigger', proargtypes => '', 3734 prosrc => 'RI_FKey_restrict_upd' }, 3735{ oid => '1650', descr => 'referential integrity ON DELETE SET NULL', 3736 proname => 'RI_FKey_setnull_del', provolatile => 'v', prorettype => 'trigger', 3737 proargtypes => '', prosrc => 'RI_FKey_setnull_del' }, 3738{ oid => '1651', descr => 'referential integrity ON UPDATE SET NULL', 3739 proname => 'RI_FKey_setnull_upd', provolatile => 'v', prorettype => 'trigger', 3740 proargtypes => '', prosrc => 'RI_FKey_setnull_upd' }, 3741{ oid => '1652', descr => 'referential integrity ON DELETE SET DEFAULT', 3742 proname => 'RI_FKey_setdefault_del', provolatile => 'v', 3743 prorettype => 'trigger', proargtypes => '', 3744 prosrc => 'RI_FKey_setdefault_del' }, 3745{ oid => '1653', descr => 'referential integrity ON UPDATE SET DEFAULT', 3746 proname => 'RI_FKey_setdefault_upd', provolatile => 'v', 3747 prorettype => 'trigger', proargtypes => '', 3748 prosrc => 'RI_FKey_setdefault_upd' }, 3749{ oid => '1654', descr => 'referential integrity ON DELETE NO ACTION', 3750 proname => 'RI_FKey_noaction_del', provolatile => 'v', 3751 prorettype => 'trigger', proargtypes => '', 3752 prosrc => 'RI_FKey_noaction_del' }, 3753{ oid => '1655', descr => 'referential integrity ON UPDATE NO ACTION', 3754 proname => 'RI_FKey_noaction_upd', provolatile => 'v', 3755 prorettype => 'trigger', proargtypes => '', 3756 prosrc => 'RI_FKey_noaction_upd' }, 3757 3758{ oid => '1666', 3759 proname => 'varbiteq', proleakproof => 't', prorettype => 'bool', 3760 proargtypes => 'varbit varbit', prosrc => 'biteq' }, 3761{ oid => '1667', 3762 proname => 'varbitne', proleakproof => 't', prorettype => 'bool', 3763 proargtypes => 'varbit varbit', prosrc => 'bitne' }, 3764{ oid => '1668', 3765 proname => 'varbitge', proleakproof => 't', prorettype => 'bool', 3766 proargtypes => 'varbit varbit', prosrc => 'bitge' }, 3767{ oid => '1669', 3768 proname => 'varbitgt', proleakproof => 't', prorettype => 'bool', 3769 proargtypes => 'varbit varbit', prosrc => 'bitgt' }, 3770{ oid => '1670', 3771 proname => 'varbitle', proleakproof => 't', prorettype => 'bool', 3772 proargtypes => 'varbit varbit', prosrc => 'bitle' }, 3773{ oid => '1671', 3774 proname => 'varbitlt', proleakproof => 't', prorettype => 'bool', 3775 proargtypes => 'varbit varbit', prosrc => 'bitlt' }, 3776{ oid => '1672', descr => 'less-equal-greater', 3777 proname => 'varbitcmp', prorettype => 'int4', proargtypes => 'varbit varbit', 3778 prosrc => 'bitcmp' }, 3779 3780# avoid the C names bitand and bitor, since they are C++ keywords 3781{ oid => '1673', 3782 proname => 'bitand', prorettype => 'bit', proargtypes => 'bit bit', 3783 prosrc => 'bit_and' }, 3784{ oid => '1674', 3785 proname => 'bitor', prorettype => 'bit', proargtypes => 'bit bit', 3786 prosrc => 'bit_or' }, 3787{ oid => '1675', 3788 proname => 'bitxor', prorettype => 'bit', proargtypes => 'bit bit', 3789 prosrc => 'bitxor' }, 3790{ oid => '1676', 3791 proname => 'bitnot', prorettype => 'bit', proargtypes => 'bit', 3792 prosrc => 'bitnot' }, 3793{ oid => '1677', 3794 proname => 'bitshiftleft', prorettype => 'bit', proargtypes => 'bit int4', 3795 prosrc => 'bitshiftleft' }, 3796{ oid => '1678', 3797 proname => 'bitshiftright', prorettype => 'bit', proargtypes => 'bit int4', 3798 prosrc => 'bitshiftright' }, 3799{ oid => '1679', 3800 proname => 'bitcat', prorettype => 'varbit', proargtypes => 'varbit varbit', 3801 prosrc => 'bitcat' }, 3802{ oid => '1680', descr => 'extract portion of bitstring', 3803 proname => 'substring', prorettype => 'bit', proargtypes => 'bit int4 int4', 3804 prosrc => 'bitsubstr' }, 3805{ oid => '1681', descr => 'bitstring length', 3806 proname => 'length', prorettype => 'int4', proargtypes => 'bit', 3807 prosrc => 'bitlength' }, 3808{ oid => '1682', descr => 'octet length', 3809 proname => 'octet_length', prorettype => 'int4', proargtypes => 'bit', 3810 prosrc => 'bitoctetlength' }, 3811{ oid => '1683', descr => 'convert int4 to bitstring', 3812 proname => 'bit', prorettype => 'bit', proargtypes => 'int4 int4', 3813 prosrc => 'bitfromint4' }, 3814{ oid => '1684', descr => 'convert bitstring to int4', 3815 proname => 'int4', prorettype => 'int4', proargtypes => 'bit', 3816 prosrc => 'bittoint4' }, 3817 3818{ oid => '1685', descr => 'adjust bit() to typmod length', 3819 proname => 'bit', prorettype => 'bit', proargtypes => 'bit int4 bool', 3820 prosrc => 'bit' }, 3821{ oid => '3158', descr => 'transform a varbit length coercion', 3822 proname => 'varbit_transform', prorettype => 'internal', 3823 proargtypes => 'internal', prosrc => 'varbit_transform' }, 3824{ oid => '1687', descr => 'adjust varbit() to typmod length', 3825 proname => 'varbit', protransform => 'varbit_transform', 3826 prorettype => 'varbit', proargtypes => 'varbit int4 bool', 3827 prosrc => 'varbit' }, 3828 3829{ oid => '1698', descr => 'position of sub-bitstring', 3830 proname => 'position', prorettype => 'int4', proargtypes => 'bit bit', 3831 prosrc => 'bitposition' }, 3832{ oid => '1699', descr => 'extract portion of bitstring', 3833 proname => 'substring', prorettype => 'bit', proargtypes => 'bit int4', 3834 prosrc => 'bitsubstr_no_len' }, 3835 3836{ oid => '3030', descr => 'substitute portion of bitstring', 3837 proname => 'overlay', prorettype => 'bit', proargtypes => 'bit bit int4 int4', 3838 prosrc => 'bitoverlay' }, 3839{ oid => '3031', descr => 'substitute portion of bitstring', 3840 proname => 'overlay', prorettype => 'bit', proargtypes => 'bit bit int4', 3841 prosrc => 'bitoverlay_no_len' }, 3842{ oid => '3032', descr => 'get bit', 3843 proname => 'get_bit', prorettype => 'int4', proargtypes => 'bit int4', 3844 prosrc => 'bitgetbit' }, 3845{ oid => '3033', descr => 'set bit', 3846 proname => 'set_bit', prorettype => 'bit', proargtypes => 'bit int4 int4', 3847 prosrc => 'bitsetbit' }, 3848 3849# for macaddr type support 3850{ oid => '436', descr => 'I/O', 3851 proname => 'macaddr_in', prorettype => 'macaddr', proargtypes => 'cstring', 3852 prosrc => 'macaddr_in' }, 3853{ oid => '437', descr => 'I/O', 3854 proname => 'macaddr_out', prorettype => 'cstring', proargtypes => 'macaddr', 3855 prosrc => 'macaddr_out' }, 3856 3857{ oid => '753', descr => 'MACADDR manufacturer fields', 3858 proname => 'trunc', prorettype => 'macaddr', proargtypes => 'macaddr', 3859 prosrc => 'macaddr_trunc' }, 3860 3861{ oid => '830', 3862 proname => 'macaddr_eq', proleakproof => 't', prorettype => 'bool', 3863 proargtypes => 'macaddr macaddr', prosrc => 'macaddr_eq' }, 3864{ oid => '831', 3865 proname => 'macaddr_lt', proleakproof => 't', prorettype => 'bool', 3866 proargtypes => 'macaddr macaddr', prosrc => 'macaddr_lt' }, 3867{ oid => '832', 3868 proname => 'macaddr_le', proleakproof => 't', prorettype => 'bool', 3869 proargtypes => 'macaddr macaddr', prosrc => 'macaddr_le' }, 3870{ oid => '833', 3871 proname => 'macaddr_gt', proleakproof => 't', prorettype => 'bool', 3872 proargtypes => 'macaddr macaddr', prosrc => 'macaddr_gt' }, 3873{ oid => '834', 3874 proname => 'macaddr_ge', proleakproof => 't', prorettype => 'bool', 3875 proargtypes => 'macaddr macaddr', prosrc => 'macaddr_ge' }, 3876{ oid => '835', 3877 proname => 'macaddr_ne', proleakproof => 't', prorettype => 'bool', 3878 proargtypes => 'macaddr macaddr', prosrc => 'macaddr_ne' }, 3879{ oid => '836', descr => 'less-equal-greater', 3880 proname => 'macaddr_cmp', prorettype => 'int4', 3881 proargtypes => 'macaddr macaddr', prosrc => 'macaddr_cmp' }, 3882{ oid => '3144', 3883 proname => 'macaddr_not', prorettype => 'macaddr', proargtypes => 'macaddr', 3884 prosrc => 'macaddr_not' }, 3885{ oid => '3145', 3886 proname => 'macaddr_and', prorettype => 'macaddr', 3887 proargtypes => 'macaddr macaddr', prosrc => 'macaddr_and' }, 3888{ oid => '3146', 3889 proname => 'macaddr_or', prorettype => 'macaddr', 3890 proargtypes => 'macaddr macaddr', prosrc => 'macaddr_or' }, 3891{ oid => '3359', descr => 'sort support', 3892 proname => 'macaddr_sortsupport', prorettype => 'void', 3893 proargtypes => 'internal', prosrc => 'macaddr_sortsupport' }, 3894 3895# for macaddr8 type support 3896{ oid => '4110', descr => 'I/O', 3897 proname => 'macaddr8_in', prorettype => 'macaddr8', proargtypes => 'cstring', 3898 prosrc => 'macaddr8_in' }, 3899{ oid => '4111', descr => 'I/O', 3900 proname => 'macaddr8_out', prorettype => 'cstring', proargtypes => 'macaddr8', 3901 prosrc => 'macaddr8_out' }, 3902 3903{ oid => '4112', descr => 'MACADDR8 manufacturer fields', 3904 proname => 'trunc', prorettype => 'macaddr8', proargtypes => 'macaddr8', 3905 prosrc => 'macaddr8_trunc' }, 3906 3907{ oid => '4113', 3908 proname => 'macaddr8_eq', proleakproof => 't', prorettype => 'bool', 3909 proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_eq' }, 3910{ oid => '4114', 3911 proname => 'macaddr8_lt', proleakproof => 't', prorettype => 'bool', 3912 proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_lt' }, 3913{ oid => '4115', 3914 proname => 'macaddr8_le', proleakproof => 't', prorettype => 'bool', 3915 proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_le' }, 3916{ oid => '4116', 3917 proname => 'macaddr8_gt', proleakproof => 't', prorettype => 'bool', 3918 proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_gt' }, 3919{ oid => '4117', 3920 proname => 'macaddr8_ge', proleakproof => 't', prorettype => 'bool', 3921 proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_ge' }, 3922{ oid => '4118', 3923 proname => 'macaddr8_ne', proleakproof => 't', prorettype => 'bool', 3924 proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_ne' }, 3925{ oid => '4119', descr => 'less-equal-greater', 3926 proname => 'macaddr8_cmp', prorettype => 'int4', 3927 proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_cmp' }, 3928{ oid => '4120', 3929 proname => 'macaddr8_not', prorettype => 'macaddr8', 3930 proargtypes => 'macaddr8', prosrc => 'macaddr8_not' }, 3931{ oid => '4121', 3932 proname => 'macaddr8_and', prorettype => 'macaddr8', 3933 proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_and' }, 3934{ oid => '4122', 3935 proname => 'macaddr8_or', prorettype => 'macaddr8', 3936 proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_or' }, 3937{ oid => '4123', descr => 'convert macaddr to macaddr8', 3938 proname => 'macaddr8', prorettype => 'macaddr8', proargtypes => 'macaddr', 3939 prosrc => 'macaddrtomacaddr8' }, 3940{ oid => '4124', descr => 'convert macaddr8 to macaddr', 3941 proname => 'macaddr', prorettype => 'macaddr', proargtypes => 'macaddr8', 3942 prosrc => 'macaddr8tomacaddr' }, 3943{ oid => '4125', descr => 'set 7th bit in macaddr8', 3944 proname => 'macaddr8_set7bit', prorettype => 'macaddr8', 3945 proargtypes => 'macaddr8', prosrc => 'macaddr8_set7bit' }, 3946 3947# for inet type support 3948{ oid => '910', descr => 'I/O', 3949 proname => 'inet_in', prorettype => 'inet', proargtypes => 'cstring', 3950 prosrc => 'inet_in' }, 3951{ oid => '911', descr => 'I/O', 3952 proname => 'inet_out', prorettype => 'cstring', proargtypes => 'inet', 3953 prosrc => 'inet_out' }, 3954 3955# for cidr type support 3956{ oid => '1267', descr => 'I/O', 3957 proname => 'cidr_in', prorettype => 'cidr', proargtypes => 'cstring', 3958 prosrc => 'cidr_in' }, 3959{ oid => '1427', descr => 'I/O', 3960 proname => 'cidr_out', prorettype => 'cstring', proargtypes => 'cidr', 3961 prosrc => 'cidr_out' }, 3962 3963# these are used for both inet and cidr 3964{ oid => '920', 3965 proname => 'network_eq', proleakproof => 't', prorettype => 'bool', 3966 proargtypes => 'inet inet', prosrc => 'network_eq' }, 3967{ oid => '921', 3968 proname => 'network_lt', proleakproof => 't', prorettype => 'bool', 3969 proargtypes => 'inet inet', prosrc => 'network_lt' }, 3970{ oid => '922', 3971 proname => 'network_le', proleakproof => 't', prorettype => 'bool', 3972 proargtypes => 'inet inet', prosrc => 'network_le' }, 3973{ oid => '923', 3974 proname => 'network_gt', proleakproof => 't', prorettype => 'bool', 3975 proargtypes => 'inet inet', prosrc => 'network_gt' }, 3976{ oid => '924', 3977 proname => 'network_ge', proleakproof => 't', prorettype => 'bool', 3978 proargtypes => 'inet inet', prosrc => 'network_ge' }, 3979{ oid => '925', 3980 proname => 'network_ne', proleakproof => 't', prorettype => 'bool', 3981 proargtypes => 'inet inet', prosrc => 'network_ne' }, 3982{ oid => '3562', descr => 'larger of two', 3983 proname => 'network_larger', prorettype => 'inet', proargtypes => 'inet inet', 3984 prosrc => 'network_larger' }, 3985{ oid => '3563', descr => 'smaller of two', 3986 proname => 'network_smaller', prorettype => 'inet', 3987 proargtypes => 'inet inet', prosrc => 'network_smaller' }, 3988{ oid => '926', descr => 'less-equal-greater', 3989 proname => 'network_cmp', prorettype => 'int4', proargtypes => 'inet inet', 3990 prosrc => 'network_cmp' }, 3991{ oid => '927', 3992 proname => 'network_sub', prorettype => 'bool', proargtypes => 'inet inet', 3993 prosrc => 'network_sub' }, 3994{ oid => '928', 3995 proname => 'network_subeq', prorettype => 'bool', proargtypes => 'inet inet', 3996 prosrc => 'network_subeq' }, 3997{ oid => '929', 3998 proname => 'network_sup', prorettype => 'bool', proargtypes => 'inet inet', 3999 prosrc => 'network_sup' }, 4000{ oid => '930', 4001 proname => 'network_supeq', prorettype => 'bool', proargtypes => 'inet inet', 4002 prosrc => 'network_supeq' }, 4003{ oid => '3551', 4004 proname => 'network_overlap', prorettype => 'bool', 4005 proargtypes => 'inet inet', prosrc => 'network_overlap' }, 4006 4007# inet/cidr functions 4008{ oid => '598', descr => 'abbreviated display of inet value', 4009 proname => 'abbrev', prorettype => 'text', proargtypes => 'inet', 4010 prosrc => 'inet_abbrev' }, 4011{ oid => '599', descr => 'abbreviated display of cidr value', 4012 proname => 'abbrev', prorettype => 'text', proargtypes => 'cidr', 4013 prosrc => 'cidr_abbrev' }, 4014{ oid => '605', descr => 'change netmask of inet', 4015 proname => 'set_masklen', prorettype => 'inet', proargtypes => 'inet int4', 4016 prosrc => 'inet_set_masklen' }, 4017{ oid => '635', descr => 'change netmask of cidr', 4018 proname => 'set_masklen', prorettype => 'cidr', proargtypes => 'cidr int4', 4019 prosrc => 'cidr_set_masklen' }, 4020{ oid => '711', descr => 'address family (4 for IPv4, 6 for IPv6)', 4021 proname => 'family', prorettype => 'int4', proargtypes => 'inet', 4022 prosrc => 'network_family' }, 4023{ oid => '683', descr => 'network part of address', 4024 proname => 'network', prorettype => 'cidr', proargtypes => 'inet', 4025 prosrc => 'network_network' }, 4026{ oid => '696', descr => 'netmask of address', 4027 proname => 'netmask', prorettype => 'inet', proargtypes => 'inet', 4028 prosrc => 'network_netmask' }, 4029{ oid => '697', descr => 'netmask length', 4030 proname => 'masklen', prorettype => 'int4', proargtypes => 'inet', 4031 prosrc => 'network_masklen' }, 4032{ oid => '698', descr => 'broadcast address of network', 4033 proname => 'broadcast', prorettype => 'inet', proargtypes => 'inet', 4034 prosrc => 'network_broadcast' }, 4035{ oid => '699', descr => 'show address octets only', 4036 proname => 'host', prorettype => 'text', proargtypes => 'inet', 4037 prosrc => 'network_host' }, 4038{ oid => '730', descr => 'show all parts of inet/cidr value', 4039 proname => 'text', prorettype => 'text', proargtypes => 'inet', 4040 prosrc => 'network_show' }, 4041{ oid => '1362', descr => 'hostmask of address', 4042 proname => 'hostmask', prorettype => 'inet', proargtypes => 'inet', 4043 prosrc => 'network_hostmask' }, 4044{ oid => '1715', descr => 'convert inet to cidr', 4045 proname => 'cidr', prorettype => 'cidr', proargtypes => 'inet', 4046 prosrc => 'inet_to_cidr' }, 4047 4048{ oid => '2196', descr => 'inet address of the client', 4049 proname => 'inet_client_addr', proisstrict => 'f', provolatile => 's', 4050 proparallel => 'r', prorettype => 'inet', proargtypes => '', 4051 prosrc => 'inet_client_addr' }, 4052{ oid => '2197', descr => 'client\'s port number for this connection', 4053 proname => 'inet_client_port', proisstrict => 'f', provolatile => 's', 4054 proparallel => 'r', prorettype => 'int4', proargtypes => '', 4055 prosrc => 'inet_client_port' }, 4056{ oid => '2198', descr => 'inet address of the server', 4057 proname => 'inet_server_addr', proisstrict => 'f', provolatile => 's', 4058 prorettype => 'inet', proargtypes => '', prosrc => 'inet_server_addr' }, 4059{ oid => '2199', descr => 'server\'s port number for this connection', 4060 proname => 'inet_server_port', proisstrict => 'f', provolatile => 's', 4061 prorettype => 'int4', proargtypes => '', prosrc => 'inet_server_port' }, 4062 4063{ oid => '2627', 4064 proname => 'inetnot', prorettype => 'inet', proargtypes => 'inet', 4065 prosrc => 'inetnot' }, 4066{ oid => '2628', 4067 proname => 'inetand', prorettype => 'inet', proargtypes => 'inet inet', 4068 prosrc => 'inetand' }, 4069{ oid => '2629', 4070 proname => 'inetor', prorettype => 'inet', proargtypes => 'inet inet', 4071 prosrc => 'inetor' }, 4072{ oid => '2630', 4073 proname => 'inetpl', prorettype => 'inet', proargtypes => 'inet int8', 4074 prosrc => 'inetpl' }, 4075{ oid => '2631', 4076 proname => 'int8pl_inet', prolang => '14', prorettype => 'inet', 4077 proargtypes => 'int8 inet', prosrc => 'select $2 + $1' }, 4078{ oid => '2632', 4079 proname => 'inetmi_int8', prorettype => 'inet', proargtypes => 'inet int8', 4080 prosrc => 'inetmi_int8' }, 4081{ oid => '2633', 4082 proname => 'inetmi', prorettype => 'int8', proargtypes => 'inet inet', 4083 prosrc => 'inetmi' }, 4084{ oid => '4071', descr => 'are the addresses from the same family?', 4085 proname => 'inet_same_family', prorettype => 'bool', 4086 proargtypes => 'inet inet', prosrc => 'inet_same_family' }, 4087{ oid => '4063', 4088 descr => 'the smallest network which includes both of the given networks', 4089 proname => 'inet_merge', prorettype => 'cidr', proargtypes => 'inet inet', 4090 prosrc => 'inet_merge' }, 4091 4092# GiST support for inet and cidr 4093{ oid => '3553', descr => 'GiST support', 4094 proname => 'inet_gist_consistent', prorettype => 'bool', 4095 proargtypes => 'internal inet int2 oid internal', 4096 prosrc => 'inet_gist_consistent' }, 4097{ oid => '3554', descr => 'GiST support', 4098 proname => 'inet_gist_union', prorettype => 'inet', 4099 proargtypes => 'internal internal', prosrc => 'inet_gist_union' }, 4100{ oid => '3555', descr => 'GiST support', 4101 proname => 'inet_gist_compress', prorettype => 'internal', 4102 proargtypes => 'internal', prosrc => 'inet_gist_compress' }, 4103{ oid => '3573', descr => 'GiST support', 4104 proname => 'inet_gist_fetch', prorettype => 'internal', 4105 proargtypes => 'internal', prosrc => 'inet_gist_fetch' }, 4106{ oid => '3557', descr => 'GiST support', 4107 proname => 'inet_gist_penalty', prorettype => 'internal', 4108 proargtypes => 'internal internal internal', prosrc => 'inet_gist_penalty' }, 4109{ oid => '3558', descr => 'GiST support', 4110 proname => 'inet_gist_picksplit', prorettype => 'internal', 4111 proargtypes => 'internal internal', prosrc => 'inet_gist_picksplit' }, 4112{ oid => '3559', descr => 'GiST support', 4113 proname => 'inet_gist_same', prorettype => 'internal', 4114 proargtypes => 'inet inet internal', prosrc => 'inet_gist_same' }, 4115 4116# SP-GiST support for inet and cidr 4117{ oid => '3795', descr => 'SP-GiST support', 4118 proname => 'inet_spg_config', prorettype => 'void', 4119 proargtypes => 'internal internal', prosrc => 'inet_spg_config' }, 4120{ oid => '3796', descr => 'SP-GiST support', 4121 proname => 'inet_spg_choose', prorettype => 'void', 4122 proargtypes => 'internal internal', prosrc => 'inet_spg_choose' }, 4123{ oid => '3797', descr => 'SP-GiST support', 4124 proname => 'inet_spg_picksplit', prorettype => 'void', 4125 proargtypes => 'internal internal', prosrc => 'inet_spg_picksplit' }, 4126{ oid => '3798', descr => 'SP-GiST support', 4127 proname => 'inet_spg_inner_consistent', prorettype => 'void', 4128 proargtypes => 'internal internal', prosrc => 'inet_spg_inner_consistent' }, 4129{ oid => '3799', descr => 'SP-GiST support', 4130 proname => 'inet_spg_leaf_consistent', prorettype => 'bool', 4131 proargtypes => 'internal internal', prosrc => 'inet_spg_leaf_consistent' }, 4132 4133# Selectivity estimation for inet and cidr 4134{ oid => '3560', descr => 'restriction selectivity for network operators', 4135 proname => 'networksel', provolatile => 's', prorettype => 'float8', 4136 proargtypes => 'internal oid internal int4', prosrc => 'networksel' }, 4137{ oid => '3561', descr => 'join selectivity for network operators', 4138 proname => 'networkjoinsel', provolatile => 's', prorettype => 'float8', 4139 proargtypes => 'internal oid internal int2 internal', 4140 prosrc => 'networkjoinsel' }, 4141 4142{ oid => '1690', 4143 proname => 'time_mi_time', prorettype => 'interval', 4144 proargtypes => 'time time', prosrc => 'time_mi_time' }, 4145 4146{ oid => '1691', 4147 proname => 'boolle', proleakproof => 't', prorettype => 'bool', 4148 proargtypes => 'bool bool', prosrc => 'boolle' }, 4149{ oid => '1692', 4150 proname => 'boolge', proleakproof => 't', prorettype => 'bool', 4151 proargtypes => 'bool bool', prosrc => 'boolge' }, 4152{ oid => '1693', descr => 'less-equal-greater', 4153 proname => 'btboolcmp', prorettype => 'int4', proargtypes => 'bool bool', 4154 prosrc => 'btboolcmp' }, 4155 4156{ oid => '1688', descr => 'hash', 4157 proname => 'time_hash', prorettype => 'int4', proargtypes => 'time', 4158 prosrc => 'time_hash' }, 4159{ oid => '3409', descr => 'hash', 4160 proname => 'time_hash_extended', prorettype => 'int8', 4161 proargtypes => 'time int8', prosrc => 'time_hash_extended' }, 4162{ oid => '1696', descr => 'hash', 4163 proname => 'timetz_hash', prorettype => 'int4', proargtypes => 'timetz', 4164 prosrc => 'timetz_hash' }, 4165{ oid => '3410', descr => 'hash', 4166 proname => 'timetz_hash_extended', prorettype => 'int8', 4167 proargtypes => 'timetz int8', prosrc => 'timetz_hash_extended' }, 4168{ oid => '1697', descr => 'hash', 4169 proname => 'interval_hash', prorettype => 'int4', proargtypes => 'interval', 4170 prosrc => 'interval_hash' }, 4171{ oid => '3418', descr => 'hash', 4172 proname => 'interval_hash_extended', prorettype => 'int8', 4173 proargtypes => 'interval int8', prosrc => 'interval_hash_extended' }, 4174 4175# OID's 1700 - 1799 NUMERIC data type 4176 4177{ oid => '1701', descr => 'I/O', 4178 proname => 'numeric_in', prorettype => 'numeric', 4179 proargtypes => 'cstring oid int4', prosrc => 'numeric_in' }, 4180{ oid => '1702', descr => 'I/O', 4181 proname => 'numeric_out', prorettype => 'cstring', proargtypes => 'numeric', 4182 prosrc => 'numeric_out' }, 4183{ oid => '2917', descr => 'I/O typmod', 4184 proname => 'numerictypmodin', prorettype => 'int4', proargtypes => '_cstring', 4185 prosrc => 'numerictypmodin' }, 4186{ oid => '2918', descr => 'I/O typmod', 4187 proname => 'numerictypmodout', prorettype => 'cstring', proargtypes => 'int4', 4188 prosrc => 'numerictypmodout' }, 4189{ oid => '3157', descr => 'transform a numeric length coercion', 4190 proname => 'numeric_transform', prorettype => 'internal', 4191 proargtypes => 'internal', prosrc => 'numeric_transform' }, 4192{ oid => '1703', descr => 'adjust numeric to typmod precision/scale', 4193 proname => 'numeric', protransform => 'numeric_transform', 4194 prorettype => 'numeric', proargtypes => 'numeric int4', prosrc => 'numeric' }, 4195{ oid => '1704', 4196 proname => 'numeric_abs', prorettype => 'numeric', proargtypes => 'numeric', 4197 prosrc => 'numeric_abs' }, 4198{ oid => '1705', descr => 'absolute value', 4199 proname => 'abs', prorettype => 'numeric', proargtypes => 'numeric', 4200 prosrc => 'numeric_abs' }, 4201{ oid => '1706', descr => 'sign of value', 4202 proname => 'sign', prorettype => 'numeric', proargtypes => 'numeric', 4203 prosrc => 'numeric_sign' }, 4204{ oid => '1707', descr => 'value rounded to \'scale\'', 4205 proname => 'round', prorettype => 'numeric', proargtypes => 'numeric int4', 4206 prosrc => 'numeric_round' }, 4207{ oid => '1708', descr => 'value rounded to \'scale\' of zero', 4208 proname => 'round', prolang => '14', prorettype => 'numeric', 4209 proargtypes => 'numeric', prosrc => 'select pg_catalog.round($1,0)' }, 4210{ oid => '1709', descr => 'value truncated to \'scale\'', 4211 proname => 'trunc', prorettype => 'numeric', proargtypes => 'numeric int4', 4212 prosrc => 'numeric_trunc' }, 4213{ oid => '1710', descr => 'value truncated to \'scale\' of zero', 4214 proname => 'trunc', prolang => '14', prorettype => 'numeric', 4215 proargtypes => 'numeric', prosrc => 'select pg_catalog.trunc($1,0)' }, 4216{ oid => '1711', descr => 'nearest integer >= value', 4217 proname => 'ceil', prorettype => 'numeric', proargtypes => 'numeric', 4218 prosrc => 'numeric_ceil' }, 4219{ oid => '2167', descr => 'nearest integer >= value', 4220 proname => 'ceiling', prorettype => 'numeric', proargtypes => 'numeric', 4221 prosrc => 'numeric_ceil' }, 4222{ oid => '1712', descr => 'nearest integer <= value', 4223 proname => 'floor', prorettype => 'numeric', proargtypes => 'numeric', 4224 prosrc => 'numeric_floor' }, 4225{ oid => '1718', 4226 proname => 'numeric_eq', prorettype => 'bool', 4227 proargtypes => 'numeric numeric', prosrc => 'numeric_eq' }, 4228{ oid => '1719', 4229 proname => 'numeric_ne', prorettype => 'bool', 4230 proargtypes => 'numeric numeric', prosrc => 'numeric_ne' }, 4231{ oid => '1720', 4232 proname => 'numeric_gt', prorettype => 'bool', 4233 proargtypes => 'numeric numeric', prosrc => 'numeric_gt' }, 4234{ oid => '1721', 4235 proname => 'numeric_ge', prorettype => 'bool', 4236 proargtypes => 'numeric numeric', prosrc => 'numeric_ge' }, 4237{ oid => '1722', 4238 proname => 'numeric_lt', prorettype => 'bool', 4239 proargtypes => 'numeric numeric', prosrc => 'numeric_lt' }, 4240{ oid => '1723', 4241 proname => 'numeric_le', prorettype => 'bool', 4242 proargtypes => 'numeric numeric', prosrc => 'numeric_le' }, 4243{ oid => '1724', 4244 proname => 'numeric_add', prorettype => 'numeric', 4245 proargtypes => 'numeric numeric', prosrc => 'numeric_add' }, 4246{ oid => '1725', 4247 proname => 'numeric_sub', prorettype => 'numeric', 4248 proargtypes => 'numeric numeric', prosrc => 'numeric_sub' }, 4249{ oid => '1726', 4250 proname => 'numeric_mul', prorettype => 'numeric', 4251 proargtypes => 'numeric numeric', prosrc => 'numeric_mul' }, 4252{ oid => '1727', 4253 proname => 'numeric_div', prorettype => 'numeric', 4254 proargtypes => 'numeric numeric', prosrc => 'numeric_div' }, 4255{ oid => '1728', descr => 'modulus', 4256 proname => 'mod', prorettype => 'numeric', proargtypes => 'numeric numeric', 4257 prosrc => 'numeric_mod' }, 4258{ oid => '1729', 4259 proname => 'numeric_mod', prorettype => 'numeric', 4260 proargtypes => 'numeric numeric', prosrc => 'numeric_mod' }, 4261{ oid => '1730', descr => 'square root', 4262 proname => 'sqrt', prorettype => 'numeric', proargtypes => 'numeric', 4263 prosrc => 'numeric_sqrt' }, 4264{ oid => '1731', descr => 'square root', 4265 proname => 'numeric_sqrt', prorettype => 'numeric', proargtypes => 'numeric', 4266 prosrc => 'numeric_sqrt' }, 4267{ oid => '1732', descr => 'natural exponential (e^x)', 4268 proname => 'exp', prorettype => 'numeric', proargtypes => 'numeric', 4269 prosrc => 'numeric_exp' }, 4270{ oid => '1733', descr => 'natural exponential (e^x)', 4271 proname => 'numeric_exp', prorettype => 'numeric', proargtypes => 'numeric', 4272 prosrc => 'numeric_exp' }, 4273{ oid => '1734', descr => 'natural logarithm', 4274 proname => 'ln', prorettype => 'numeric', proargtypes => 'numeric', 4275 prosrc => 'numeric_ln' }, 4276{ oid => '1735', descr => 'natural logarithm', 4277 proname => 'numeric_ln', prorettype => 'numeric', proargtypes => 'numeric', 4278 prosrc => 'numeric_ln' }, 4279{ oid => '1736', descr => 'logarithm base m of n', 4280 proname => 'log', prorettype => 'numeric', proargtypes => 'numeric numeric', 4281 prosrc => 'numeric_log' }, 4282{ oid => '1737', descr => 'logarithm base m of n', 4283 proname => 'numeric_log', prorettype => 'numeric', 4284 proargtypes => 'numeric numeric', prosrc => 'numeric_log' }, 4285{ oid => '1738', descr => 'exponentiation', 4286 proname => 'pow', prorettype => 'numeric', proargtypes => 'numeric numeric', 4287 prosrc => 'numeric_power' }, 4288{ oid => '2169', descr => 'exponentiation', 4289 proname => 'power', prorettype => 'numeric', proargtypes => 'numeric numeric', 4290 prosrc => 'numeric_power' }, 4291{ oid => '1739', 4292 proname => 'numeric_power', prorettype => 'numeric', 4293 proargtypes => 'numeric numeric', prosrc => 'numeric_power' }, 4294{ oid => '3281', descr => 'number of decimal digits in the fractional part', 4295 proname => 'scale', prorettype => 'int4', proargtypes => 'numeric', 4296 prosrc => 'numeric_scale' }, 4297{ oid => '1740', descr => 'convert int4 to numeric', 4298 proname => 'numeric', prorettype => 'numeric', proargtypes => 'int4', 4299 prosrc => 'int4_numeric' }, 4300{ oid => '1741', descr => 'base 10 logarithm', 4301 proname => 'log', prolang => '14', prorettype => 'numeric', 4302 proargtypes => 'numeric', prosrc => 'select pg_catalog.log(10, $1)' }, 4303{ oid => '1742', descr => 'convert float4 to numeric', 4304 proname => 'numeric', prorettype => 'numeric', proargtypes => 'float4', 4305 prosrc => 'float4_numeric' }, 4306{ oid => '1743', descr => 'convert float8 to numeric', 4307 proname => 'numeric', prorettype => 'numeric', proargtypes => 'float8', 4308 prosrc => 'float8_numeric' }, 4309{ oid => '1744', descr => 'convert numeric to int4', 4310 proname => 'int4', prorettype => 'int4', proargtypes => 'numeric', 4311 prosrc => 'numeric_int4' }, 4312{ oid => '1745', descr => 'convert numeric to float4', 4313 proname => 'float4', prorettype => 'float4', proargtypes => 'numeric', 4314 prosrc => 'numeric_float4' }, 4315{ oid => '1746', descr => 'convert numeric to float8', 4316 proname => 'float8', prorettype => 'float8', proargtypes => 'numeric', 4317 prosrc => 'numeric_float8' }, 4318{ oid => '1973', descr => 'trunc(x/y)', 4319 proname => 'div', prorettype => 'numeric', proargtypes => 'numeric numeric', 4320 prosrc => 'numeric_div_trunc' }, 4321{ oid => '1980', descr => 'trunc(x/y)', 4322 proname => 'numeric_div_trunc', prorettype => 'numeric', 4323 proargtypes => 'numeric numeric', prosrc => 'numeric_div_trunc' }, 4324{ oid => '2170', descr => 'bucket number of operand in equal-width histogram', 4325 proname => 'width_bucket', prorettype => 'int4', 4326 proargtypes => 'numeric numeric numeric int4', 4327 prosrc => 'width_bucket_numeric' }, 4328 4329{ oid => '1747', 4330 proname => 'time_pl_interval', prorettype => 'time', 4331 proargtypes => 'time interval', prosrc => 'time_pl_interval' }, 4332{ oid => '1748', 4333 proname => 'time_mi_interval', prorettype => 'time', 4334 proargtypes => 'time interval', prosrc => 'time_mi_interval' }, 4335{ oid => '1749', 4336 proname => 'timetz_pl_interval', prorettype => 'timetz', 4337 proargtypes => 'timetz interval', prosrc => 'timetz_pl_interval' }, 4338{ oid => '1750', 4339 proname => 'timetz_mi_interval', prorettype => 'timetz', 4340 proargtypes => 'timetz interval', prosrc => 'timetz_mi_interval' }, 4341 4342{ oid => '1764', descr => 'increment by one', 4343 proname => 'numeric_inc', prorettype => 'numeric', proargtypes => 'numeric', 4344 prosrc => 'numeric_inc' }, 4345{ oid => '1766', descr => 'smaller of two', 4346 proname => 'numeric_smaller', prorettype => 'numeric', 4347 proargtypes => 'numeric numeric', prosrc => 'numeric_smaller' }, 4348{ oid => '1767', descr => 'larger of two', 4349 proname => 'numeric_larger', prorettype => 'numeric', 4350 proargtypes => 'numeric numeric', prosrc => 'numeric_larger' }, 4351{ oid => '1769', descr => 'less-equal-greater', 4352 proname => 'numeric_cmp', prorettype => 'int4', 4353 proargtypes => 'numeric numeric', prosrc => 'numeric_cmp' }, 4354{ oid => '3283', descr => 'sort support', 4355 proname => 'numeric_sortsupport', prorettype => 'void', 4356 proargtypes => 'internal', prosrc => 'numeric_sortsupport' }, 4357{ oid => '1771', 4358 proname => 'numeric_uminus', prorettype => 'numeric', 4359 proargtypes => 'numeric', prosrc => 'numeric_uminus' }, 4360{ oid => '1779', descr => 'convert numeric to int8', 4361 proname => 'int8', prorettype => 'int8', proargtypes => 'numeric', 4362 prosrc => 'numeric_int8' }, 4363{ oid => '1781', descr => 'convert int8 to numeric', 4364 proname => 'numeric', prorettype => 'numeric', proargtypes => 'int8', 4365 prosrc => 'int8_numeric' }, 4366{ oid => '1782', descr => 'convert int2 to numeric', 4367 proname => 'numeric', prorettype => 'numeric', proargtypes => 'int2', 4368 prosrc => 'int2_numeric' }, 4369{ oid => '1783', descr => 'convert numeric to int2', 4370 proname => 'int2', prorettype => 'int2', proargtypes => 'numeric', 4371 prosrc => 'numeric_int2' }, 4372 4373{ oid => '3556', descr => 'convert jsonb to boolean', 4374 proname => 'bool', prorettype => 'bool', proargtypes => 'jsonb', 4375 prosrc => 'jsonb_bool' }, 4376{ oid => '3449', descr => 'convert jsonb to numeric', 4377 proname => 'numeric', prorettype => 'numeric', proargtypes => 'jsonb', 4378 prosrc => 'jsonb_numeric' }, 4379{ oid => '3450', descr => 'convert jsonb to int2', 4380 proname => 'int2', prorettype => 'int2', proargtypes => 'jsonb', 4381 prosrc => 'jsonb_int2' }, 4382{ oid => '3451', descr => 'convert jsonb to int4', 4383 proname => 'int4', prorettype => 'int4', proargtypes => 'jsonb', 4384 prosrc => 'jsonb_int4' }, 4385{ oid => '3452', descr => 'convert jsonb to int8', 4386 proname => 'int8', prorettype => 'int8', proargtypes => 'jsonb', 4387 prosrc => 'jsonb_int8' }, 4388{ oid => '3453', descr => 'convert jsonb to float4', 4389 proname => 'float4', prorettype => 'float4', proargtypes => 'jsonb', 4390 prosrc => 'jsonb_float4' }, 4391{ oid => '2580', descr => 'convert jsonb to float8', 4392 proname => 'float8', prorettype => 'float8', proargtypes => 'jsonb', 4393 prosrc => 'jsonb_float8' }, 4394 4395# formatting 4396{ oid => '1770', descr => 'format timestamp with time zone to text', 4397 proname => 'to_char', provolatile => 's', prorettype => 'text', 4398 proargtypes => 'timestamptz text', prosrc => 'timestamptz_to_char' }, 4399{ oid => '1772', descr => 'format numeric to text', 4400 proname => 'to_char', provolatile => 's', prorettype => 'text', 4401 proargtypes => 'numeric text', prosrc => 'numeric_to_char' }, 4402{ oid => '1773', descr => 'format int4 to text', 4403 proname => 'to_char', provolatile => 's', prorettype => 'text', 4404 proargtypes => 'int4 text', prosrc => 'int4_to_char' }, 4405{ oid => '1774', descr => 'format int8 to text', 4406 proname => 'to_char', provolatile => 's', prorettype => 'text', 4407 proargtypes => 'int8 text', prosrc => 'int8_to_char' }, 4408{ oid => '1775', descr => 'format float4 to text', 4409 proname => 'to_char', provolatile => 's', prorettype => 'text', 4410 proargtypes => 'float4 text', prosrc => 'float4_to_char' }, 4411{ oid => '1776', descr => 'format float8 to text', 4412 proname => 'to_char', provolatile => 's', prorettype => 'text', 4413 proargtypes => 'float8 text', prosrc => 'float8_to_char' }, 4414{ oid => '1777', descr => 'convert text to numeric', 4415 proname => 'to_number', provolatile => 's', prorettype => 'numeric', 4416 proargtypes => 'text text', prosrc => 'numeric_to_number' }, 4417{ oid => '1778', descr => 'convert text to timestamp with time zone', 4418 proname => 'to_timestamp', provolatile => 's', prorettype => 'timestamptz', 4419 proargtypes => 'text text', prosrc => 'to_timestamp' }, 4420{ oid => '1780', descr => 'convert text to date', 4421 proname => 'to_date', provolatile => 's', prorettype => 'date', 4422 proargtypes => 'text text', prosrc => 'to_date' }, 4423{ oid => '1768', descr => 'format interval to text', 4424 proname => 'to_char', provolatile => 's', prorettype => 'text', 4425 proargtypes => 'interval text', prosrc => 'interval_to_char' }, 4426 4427{ oid => '1282', descr => 'quote an identifier for usage in a querystring', 4428 proname => 'quote_ident', prorettype => 'text', proargtypes => 'text', 4429 prosrc => 'quote_ident' }, 4430{ oid => '1283', descr => 'quote a literal for usage in a querystring', 4431 proname => 'quote_literal', prorettype => 'text', proargtypes => 'text', 4432 prosrc => 'quote_literal' }, 4433{ oid => '1285', descr => 'quote a data value for usage in a querystring', 4434 proname => 'quote_literal', prolang => '14', provolatile => 's', 4435 prorettype => 'text', proargtypes => 'anyelement', 4436 prosrc => 'select pg_catalog.quote_literal($1::pg_catalog.text)' }, 4437{ oid => '1289', 4438 descr => 'quote a possibly-null literal for usage in a querystring', 4439 proname => 'quote_nullable', proisstrict => 'f', prorettype => 'text', 4440 proargtypes => 'text', prosrc => 'quote_nullable' }, 4441{ oid => '1290', 4442 descr => 'quote a possibly-null data value for usage in a querystring', 4443 proname => 'quote_nullable', prolang => '14', proisstrict => 'f', 4444 provolatile => 's', prorettype => 'text', proargtypes => 'anyelement', 4445 prosrc => 'select pg_catalog.quote_nullable($1::pg_catalog.text)' }, 4446 4447{ oid => '1798', descr => 'I/O', 4448 proname => 'oidin', prorettype => 'oid', proargtypes => 'cstring', 4449 prosrc => 'oidin' }, 4450{ oid => '1799', descr => 'I/O', 4451 proname => 'oidout', prorettype => 'cstring', proargtypes => 'oid', 4452 prosrc => 'oidout' }, 4453 4454{ oid => '3058', descr => 'concatenate values', 4455 proname => 'concat', provariadic => 'any', proisstrict => 'f', 4456 provolatile => 's', prorettype => 'text', proargtypes => 'any', 4457 proallargtypes => '{any}', proargmodes => '{v}', prosrc => 'text_concat' }, 4458{ oid => '3059', descr => 'concatenate values with separators', 4459 proname => 'concat_ws', provariadic => 'any', proisstrict => 'f', 4460 provolatile => 's', prorettype => 'text', proargtypes => 'text any', 4461 proallargtypes => '{text,any}', proargmodes => '{i,v}', 4462 prosrc => 'text_concat_ws' }, 4463{ oid => '3060', descr => 'extract the first n characters', 4464 proname => 'left', prorettype => 'text', proargtypes => 'text int4', 4465 prosrc => 'text_left' }, 4466{ oid => '3061', descr => 'extract the last n characters', 4467 proname => 'right', prorettype => 'text', proargtypes => 'text int4', 4468 prosrc => 'text_right' }, 4469{ oid => '3062', descr => 'reverse text', 4470 proname => 'reverse', prorettype => 'text', proargtypes => 'text', 4471 prosrc => 'text_reverse' }, 4472{ oid => '3539', descr => 'format text message', 4473 proname => 'format', provariadic => 'any', proisstrict => 'f', 4474 provolatile => 's', prorettype => 'text', proargtypes => 'text any', 4475 proallargtypes => '{text,any}', proargmodes => '{i,v}', 4476 prosrc => 'text_format' }, 4477{ oid => '3540', descr => 'format text message', 4478 proname => 'format', proisstrict => 'f', provolatile => 's', 4479 prorettype => 'text', proargtypes => 'text', prosrc => 'text_format_nv' }, 4480 4481{ oid => '1810', descr => 'length in bits', 4482 proname => 'bit_length', prolang => '14', prorettype => 'int4', 4483 proargtypes => 'bytea', prosrc => 'select pg_catalog.octet_length($1) * 8' }, 4484{ oid => '1811', descr => 'length in bits', 4485 proname => 'bit_length', prolang => '14', prorettype => 'int4', 4486 proargtypes => 'text', prosrc => 'select pg_catalog.octet_length($1) * 8' }, 4487{ oid => '1812', descr => 'length in bits', 4488 proname => 'bit_length', prolang => '14', prorettype => 'int4', 4489 proargtypes => 'bit', prosrc => 'select pg_catalog.length($1)' }, 4490 4491# Selectivity estimators for LIKE and related operators 4492{ oid => '1814', descr => 'restriction selectivity of ILIKE', 4493 proname => 'iclikesel', provolatile => 's', prorettype => 'float8', 4494 proargtypes => 'internal oid internal int4', prosrc => 'iclikesel' }, 4495{ oid => '1815', descr => 'restriction selectivity of NOT ILIKE', 4496 proname => 'icnlikesel', provolatile => 's', prorettype => 'float8', 4497 proargtypes => 'internal oid internal int4', prosrc => 'icnlikesel' }, 4498{ oid => '1816', descr => 'join selectivity of ILIKE', 4499 proname => 'iclikejoinsel', provolatile => 's', prorettype => 'float8', 4500 proargtypes => 'internal oid internal int2 internal', 4501 prosrc => 'iclikejoinsel' }, 4502{ oid => '1817', descr => 'join selectivity of NOT ILIKE', 4503 proname => 'icnlikejoinsel', provolatile => 's', prorettype => 'float8', 4504 proargtypes => 'internal oid internal int2 internal', 4505 prosrc => 'icnlikejoinsel' }, 4506{ oid => '1818', descr => 'restriction selectivity of regex match', 4507 proname => 'regexeqsel', provolatile => 's', prorettype => 'float8', 4508 proargtypes => 'internal oid internal int4', prosrc => 'regexeqsel' }, 4509{ oid => '1819', descr => 'restriction selectivity of LIKE', 4510 proname => 'likesel', provolatile => 's', prorettype => 'float8', 4511 proargtypes => 'internal oid internal int4', prosrc => 'likesel' }, 4512{ oid => '1820', 4513 descr => 'restriction selectivity of case-insensitive regex match', 4514 proname => 'icregexeqsel', provolatile => 's', prorettype => 'float8', 4515 proargtypes => 'internal oid internal int4', prosrc => 'icregexeqsel' }, 4516{ oid => '1821', descr => 'restriction selectivity of regex non-match', 4517 proname => 'regexnesel', provolatile => 's', prorettype => 'float8', 4518 proargtypes => 'internal oid internal int4', prosrc => 'regexnesel' }, 4519{ oid => '1822', descr => 'restriction selectivity of NOT LIKE', 4520 proname => 'nlikesel', provolatile => 's', prorettype => 'float8', 4521 proargtypes => 'internal oid internal int4', prosrc => 'nlikesel' }, 4522{ oid => '1823', 4523 descr => 'restriction selectivity of case-insensitive regex non-match', 4524 proname => 'icregexnesel', provolatile => 's', prorettype => 'float8', 4525 proargtypes => 'internal oid internal int4', prosrc => 'icregexnesel' }, 4526{ oid => '1824', descr => 'join selectivity of regex match', 4527 proname => 'regexeqjoinsel', provolatile => 's', prorettype => 'float8', 4528 proargtypes => 'internal oid internal int2 internal', 4529 prosrc => 'regexeqjoinsel' }, 4530{ oid => '1825', descr => 'join selectivity of LIKE', 4531 proname => 'likejoinsel', provolatile => 's', prorettype => 'float8', 4532 proargtypes => 'internal oid internal int2 internal', 4533 prosrc => 'likejoinsel' }, 4534{ oid => '1826', descr => 'join selectivity of case-insensitive regex match', 4535 proname => 'icregexeqjoinsel', provolatile => 's', prorettype => 'float8', 4536 proargtypes => 'internal oid internal int2 internal', 4537 prosrc => 'icregexeqjoinsel' }, 4538{ oid => '1827', descr => 'join selectivity of regex non-match', 4539 proname => 'regexnejoinsel', provolatile => 's', prorettype => 'float8', 4540 proargtypes => 'internal oid internal int2 internal', 4541 prosrc => 'regexnejoinsel' }, 4542{ oid => '1828', descr => 'join selectivity of NOT LIKE', 4543 proname => 'nlikejoinsel', provolatile => 's', prorettype => 'float8', 4544 proargtypes => 'internal oid internal int2 internal', 4545 prosrc => 'nlikejoinsel' }, 4546{ oid => '1829', 4547 descr => 'join selectivity of case-insensitive regex non-match', 4548 proname => 'icregexnejoinsel', provolatile => 's', prorettype => 'float8', 4549 proargtypes => 'internal oid internal int2 internal', 4550 prosrc => 'icregexnejoinsel' }, 4551{ oid => '3437', descr => 'restriction selectivity of exact prefix', 4552 proname => 'prefixsel', provolatile => 's', prorettype => 'float8', 4553 proargtypes => 'internal oid internal int4', prosrc => 'prefixsel' }, 4554{ oid => '3438', descr => 'join selectivity of exact prefix', 4555 proname => 'prefixjoinsel', provolatile => 's', prorettype => 'float8', 4556 proargtypes => 'internal oid internal int2 internal', 4557 prosrc => 'prefixjoinsel' }, 4558 4559# Aggregate-related functions 4560{ oid => '1830', descr => 'aggregate final function', 4561 proname => 'float8_avg', prorettype => 'float8', proargtypes => '_float8', 4562 prosrc => 'float8_avg' }, 4563{ oid => '2512', descr => 'aggregate final function', 4564 proname => 'float8_var_pop', prorettype => 'float8', proargtypes => '_float8', 4565 prosrc => 'float8_var_pop' }, 4566{ oid => '1831', descr => 'aggregate final function', 4567 proname => 'float8_var_samp', prorettype => 'float8', 4568 proargtypes => '_float8', prosrc => 'float8_var_samp' }, 4569{ oid => '2513', descr => 'aggregate final function', 4570 proname => 'float8_stddev_pop', prorettype => 'float8', 4571 proargtypes => '_float8', prosrc => 'float8_stddev_pop' }, 4572{ oid => '1832', descr => 'aggregate final function', 4573 proname => 'float8_stddev_samp', prorettype => 'float8', 4574 proargtypes => '_float8', prosrc => 'float8_stddev_samp' }, 4575{ oid => '1833', descr => 'aggregate transition function', 4576 proname => 'numeric_accum', proisstrict => 'f', prorettype => 'internal', 4577 proargtypes => 'internal numeric', prosrc => 'numeric_accum' }, 4578{ oid => '3341', descr => 'aggregate combine function', 4579 proname => 'numeric_combine', proisstrict => 'f', prorettype => 'internal', 4580 proargtypes => 'internal internal', prosrc => 'numeric_combine' }, 4581{ oid => '2858', descr => 'aggregate transition function', 4582 proname => 'numeric_avg_accum', proisstrict => 'f', prorettype => 'internal', 4583 proargtypes => 'internal numeric', prosrc => 'numeric_avg_accum' }, 4584{ oid => '3337', descr => 'aggregate combine function', 4585 proname => 'numeric_avg_combine', proisstrict => 'f', 4586 prorettype => 'internal', proargtypes => 'internal internal', 4587 prosrc => 'numeric_avg_combine' }, 4588{ oid => '2740', descr => 'aggregate serial function', 4589 proname => 'numeric_avg_serialize', prorettype => 'bytea', 4590 proargtypes => 'internal', prosrc => 'numeric_avg_serialize' }, 4591{ oid => '2741', descr => 'aggregate deserial function', 4592 proname => 'numeric_avg_deserialize', prorettype => 'internal', 4593 proargtypes => 'bytea internal', prosrc => 'numeric_avg_deserialize' }, 4594{ oid => '3335', descr => 'aggregate serial function', 4595 proname => 'numeric_serialize', prorettype => 'bytea', 4596 proargtypes => 'internal', prosrc => 'numeric_serialize' }, 4597{ oid => '3336', descr => 'aggregate deserial function', 4598 proname => 'numeric_deserialize', prorettype => 'internal', 4599 proargtypes => 'bytea internal', prosrc => 'numeric_deserialize' }, 4600{ oid => '3548', descr => 'aggregate transition function', 4601 proname => 'numeric_accum_inv', proisstrict => 'f', prorettype => 'internal', 4602 proargtypes => 'internal numeric', prosrc => 'numeric_accum_inv' }, 4603{ oid => '1834', descr => 'aggregate transition function', 4604 proname => 'int2_accum', proisstrict => 'f', prorettype => 'internal', 4605 proargtypes => 'internal int2', prosrc => 'int2_accum' }, 4606{ oid => '1835', descr => 'aggregate transition function', 4607 proname => 'int4_accum', proisstrict => 'f', prorettype => 'internal', 4608 proargtypes => 'internal int4', prosrc => 'int4_accum' }, 4609{ oid => '1836', descr => 'aggregate transition function', 4610 proname => 'int8_accum', proisstrict => 'f', prorettype => 'internal', 4611 proargtypes => 'internal int8', prosrc => 'int8_accum' }, 4612{ oid => '3338', descr => 'aggregate combine function', 4613 proname => 'numeric_poly_combine', proisstrict => 'f', 4614 prorettype => 'internal', proargtypes => 'internal internal', 4615 prosrc => 'numeric_poly_combine' }, 4616{ oid => '3339', descr => 'aggregate serial function', 4617 proname => 'numeric_poly_serialize', prorettype => 'bytea', 4618 proargtypes => 'internal', prosrc => 'numeric_poly_serialize' }, 4619{ oid => '3340', descr => 'aggregate deserial function', 4620 proname => 'numeric_poly_deserialize', prorettype => 'internal', 4621 proargtypes => 'bytea internal', prosrc => 'numeric_poly_deserialize' }, 4622{ oid => '2746', descr => 'aggregate transition function', 4623 proname => 'int8_avg_accum', proisstrict => 'f', prorettype => 'internal', 4624 proargtypes => 'internal int8', prosrc => 'int8_avg_accum' }, 4625{ oid => '3567', descr => 'aggregate transition function', 4626 proname => 'int2_accum_inv', proisstrict => 'f', prorettype => 'internal', 4627 proargtypes => 'internal int2', prosrc => 'int2_accum_inv' }, 4628{ oid => '3568', descr => 'aggregate transition function', 4629 proname => 'int4_accum_inv', proisstrict => 'f', prorettype => 'internal', 4630 proargtypes => 'internal int4', prosrc => 'int4_accum_inv' }, 4631{ oid => '3569', descr => 'aggregate transition function', 4632 proname => 'int8_accum_inv', proisstrict => 'f', prorettype => 'internal', 4633 proargtypes => 'internal int8', prosrc => 'int8_accum_inv' }, 4634{ oid => '3387', descr => 'aggregate transition function', 4635 proname => 'int8_avg_accum_inv', proisstrict => 'f', prorettype => 'internal', 4636 proargtypes => 'internal int8', prosrc => 'int8_avg_accum_inv' }, 4637{ oid => '2785', descr => 'aggregate combine function', 4638 proname => 'int8_avg_combine', proisstrict => 'f', prorettype => 'internal', 4639 proargtypes => 'internal internal', prosrc => 'int8_avg_combine' }, 4640{ oid => '2786', descr => 'aggregate serial function', 4641 proname => 'int8_avg_serialize', prorettype => 'bytea', 4642 proargtypes => 'internal', prosrc => 'int8_avg_serialize' }, 4643{ oid => '2787', descr => 'aggregate deserial function', 4644 proname => 'int8_avg_deserialize', prorettype => 'internal', 4645 proargtypes => 'bytea internal', prosrc => 'int8_avg_deserialize' }, 4646{ oid => '3324', descr => 'aggregate combine function', 4647 proname => 'int4_avg_combine', prorettype => '_int8', 4648 proargtypes => '_int8 _int8', prosrc => 'int4_avg_combine' }, 4649{ oid => '3178', descr => 'aggregate final function', 4650 proname => 'numeric_sum', proisstrict => 'f', prorettype => 'numeric', 4651 proargtypes => 'internal', prosrc => 'numeric_sum' }, 4652{ oid => '1837', descr => 'aggregate final function', 4653 proname => 'numeric_avg', proisstrict => 'f', prorettype => 'numeric', 4654 proargtypes => 'internal', prosrc => 'numeric_avg' }, 4655{ oid => '2514', descr => 'aggregate final function', 4656 proname => 'numeric_var_pop', proisstrict => 'f', prorettype => 'numeric', 4657 proargtypes => 'internal', prosrc => 'numeric_var_pop' }, 4658{ oid => '1838', descr => 'aggregate final function', 4659 proname => 'numeric_var_samp', proisstrict => 'f', prorettype => 'numeric', 4660 proargtypes => 'internal', prosrc => 'numeric_var_samp' }, 4661{ oid => '2596', descr => 'aggregate final function', 4662 proname => 'numeric_stddev_pop', proisstrict => 'f', prorettype => 'numeric', 4663 proargtypes => 'internal', prosrc => 'numeric_stddev_pop' }, 4664{ oid => '1839', descr => 'aggregate final function', 4665 proname => 'numeric_stddev_samp', proisstrict => 'f', prorettype => 'numeric', 4666 proargtypes => 'internal', prosrc => 'numeric_stddev_samp' }, 4667{ oid => '1840', descr => 'aggregate transition function', 4668 proname => 'int2_sum', proisstrict => 'f', prorettype => 'int8', 4669 proargtypes => 'int8 int2', prosrc => 'int2_sum' }, 4670{ oid => '1841', descr => 'aggregate transition function', 4671 proname => 'int4_sum', proisstrict => 'f', prorettype => 'int8', 4672 proargtypes => 'int8 int4', prosrc => 'int4_sum' }, 4673{ oid => '1842', descr => 'aggregate transition function', 4674 proname => 'int8_sum', proisstrict => 'f', prorettype => 'numeric', 4675 proargtypes => 'numeric int8', prosrc => 'int8_sum' }, 4676{ oid => '3388', descr => 'aggregate final function', 4677 proname => 'numeric_poly_sum', proisstrict => 'f', prorettype => 'numeric', 4678 proargtypes => 'internal', prosrc => 'numeric_poly_sum' }, 4679{ oid => '3389', descr => 'aggregate final function', 4680 proname => 'numeric_poly_avg', proisstrict => 'f', prorettype => 'numeric', 4681 proargtypes => 'internal', prosrc => 'numeric_poly_avg' }, 4682{ oid => '3390', descr => 'aggregate final function', 4683 proname => 'numeric_poly_var_pop', proisstrict => 'f', 4684 prorettype => 'numeric', proargtypes => 'internal', 4685 prosrc => 'numeric_poly_var_pop' }, 4686{ oid => '3391', descr => 'aggregate final function', 4687 proname => 'numeric_poly_var_samp', proisstrict => 'f', 4688 prorettype => 'numeric', proargtypes => 'internal', 4689 prosrc => 'numeric_poly_var_samp' }, 4690{ oid => '3392', descr => 'aggregate final function', 4691 proname => 'numeric_poly_stddev_pop', proisstrict => 'f', 4692 prorettype => 'numeric', proargtypes => 'internal', 4693 prosrc => 'numeric_poly_stddev_pop' }, 4694{ oid => '3393', descr => 'aggregate final function', 4695 proname => 'numeric_poly_stddev_samp', proisstrict => 'f', 4696 prorettype => 'numeric', proargtypes => 'internal', 4697 prosrc => 'numeric_poly_stddev_samp' }, 4698 4699{ oid => '1843', descr => 'aggregate transition function', 4700 proname => 'interval_accum', prorettype => '_interval', 4701 proargtypes => '_interval interval', prosrc => 'interval_accum' }, 4702{ oid => '3325', descr => 'aggregate combine function', 4703 proname => 'interval_combine', prorettype => '_interval', 4704 proargtypes => '_interval _interval', prosrc => 'interval_combine' }, 4705{ oid => '3549', descr => 'aggregate transition function', 4706 proname => 'interval_accum_inv', prorettype => '_interval', 4707 proargtypes => '_interval interval', prosrc => 'interval_accum_inv' }, 4708{ oid => '1844', descr => 'aggregate final function', 4709 proname => 'interval_avg', prorettype => 'interval', 4710 proargtypes => '_interval', prosrc => 'interval_avg' }, 4711{ oid => '1962', descr => 'aggregate transition function', 4712 proname => 'int2_avg_accum', prorettype => '_int8', 4713 proargtypes => '_int8 int2', prosrc => 'int2_avg_accum' }, 4714{ oid => '1963', descr => 'aggregate transition function', 4715 proname => 'int4_avg_accum', prorettype => '_int8', 4716 proargtypes => '_int8 int4', prosrc => 'int4_avg_accum' }, 4717{ oid => '3570', descr => 'aggregate transition function', 4718 proname => 'int2_avg_accum_inv', prorettype => '_int8', 4719 proargtypes => '_int8 int2', prosrc => 'int2_avg_accum_inv' }, 4720{ oid => '3571', descr => 'aggregate transition function', 4721 proname => 'int4_avg_accum_inv', prorettype => '_int8', 4722 proargtypes => '_int8 int4', prosrc => 'int4_avg_accum_inv' }, 4723{ oid => '1964', descr => 'aggregate final function', 4724 proname => 'int8_avg', prorettype => 'numeric', proargtypes => '_int8', 4725 prosrc => 'int8_avg' }, 4726{ oid => '3572', descr => 'aggregate final function', 4727 proname => 'int2int4_sum', prorettype => 'int8', proargtypes => '_int8', 4728 prosrc => 'int2int4_sum' }, 4729{ oid => '2805', descr => 'aggregate transition function', 4730 proname => 'int8inc_float8_float8', prorettype => 'int8', 4731 proargtypes => 'int8 float8 float8', prosrc => 'int8inc_float8_float8' }, 4732{ oid => '2806', descr => 'aggregate transition function', 4733 proname => 'float8_regr_accum', prorettype => '_float8', 4734 proargtypes => '_float8 float8 float8', prosrc => 'float8_regr_accum' }, 4735{ oid => '3342', descr => 'aggregate combine function', 4736 proname => 'float8_regr_combine', prorettype => '_float8', 4737 proargtypes => '_float8 _float8', prosrc => 'float8_regr_combine' }, 4738{ oid => '2807', descr => 'aggregate final function', 4739 proname => 'float8_regr_sxx', prorettype => 'float8', 4740 proargtypes => '_float8', prosrc => 'float8_regr_sxx' }, 4741{ oid => '2808', descr => 'aggregate final function', 4742 proname => 'float8_regr_syy', prorettype => 'float8', 4743 proargtypes => '_float8', prosrc => 'float8_regr_syy' }, 4744{ oid => '2809', descr => 'aggregate final function', 4745 proname => 'float8_regr_sxy', prorettype => 'float8', 4746 proargtypes => '_float8', prosrc => 'float8_regr_sxy' }, 4747{ oid => '2810', descr => 'aggregate final function', 4748 proname => 'float8_regr_avgx', prorettype => 'float8', 4749 proargtypes => '_float8', prosrc => 'float8_regr_avgx' }, 4750{ oid => '2811', descr => 'aggregate final function', 4751 proname => 'float8_regr_avgy', prorettype => 'float8', 4752 proargtypes => '_float8', prosrc => 'float8_regr_avgy' }, 4753{ oid => '2812', descr => 'aggregate final function', 4754 proname => 'float8_regr_r2', prorettype => 'float8', proargtypes => '_float8', 4755 prosrc => 'float8_regr_r2' }, 4756{ oid => '2813', descr => 'aggregate final function', 4757 proname => 'float8_regr_slope', prorettype => 'float8', 4758 proargtypes => '_float8', prosrc => 'float8_regr_slope' }, 4759{ oid => '2814', descr => 'aggregate final function', 4760 proname => 'float8_regr_intercept', prorettype => 'float8', 4761 proargtypes => '_float8', prosrc => 'float8_regr_intercept' }, 4762{ oid => '2815', descr => 'aggregate final function', 4763 proname => 'float8_covar_pop', prorettype => 'float8', 4764 proargtypes => '_float8', prosrc => 'float8_covar_pop' }, 4765{ oid => '2816', descr => 'aggregate final function', 4766 proname => 'float8_covar_samp', prorettype => 'float8', 4767 proargtypes => '_float8', prosrc => 'float8_covar_samp' }, 4768{ oid => '2817', descr => 'aggregate final function', 4769 proname => 'float8_corr', prorettype => 'float8', proargtypes => '_float8', 4770 prosrc => 'float8_corr' }, 4771 4772{ oid => '3535', descr => 'aggregate transition function', 4773 proname => 'string_agg_transfn', proisstrict => 'f', prorettype => 'internal', 4774 proargtypes => 'internal text text', prosrc => 'string_agg_transfn' }, 4775{ oid => '3536', descr => 'aggregate final function', 4776 proname => 'string_agg_finalfn', proisstrict => 'f', prorettype => 'text', 4777 proargtypes => 'internal', prosrc => 'string_agg_finalfn' }, 4778{ oid => '3538', descr => 'concatenate aggregate input into a string', 4779 proname => 'string_agg', prokind => 'a', proisstrict => 'f', 4780 prorettype => 'text', proargtypes => 'text text', 4781 prosrc => 'aggregate_dummy' }, 4782{ oid => '3543', descr => 'aggregate transition function', 4783 proname => 'bytea_string_agg_transfn', proisstrict => 'f', 4784 prorettype => 'internal', proargtypes => 'internal bytea bytea', 4785 prosrc => 'bytea_string_agg_transfn' }, 4786{ oid => '3544', descr => 'aggregate final function', 4787 proname => 'bytea_string_agg_finalfn', proisstrict => 'f', 4788 prorettype => 'bytea', proargtypes => 'internal', 4789 prosrc => 'bytea_string_agg_finalfn' }, 4790{ oid => '3545', descr => 'concatenate aggregate input into a bytea', 4791 proname => 'string_agg', prokind => 'a', proisstrict => 'f', 4792 prorettype => 'bytea', proargtypes => 'bytea bytea', 4793 prosrc => 'aggregate_dummy' }, 4794 4795# To ASCII conversion 4796{ oid => '1845', descr => 'encode text from DB encoding to ASCII text', 4797 proname => 'to_ascii', prorettype => 'text', proargtypes => 'text', 4798 prosrc => 'to_ascii_default' }, 4799{ oid => '1846', descr => 'encode text from encoding to ASCII text', 4800 proname => 'to_ascii', prorettype => 'text', proargtypes => 'text int4', 4801 prosrc => 'to_ascii_enc' }, 4802{ oid => '1847', descr => 'encode text from encoding to ASCII text', 4803 proname => 'to_ascii', prorettype => 'text', proargtypes => 'text name', 4804 prosrc => 'to_ascii_encname' }, 4805 4806{ oid => '1848', 4807 proname => 'interval_pl_time', prolang => '14', prorettype => 'time', 4808 proargtypes => 'interval time', prosrc => 'select $2 + $1' }, 4809 4810{ oid => '1850', 4811 proname => 'int28eq', proleakproof => 't', prorettype => 'bool', 4812 proargtypes => 'int2 int8', prosrc => 'int28eq' }, 4813{ oid => '1851', 4814 proname => 'int28ne', proleakproof => 't', prorettype => 'bool', 4815 proargtypes => 'int2 int8', prosrc => 'int28ne' }, 4816{ oid => '1852', 4817 proname => 'int28lt', proleakproof => 't', prorettype => 'bool', 4818 proargtypes => 'int2 int8', prosrc => 'int28lt' }, 4819{ oid => '1853', 4820 proname => 'int28gt', proleakproof => 't', prorettype => 'bool', 4821 proargtypes => 'int2 int8', prosrc => 'int28gt' }, 4822{ oid => '1854', 4823 proname => 'int28le', proleakproof => 't', prorettype => 'bool', 4824 proargtypes => 'int2 int8', prosrc => 'int28le' }, 4825{ oid => '1855', 4826 proname => 'int28ge', proleakproof => 't', prorettype => 'bool', 4827 proargtypes => 'int2 int8', prosrc => 'int28ge' }, 4828 4829{ oid => '1856', 4830 proname => 'int82eq', proleakproof => 't', prorettype => 'bool', 4831 proargtypes => 'int8 int2', prosrc => 'int82eq' }, 4832{ oid => '1857', 4833 proname => 'int82ne', proleakproof => 't', prorettype => 'bool', 4834 proargtypes => 'int8 int2', prosrc => 'int82ne' }, 4835{ oid => '1858', 4836 proname => 'int82lt', proleakproof => 't', prorettype => 'bool', 4837 proargtypes => 'int8 int2', prosrc => 'int82lt' }, 4838{ oid => '1859', 4839 proname => 'int82gt', proleakproof => 't', prorettype => 'bool', 4840 proargtypes => 'int8 int2', prosrc => 'int82gt' }, 4841{ oid => '1860', 4842 proname => 'int82le', proleakproof => 't', prorettype => 'bool', 4843 proargtypes => 'int8 int2', prosrc => 'int82le' }, 4844{ oid => '1861', 4845 proname => 'int82ge', proleakproof => 't', prorettype => 'bool', 4846 proargtypes => 'int8 int2', prosrc => 'int82ge' }, 4847 4848{ oid => '1892', 4849 proname => 'int2and', prorettype => 'int2', proargtypes => 'int2 int2', 4850 prosrc => 'int2and' }, 4851{ oid => '1893', 4852 proname => 'int2or', prorettype => 'int2', proargtypes => 'int2 int2', 4853 prosrc => 'int2or' }, 4854{ oid => '1894', 4855 proname => 'int2xor', prorettype => 'int2', proargtypes => 'int2 int2', 4856 prosrc => 'int2xor' }, 4857{ oid => '1895', 4858 proname => 'int2not', prorettype => 'int2', proargtypes => 'int2', 4859 prosrc => 'int2not' }, 4860{ oid => '1896', 4861 proname => 'int2shl', prorettype => 'int2', proargtypes => 'int2 int4', 4862 prosrc => 'int2shl' }, 4863{ oid => '1897', 4864 proname => 'int2shr', prorettype => 'int2', proargtypes => 'int2 int4', 4865 prosrc => 'int2shr' }, 4866 4867{ oid => '1898', 4868 proname => 'int4and', prorettype => 'int4', proargtypes => 'int4 int4', 4869 prosrc => 'int4and' }, 4870{ oid => '1899', 4871 proname => 'int4or', prorettype => 'int4', proargtypes => 'int4 int4', 4872 prosrc => 'int4or' }, 4873{ oid => '1900', 4874 proname => 'int4xor', prorettype => 'int4', proargtypes => 'int4 int4', 4875 prosrc => 'int4xor' }, 4876{ oid => '1901', 4877 proname => 'int4not', prorettype => 'int4', proargtypes => 'int4', 4878 prosrc => 'int4not' }, 4879{ oid => '1902', 4880 proname => 'int4shl', prorettype => 'int4', proargtypes => 'int4 int4', 4881 prosrc => 'int4shl' }, 4882{ oid => '1903', 4883 proname => 'int4shr', prorettype => 'int4', proargtypes => 'int4 int4', 4884 prosrc => 'int4shr' }, 4885 4886{ oid => '1904', 4887 proname => 'int8and', prorettype => 'int8', proargtypes => 'int8 int8', 4888 prosrc => 'int8and' }, 4889{ oid => '1905', 4890 proname => 'int8or', prorettype => 'int8', proargtypes => 'int8 int8', 4891 prosrc => 'int8or' }, 4892{ oid => '1906', 4893 proname => 'int8xor', prorettype => 'int8', proargtypes => 'int8 int8', 4894 prosrc => 'int8xor' }, 4895{ oid => '1907', 4896 proname => 'int8not', prorettype => 'int8', proargtypes => 'int8', 4897 prosrc => 'int8not' }, 4898{ oid => '1908', 4899 proname => 'int8shl', prorettype => 'int8', proargtypes => 'int8 int4', 4900 prosrc => 'int8shl' }, 4901{ oid => '1909', 4902 proname => 'int8shr', prorettype => 'int8', proargtypes => 'int8 int4', 4903 prosrc => 'int8shr' }, 4904 4905{ oid => '1910', 4906 proname => 'int8up', prorettype => 'int8', proargtypes => 'int8', 4907 prosrc => 'int8up' }, 4908{ oid => '1911', 4909 proname => 'int2up', prorettype => 'int2', proargtypes => 'int2', 4910 prosrc => 'int2up' }, 4911{ oid => '1912', 4912 proname => 'int4up', prorettype => 'int4', proargtypes => 'int4', 4913 prosrc => 'int4up' }, 4914{ oid => '1913', 4915 proname => 'float4up', prorettype => 'float4', proargtypes => 'float4', 4916 prosrc => 'float4up' }, 4917{ oid => '1914', 4918 proname => 'float8up', prorettype => 'float8', proargtypes => 'float8', 4919 prosrc => 'float8up' }, 4920{ oid => '1915', 4921 proname => 'numeric_uplus', prorettype => 'numeric', proargtypes => 'numeric', 4922 prosrc => 'numeric_uplus' }, 4923 4924{ oid => '1922', descr => 'user privilege on relation by username, rel name', 4925 proname => 'has_table_privilege', provolatile => 's', prorettype => 'bool', 4926 proargtypes => 'name text text', prosrc => 'has_table_privilege_name_name' }, 4927{ oid => '1923', descr => 'user privilege on relation by username, rel oid', 4928 proname => 'has_table_privilege', provolatile => 's', prorettype => 'bool', 4929 proargtypes => 'name oid text', prosrc => 'has_table_privilege_name_id' }, 4930{ oid => '1924', descr => 'user privilege on relation by user oid, rel name', 4931 proname => 'has_table_privilege', provolatile => 's', prorettype => 'bool', 4932 proargtypes => 'oid text text', prosrc => 'has_table_privilege_id_name' }, 4933{ oid => '1925', descr => 'user privilege on relation by user oid, rel oid', 4934 proname => 'has_table_privilege', provolatile => 's', prorettype => 'bool', 4935 proargtypes => 'oid oid text', prosrc => 'has_table_privilege_id_id' }, 4936{ oid => '1926', descr => 'current user privilege on relation by rel name', 4937 proname => 'has_table_privilege', provolatile => 's', prorettype => 'bool', 4938 proargtypes => 'text text', prosrc => 'has_table_privilege_name' }, 4939{ oid => '1927', descr => 'current user privilege on relation by rel oid', 4940 proname => 'has_table_privilege', provolatile => 's', prorettype => 'bool', 4941 proargtypes => 'oid text', prosrc => 'has_table_privilege_id' }, 4942 4943{ oid => '2181', descr => 'user privilege on sequence by username, seq name', 4944 proname => 'has_sequence_privilege', provolatile => 's', prorettype => 'bool', 4945 proargtypes => 'name text text', 4946 prosrc => 'has_sequence_privilege_name_name' }, 4947{ oid => '2182', descr => 'user privilege on sequence by username, seq oid', 4948 proname => 'has_sequence_privilege', provolatile => 's', prorettype => 'bool', 4949 proargtypes => 'name oid text', prosrc => 'has_sequence_privilege_name_id' }, 4950{ oid => '2183', descr => 'user privilege on sequence by user oid, seq name', 4951 proname => 'has_sequence_privilege', provolatile => 's', prorettype => 'bool', 4952 proargtypes => 'oid text text', prosrc => 'has_sequence_privilege_id_name' }, 4953{ oid => '2184', descr => 'user privilege on sequence by user oid, seq oid', 4954 proname => 'has_sequence_privilege', provolatile => 's', prorettype => 'bool', 4955 proargtypes => 'oid oid text', prosrc => 'has_sequence_privilege_id_id' }, 4956{ oid => '2185', descr => 'current user privilege on sequence by seq name', 4957 proname => 'has_sequence_privilege', provolatile => 's', prorettype => 'bool', 4958 proargtypes => 'text text', prosrc => 'has_sequence_privilege_name' }, 4959{ oid => '2186', descr => 'current user privilege on sequence by seq oid', 4960 proname => 'has_sequence_privilege', provolatile => 's', prorettype => 'bool', 4961 proargtypes => 'oid text', prosrc => 'has_sequence_privilege_id' }, 4962 4963{ oid => '3012', 4964 descr => 'user privilege on column by username, rel name, col name', 4965 proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', 4966 proargtypes => 'name text text text', 4967 prosrc => 'has_column_privilege_name_name_name' }, 4968{ oid => '3013', 4969 descr => 'user privilege on column by username, rel name, col attnum', 4970 proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', 4971 proargtypes => 'name text int2 text', 4972 prosrc => 'has_column_privilege_name_name_attnum' }, 4973{ oid => '3014', 4974 descr => 'user privilege on column by username, rel oid, col name', 4975 proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', 4976 proargtypes => 'name oid text text', 4977 prosrc => 'has_column_privilege_name_id_name' }, 4978{ oid => '3015', 4979 descr => 'user privilege on column by username, rel oid, col attnum', 4980 proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', 4981 proargtypes => 'name oid int2 text', 4982 prosrc => 'has_column_privilege_name_id_attnum' }, 4983{ oid => '3016', 4984 descr => 'user privilege on column by user oid, rel name, col name', 4985 proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', 4986 proargtypes => 'oid text text text', 4987 prosrc => 'has_column_privilege_id_name_name' }, 4988{ oid => '3017', 4989 descr => 'user privilege on column by user oid, rel name, col attnum', 4990 proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', 4991 proargtypes => 'oid text int2 text', 4992 prosrc => 'has_column_privilege_id_name_attnum' }, 4993{ oid => '3018', 4994 descr => 'user privilege on column by user oid, rel oid, col name', 4995 proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', 4996 proargtypes => 'oid oid text text', 4997 prosrc => 'has_column_privilege_id_id_name' }, 4998{ oid => '3019', 4999 descr => 'user privilege on column by user oid, rel oid, col attnum', 5000 proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', 5001 proargtypes => 'oid oid int2 text', 5002 prosrc => 'has_column_privilege_id_id_attnum' }, 5003{ oid => '3020', 5004 descr => 'current user privilege on column by rel name, col name', 5005 proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', 5006 proargtypes => 'text text text', prosrc => 'has_column_privilege_name_name' }, 5007{ oid => '3021', 5008 descr => 'current user privilege on column by rel name, col attnum', 5009 proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', 5010 proargtypes => 'text int2 text', 5011 prosrc => 'has_column_privilege_name_attnum' }, 5012{ oid => '3022', 5013 descr => 'current user privilege on column by rel oid, col name', 5014 proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', 5015 proargtypes => 'oid text text', prosrc => 'has_column_privilege_id_name' }, 5016{ oid => '3023', 5017 descr => 'current user privilege on column by rel oid, col attnum', 5018 proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', 5019 proargtypes => 'oid int2 text', prosrc => 'has_column_privilege_id_attnum' }, 5020 5021{ oid => '3024', 5022 descr => 'user privilege on any column by username, rel name', 5023 proname => 'has_any_column_privilege', procost => '10', provolatile => 's', 5024 prorettype => 'bool', proargtypes => 'name text text', 5025 prosrc => 'has_any_column_privilege_name_name' }, 5026{ oid => '3025', descr => 'user privilege on any column by username, rel oid', 5027 proname => 'has_any_column_privilege', procost => '10', provolatile => 's', 5028 prorettype => 'bool', proargtypes => 'name oid text', 5029 prosrc => 'has_any_column_privilege_name_id' }, 5030{ oid => '3026', 5031 descr => 'user privilege on any column by user oid, rel name', 5032 proname => 'has_any_column_privilege', procost => '10', provolatile => 's', 5033 prorettype => 'bool', proargtypes => 'oid text text', 5034 prosrc => 'has_any_column_privilege_id_name' }, 5035{ oid => '3027', descr => 'user privilege on any column by user oid, rel oid', 5036 proname => 'has_any_column_privilege', procost => '10', provolatile => 's', 5037 prorettype => 'bool', proargtypes => 'oid oid text', 5038 prosrc => 'has_any_column_privilege_id_id' }, 5039{ oid => '3028', descr => 'current user privilege on any column by rel name', 5040 proname => 'has_any_column_privilege', procost => '10', provolatile => 's', 5041 prorettype => 'bool', proargtypes => 'text text', 5042 prosrc => 'has_any_column_privilege_name' }, 5043{ oid => '3029', descr => 'current user privilege on any column by rel oid', 5044 proname => 'has_any_column_privilege', procost => '10', provolatile => 's', 5045 prorettype => 'bool', proargtypes => 'oid text', 5046 prosrc => 'has_any_column_privilege_id' }, 5047 5048{ oid => '3355', descr => 'I/O', 5049 proname => 'pg_ndistinct_in', prorettype => 'pg_ndistinct', 5050 proargtypes => 'cstring', prosrc => 'pg_ndistinct_in' }, 5051{ oid => '3356', descr => 'I/O', 5052 proname => 'pg_ndistinct_out', prorettype => 'cstring', 5053 proargtypes => 'pg_ndistinct', prosrc => 'pg_ndistinct_out' }, 5054{ oid => '3357', descr => 'I/O', 5055 proname => 'pg_ndistinct_recv', provolatile => 's', 5056 prorettype => 'pg_ndistinct', proargtypes => 'internal', 5057 prosrc => 'pg_ndistinct_recv' }, 5058{ oid => '3358', descr => 'I/O', 5059 proname => 'pg_ndistinct_send', provolatile => 's', prorettype => 'bytea', 5060 proargtypes => 'pg_ndistinct', prosrc => 'pg_ndistinct_send' }, 5061 5062{ oid => '3404', descr => 'I/O', 5063 proname => 'pg_dependencies_in', prorettype => 'pg_dependencies', 5064 proargtypes => 'cstring', prosrc => 'pg_dependencies_in' }, 5065{ oid => '3405', descr => 'I/O', 5066 proname => 'pg_dependencies_out', prorettype => 'cstring', 5067 proargtypes => 'pg_dependencies', prosrc => 'pg_dependencies_out' }, 5068{ oid => '3406', descr => 'I/O', 5069 proname => 'pg_dependencies_recv', provolatile => 's', 5070 prorettype => 'pg_dependencies', proargtypes => 'internal', 5071 prosrc => 'pg_dependencies_recv' }, 5072{ oid => '3407', descr => 'I/O', 5073 proname => 'pg_dependencies_send', provolatile => 's', prorettype => 'bytea', 5074 proargtypes => 'pg_dependencies', prosrc => 'pg_dependencies_send' }, 5075 5076{ oid => '1928', descr => 'statistics: number of scans done for table/index', 5077 proname => 'pg_stat_get_numscans', provolatile => 's', proparallel => 'r', 5078 prorettype => 'int8', proargtypes => 'oid', 5079 prosrc => 'pg_stat_get_numscans' }, 5080{ oid => '1929', descr => 'statistics: number of tuples read by seqscan', 5081 proname => 'pg_stat_get_tuples_returned', provolatile => 's', 5082 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5083 prosrc => 'pg_stat_get_tuples_returned' }, 5084{ oid => '1930', descr => 'statistics: number of tuples fetched by idxscan', 5085 proname => 'pg_stat_get_tuples_fetched', provolatile => 's', 5086 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5087 prosrc => 'pg_stat_get_tuples_fetched' }, 5088{ oid => '1931', descr => 'statistics: number of tuples inserted', 5089 proname => 'pg_stat_get_tuples_inserted', provolatile => 's', 5090 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5091 prosrc => 'pg_stat_get_tuples_inserted' }, 5092{ oid => '1932', descr => 'statistics: number of tuples updated', 5093 proname => 'pg_stat_get_tuples_updated', provolatile => 's', 5094 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5095 prosrc => 'pg_stat_get_tuples_updated' }, 5096{ oid => '1933', descr => 'statistics: number of tuples deleted', 5097 proname => 'pg_stat_get_tuples_deleted', provolatile => 's', 5098 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5099 prosrc => 'pg_stat_get_tuples_deleted' }, 5100{ oid => '1972', descr => 'statistics: number of tuples hot updated', 5101 proname => 'pg_stat_get_tuples_hot_updated', provolatile => 's', 5102 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5103 prosrc => 'pg_stat_get_tuples_hot_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 => '1934', descr => 'statistics: number of blocks fetched', 5118 proname => 'pg_stat_get_blocks_fetched', provolatile => 's', 5119 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5120 prosrc => 'pg_stat_get_blocks_fetched' }, 5121{ oid => '1935', descr => 'statistics: number of blocks found in cache', 5122 proname => 'pg_stat_get_blocks_hit', provolatile => 's', proparallel => 'r', 5123 prorettype => 'int8', proargtypes => 'oid', 5124 prosrc => 'pg_stat_get_blocks_hit' }, 5125{ oid => '2781', descr => 'statistics: last manual vacuum time for a table', 5126 proname => 'pg_stat_get_last_vacuum_time', provolatile => 's', 5127 proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'oid', 5128 prosrc => 'pg_stat_get_last_vacuum_time' }, 5129{ oid => '2782', descr => 'statistics: last auto vacuum time for a table', 5130 proname => 'pg_stat_get_last_autovacuum_time', provolatile => 's', 5131 proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'oid', 5132 prosrc => 'pg_stat_get_last_autovacuum_time' }, 5133{ oid => '2783', descr => 'statistics: last manual analyze time for a table', 5134 proname => 'pg_stat_get_last_analyze_time', provolatile => 's', 5135 proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'oid', 5136 prosrc => 'pg_stat_get_last_analyze_time' }, 5137{ oid => '2784', descr => 'statistics: last auto analyze time for a table', 5138 proname => 'pg_stat_get_last_autoanalyze_time', provolatile => 's', 5139 proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'oid', 5140 prosrc => 'pg_stat_get_last_autoanalyze_time' }, 5141{ oid => '3054', descr => 'statistics: number of manual vacuums for a table', 5142 proname => 'pg_stat_get_vacuum_count', provolatile => 's', proparallel => 'r', 5143 prorettype => 'int8', proargtypes => 'oid', 5144 prosrc => 'pg_stat_get_vacuum_count' }, 5145{ oid => '3055', descr => 'statistics: number of auto vacuums for a table', 5146 proname => 'pg_stat_get_autovacuum_count', provolatile => 's', 5147 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5148 prosrc => 'pg_stat_get_autovacuum_count' }, 5149{ oid => '3056', descr => 'statistics: number of manual analyzes for a table', 5150 proname => 'pg_stat_get_analyze_count', provolatile => 's', 5151 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5152 prosrc => 'pg_stat_get_analyze_count' }, 5153{ oid => '3057', descr => 'statistics: number of auto analyzes for a table', 5154 proname => 'pg_stat_get_autoanalyze_count', provolatile => 's', 5155 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5156 prosrc => 'pg_stat_get_autoanalyze_count' }, 5157{ oid => '1936', descr => 'statistics: currently active backend IDs', 5158 proname => 'pg_stat_get_backend_idset', prorows => '100', proretset => 't', 5159 provolatile => 's', proparallel => 'r', prorettype => 'int4', 5160 proargtypes => '', prosrc => 'pg_stat_get_backend_idset' }, 5161{ oid => '2022', 5162 descr => 'statistics: information about currently active backends', 5163 proname => 'pg_stat_get_activity', prorows => '100', proisstrict => 'f', 5164 proretset => 't', provolatile => 's', proparallel => 'r', 5165 prorettype => 'record', proargtypes => 'int4', 5166 proallargtypes => '{int4,oid,int4,oid,text,text,text,text,text,timestamptz,timestamptz,timestamptz,timestamptz,inet,text,int4,xid,xid,text,bool,text,text,int4,bool,text}', 5167 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}', 5168 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,sslcompression,sslclientdn}', 5169 prosrc => 'pg_stat_get_activity' }, 5170{ oid => '3318', 5171 descr => 'statistics: information about progress of backends running maintenance command', 5172 proname => 'pg_stat_get_progress_info', prorows => '100', proretset => 't', 5173 provolatile => 's', proparallel => 'r', prorettype => 'record', 5174 proargtypes => 'text', 5175 proallargtypes => '{text,int4,oid,oid,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8}', 5176 proargmodes => '{i,o,o,o,o,o,o,o,o,o,o,o,o,o}', 5177 proargnames => '{cmdtype,pid,datid,relid,param1,param2,param3,param4,param5,param6,param7,param8,param9,param10}', 5178 prosrc => 'pg_stat_get_progress_info' }, 5179{ oid => '3099', 5180 descr => 'statistics: information about currently active replication', 5181 proname => 'pg_stat_get_wal_senders', prorows => '10', proisstrict => 'f', 5182 proretset => 't', provolatile => 's', proparallel => 'r', 5183 prorettype => 'record', proargtypes => '', 5184 proallargtypes => '{int4,text,pg_lsn,pg_lsn,pg_lsn,pg_lsn,interval,interval,interval,int4,text}', 5185 proargmodes => '{o,o,o,o,o,o,o,o,o,o,o}', 5186 proargnames => '{pid,state,sent_lsn,write_lsn,flush_lsn,replay_lsn,write_lag,flush_lag,replay_lag,sync_priority,sync_state}', 5187 prosrc => 'pg_stat_get_wal_senders' }, 5188{ oid => '3317', descr => 'statistics: information about WAL receiver', 5189 proname => 'pg_stat_get_wal_receiver', proisstrict => 'f', provolatile => 's', 5190 proparallel => 'r', prorettype => 'record', proargtypes => '', 5191 proallargtypes => '{int4,text,pg_lsn,int4,pg_lsn,int4,timestamptz,timestamptz,pg_lsn,timestamptz,text,text,int4,text}', 5192 proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o,o,o}', 5193 proargnames => '{pid,status,receive_start_lsn,receive_start_tli,received_lsn,received_tli,last_msg_send_time,last_msg_receipt_time,latest_end_lsn,latest_end_time,slot_name,sender_host,sender_port,conninfo}', 5194 prosrc => 'pg_stat_get_wal_receiver' }, 5195{ oid => '6118', descr => 'statistics: information about subscription', 5196 proname => 'pg_stat_get_subscription', proisstrict => 'f', provolatile => 's', 5197 proparallel => 'r', prorettype => 'record', proargtypes => 'oid', 5198 proallargtypes => '{oid,oid,oid,int4,pg_lsn,timestamptz,timestamptz,pg_lsn,timestamptz}', 5199 proargmodes => '{i,o,o,o,o,o,o,o,o}', 5200 proargnames => '{subid,subid,relid,pid,received_lsn,last_msg_send_time,last_msg_receipt_time,latest_end_lsn,latest_end_time}', 5201 prosrc => 'pg_stat_get_subscription' }, 5202{ oid => '2026', descr => 'statistics: current backend PID', 5203 proname => 'pg_backend_pid', provolatile => 's', proparallel => 'r', 5204 prorettype => 'int4', proargtypes => '', prosrc => 'pg_backend_pid' }, 5205{ oid => '1937', descr => 'statistics: PID of backend', 5206 proname => 'pg_stat_get_backend_pid', provolatile => 's', proparallel => 'r', 5207 prorettype => 'int4', proargtypes => 'int4', 5208 prosrc => 'pg_stat_get_backend_pid' }, 5209{ oid => '1938', descr => 'statistics: database ID of backend', 5210 proname => 'pg_stat_get_backend_dbid', provolatile => 's', proparallel => 'r', 5211 prorettype => 'oid', proargtypes => 'int4', 5212 prosrc => 'pg_stat_get_backend_dbid' }, 5213{ oid => '1939', descr => 'statistics: user ID of backend', 5214 proname => 'pg_stat_get_backend_userid', provolatile => 's', 5215 proparallel => 'r', prorettype => 'oid', proargtypes => 'int4', 5216 prosrc => 'pg_stat_get_backend_userid' }, 5217{ oid => '1940', descr => 'statistics: current query of backend', 5218 proname => 'pg_stat_get_backend_activity', provolatile => 's', 5219 proparallel => 'r', prorettype => 'text', proargtypes => 'int4', 5220 prosrc => 'pg_stat_get_backend_activity' }, 5221{ oid => '2788', 5222 descr => 'statistics: wait event type on which backend is currently waiting', 5223 proname => 'pg_stat_get_backend_wait_event_type', provolatile => 's', 5224 proparallel => 'r', prorettype => 'text', proargtypes => 'int4', 5225 prosrc => 'pg_stat_get_backend_wait_event_type' }, 5226{ oid => '2853', 5227 descr => 'statistics: wait event on which backend is currently waiting', 5228 proname => 'pg_stat_get_backend_wait_event', provolatile => 's', 5229 proparallel => 'r', prorettype => 'text', proargtypes => 'int4', 5230 prosrc => 'pg_stat_get_backend_wait_event' }, 5231{ oid => '2094', 5232 descr => 'statistics: start time for current query of backend', 5233 proname => 'pg_stat_get_backend_activity_start', provolatile => 's', 5234 proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'int4', 5235 prosrc => 'pg_stat_get_backend_activity_start' }, 5236{ oid => '2857', 5237 descr => 'statistics: start time for backend\'s current transaction', 5238 proname => 'pg_stat_get_backend_xact_start', provolatile => 's', 5239 proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'int4', 5240 prosrc => 'pg_stat_get_backend_xact_start' }, 5241{ oid => '1391', 5242 descr => 'statistics: start time for current backend session', 5243 proname => 'pg_stat_get_backend_start', provolatile => 's', 5244 proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'int4', 5245 prosrc => 'pg_stat_get_backend_start' }, 5246{ oid => '1392', 5247 descr => 'statistics: address of client connected to backend', 5248 proname => 'pg_stat_get_backend_client_addr', provolatile => 's', 5249 proparallel => 'r', prorettype => 'inet', proargtypes => 'int4', 5250 prosrc => 'pg_stat_get_backend_client_addr' }, 5251{ oid => '1393', 5252 descr => 'statistics: port number of client connected to backend', 5253 proname => 'pg_stat_get_backend_client_port', provolatile => 's', 5254 proparallel => 'r', prorettype => 'int4', proargtypes => 'int4', 5255 prosrc => 'pg_stat_get_backend_client_port' }, 5256{ oid => '1941', descr => 'statistics: number of backends in database', 5257 proname => 'pg_stat_get_db_numbackends', provolatile => 's', 5258 proparallel => 'r', prorettype => 'int4', proargtypes => 'oid', 5259 prosrc => 'pg_stat_get_db_numbackends' }, 5260{ oid => '1942', descr => 'statistics: transactions committed', 5261 proname => 'pg_stat_get_db_xact_commit', provolatile => 's', 5262 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5263 prosrc => 'pg_stat_get_db_xact_commit' }, 5264{ oid => '1943', descr => 'statistics: transactions rolled back', 5265 proname => 'pg_stat_get_db_xact_rollback', provolatile => 's', 5266 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5267 prosrc => 'pg_stat_get_db_xact_rollback' }, 5268{ oid => '1944', descr => 'statistics: blocks fetched for database', 5269 proname => 'pg_stat_get_db_blocks_fetched', provolatile => 's', 5270 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5271 prosrc => 'pg_stat_get_db_blocks_fetched' }, 5272{ oid => '1945', descr => 'statistics: blocks found in cache for database', 5273 proname => 'pg_stat_get_db_blocks_hit', provolatile => 's', 5274 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5275 prosrc => 'pg_stat_get_db_blocks_hit' }, 5276{ oid => '2758', descr => 'statistics: tuples returned for database', 5277 proname => 'pg_stat_get_db_tuples_returned', provolatile => 's', 5278 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5279 prosrc => 'pg_stat_get_db_tuples_returned' }, 5280{ oid => '2759', descr => 'statistics: tuples fetched for database', 5281 proname => 'pg_stat_get_db_tuples_fetched', provolatile => 's', 5282 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5283 prosrc => 'pg_stat_get_db_tuples_fetched' }, 5284{ oid => '2760', descr => 'statistics: tuples inserted in database', 5285 proname => 'pg_stat_get_db_tuples_inserted', provolatile => 's', 5286 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5287 prosrc => 'pg_stat_get_db_tuples_inserted' }, 5288{ oid => '2761', descr => 'statistics: tuples updated in database', 5289 proname => 'pg_stat_get_db_tuples_updated', provolatile => 's', 5290 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5291 prosrc => 'pg_stat_get_db_tuples_updated' }, 5292{ oid => '2762', descr => 'statistics: tuples deleted in database', 5293 proname => 'pg_stat_get_db_tuples_deleted', provolatile => 's', 5294 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5295 prosrc => 'pg_stat_get_db_tuples_deleted' }, 5296{ oid => '3065', 5297 descr => 'statistics: recovery conflicts in database caused by drop tablespace', 5298 proname => 'pg_stat_get_db_conflict_tablespace', provolatile => 's', 5299 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5300 prosrc => 'pg_stat_get_db_conflict_tablespace' }, 5301{ oid => '3066', 5302 descr => 'statistics: recovery conflicts in database caused by relation lock', 5303 proname => 'pg_stat_get_db_conflict_lock', provolatile => 's', 5304 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5305 prosrc => 'pg_stat_get_db_conflict_lock' }, 5306{ oid => '3067', 5307 descr => 'statistics: recovery conflicts in database caused by snapshot expiry', 5308 proname => 'pg_stat_get_db_conflict_snapshot', provolatile => 's', 5309 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5310 prosrc => 'pg_stat_get_db_conflict_snapshot' }, 5311{ oid => '3068', 5312 descr => 'statistics: recovery conflicts in database caused by shared buffer pin', 5313 proname => 'pg_stat_get_db_conflict_bufferpin', provolatile => 's', 5314 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5315 prosrc => 'pg_stat_get_db_conflict_bufferpin' }, 5316{ oid => '3069', 5317 descr => 'statistics: recovery conflicts in database caused by buffer deadlock', 5318 proname => 'pg_stat_get_db_conflict_startup_deadlock', provolatile => 's', 5319 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5320 prosrc => 'pg_stat_get_db_conflict_startup_deadlock' }, 5321{ oid => '3070', descr => 'statistics: recovery conflicts in database', 5322 proname => 'pg_stat_get_db_conflict_all', provolatile => 's', 5323 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5324 prosrc => 'pg_stat_get_db_conflict_all' }, 5325{ oid => '3152', descr => 'statistics: deadlocks detected in database', 5326 proname => 'pg_stat_get_db_deadlocks', provolatile => 's', proparallel => 'r', 5327 prorettype => 'int8', proargtypes => 'oid', 5328 prosrc => 'pg_stat_get_db_deadlocks' }, 5329{ oid => '3074', descr => 'statistics: last reset for a database', 5330 proname => 'pg_stat_get_db_stat_reset_time', provolatile => 's', 5331 proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'oid', 5332 prosrc => 'pg_stat_get_db_stat_reset_time' }, 5333{ oid => '3150', descr => 'statistics: number of temporary files written', 5334 proname => 'pg_stat_get_db_temp_files', provolatile => 's', 5335 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5336 prosrc => 'pg_stat_get_db_temp_files' }, 5337{ oid => '3151', 5338 descr => 'statistics: number of bytes in temporary files written', 5339 proname => 'pg_stat_get_db_temp_bytes', provolatile => 's', 5340 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5341 prosrc => 'pg_stat_get_db_temp_bytes' }, 5342{ oid => '2844', descr => 'statistics: block read time, in milliseconds', 5343 proname => 'pg_stat_get_db_blk_read_time', provolatile => 's', 5344 proparallel => 'r', prorettype => 'float8', proargtypes => 'oid', 5345 prosrc => 'pg_stat_get_db_blk_read_time' }, 5346{ oid => '2845', descr => 'statistics: block write time, in milliseconds', 5347 proname => 'pg_stat_get_db_blk_write_time', provolatile => 's', 5348 proparallel => 'r', prorettype => 'float8', proargtypes => 'oid', 5349 prosrc => 'pg_stat_get_db_blk_write_time' }, 5350{ oid => '3195', descr => 'statistics: information about WAL archiver', 5351 proname => 'pg_stat_get_archiver', proisstrict => 'f', provolatile => 's', 5352 proparallel => 'r', prorettype => 'record', proargtypes => '', 5353 proallargtypes => '{int8,text,timestamptz,int8,text,timestamptz,timestamptz}', 5354 proargmodes => '{o,o,o,o,o,o,o}', 5355 proargnames => '{archived_count,last_archived_wal,last_archived_time,failed_count,last_failed_wal,last_failed_time,stats_reset}', 5356 prosrc => 'pg_stat_get_archiver' }, 5357{ oid => '2769', 5358 descr => 'statistics: number of timed checkpoints started by the bgwriter', 5359 proname => 'pg_stat_get_bgwriter_timed_checkpoints', provolatile => 's', 5360 proparallel => 'r', prorettype => 'int8', proargtypes => '', 5361 prosrc => 'pg_stat_get_bgwriter_timed_checkpoints' }, 5362{ oid => '2770', 5363 descr => 'statistics: number of backend requested checkpoints started by the bgwriter', 5364 proname => 'pg_stat_get_bgwriter_requested_checkpoints', provolatile => 's', 5365 proparallel => 'r', prorettype => 'int8', proargtypes => '', 5366 prosrc => 'pg_stat_get_bgwriter_requested_checkpoints' }, 5367{ oid => '2771', 5368 descr => 'statistics: number of buffers written by the bgwriter during checkpoints', 5369 proname => 'pg_stat_get_bgwriter_buf_written_checkpoints', provolatile => 's', 5370 proparallel => 'r', prorettype => 'int8', proargtypes => '', 5371 prosrc => 'pg_stat_get_bgwriter_buf_written_checkpoints' }, 5372{ oid => '2772', 5373 descr => 'statistics: number of buffers written by the bgwriter for cleaning dirty buffers', 5374 proname => 'pg_stat_get_bgwriter_buf_written_clean', provolatile => 's', 5375 proparallel => 'r', prorettype => 'int8', proargtypes => '', 5376 prosrc => 'pg_stat_get_bgwriter_buf_written_clean' }, 5377{ oid => '2773', 5378 descr => 'statistics: number of times the bgwriter stopped processing when it had written too many buffers while cleaning', 5379 proname => 'pg_stat_get_bgwriter_maxwritten_clean', provolatile => 's', 5380 proparallel => 'r', prorettype => 'int8', proargtypes => '', 5381 prosrc => 'pg_stat_get_bgwriter_maxwritten_clean' }, 5382{ oid => '3075', descr => 'statistics: last reset for the bgwriter', 5383 proname => 'pg_stat_get_bgwriter_stat_reset_time', provolatile => 's', 5384 proparallel => 'r', prorettype => 'timestamptz', proargtypes => '', 5385 prosrc => 'pg_stat_get_bgwriter_stat_reset_time' }, 5386{ oid => '3160', 5387 descr => 'statistics: checkpoint time spent writing buffers to disk, in milliseconds', 5388 proname => 'pg_stat_get_checkpoint_write_time', provolatile => 's', 5389 proparallel => 'r', prorettype => 'float8', proargtypes => '', 5390 prosrc => 'pg_stat_get_checkpoint_write_time' }, 5391{ oid => '3161', 5392 descr => 'statistics: checkpoint time spent synchronizing buffers to disk, in milliseconds', 5393 proname => 'pg_stat_get_checkpoint_sync_time', provolatile => 's', 5394 proparallel => 'r', prorettype => 'float8', proargtypes => '', 5395 prosrc => 'pg_stat_get_checkpoint_sync_time' }, 5396{ oid => '2775', descr => 'statistics: number of buffers written by backends', 5397 proname => 'pg_stat_get_buf_written_backend', provolatile => 's', 5398 proparallel => 'r', prorettype => 'int8', proargtypes => '', 5399 prosrc => 'pg_stat_get_buf_written_backend' }, 5400{ oid => '3063', 5401 descr => 'statistics: number of backend buffer writes that did their own fsync', 5402 proname => 'pg_stat_get_buf_fsync_backend', provolatile => 's', 5403 proparallel => 'r', prorettype => 'int8', proargtypes => '', 5404 prosrc => 'pg_stat_get_buf_fsync_backend' }, 5405{ oid => '2859', descr => 'statistics: number of buffer allocations', 5406 proname => 'pg_stat_get_buf_alloc', provolatile => 's', proparallel => 'r', 5407 prorettype => 'int8', proargtypes => '', prosrc => 'pg_stat_get_buf_alloc' }, 5408 5409{ oid => '2978', descr => 'statistics: number of function calls', 5410 proname => 'pg_stat_get_function_calls', provolatile => 's', 5411 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5412 prosrc => 'pg_stat_get_function_calls' }, 5413{ oid => '2979', 5414 descr => 'statistics: total execution time of function, in milliseconds', 5415 proname => 'pg_stat_get_function_total_time', provolatile => 's', 5416 proparallel => 'r', prorettype => 'float8', proargtypes => 'oid', 5417 prosrc => 'pg_stat_get_function_total_time' }, 5418{ oid => '2980', 5419 descr => 'statistics: self execution time of function, in milliseconds', 5420 proname => 'pg_stat_get_function_self_time', provolatile => 's', 5421 proparallel => 'r', prorettype => 'float8', proargtypes => 'oid', 5422 prosrc => 'pg_stat_get_function_self_time' }, 5423 5424{ oid => '3037', 5425 descr => 'statistics: number of scans done for table/index in current transaction', 5426 proname => 'pg_stat_get_xact_numscans', provolatile => 'v', 5427 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5428 prosrc => 'pg_stat_get_xact_numscans' }, 5429{ oid => '3038', 5430 descr => 'statistics: number of tuples read by seqscan in current transaction', 5431 proname => 'pg_stat_get_xact_tuples_returned', provolatile => 'v', 5432 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5433 prosrc => 'pg_stat_get_xact_tuples_returned' }, 5434{ oid => '3039', 5435 descr => 'statistics: number of tuples fetched by idxscan in current transaction', 5436 proname => 'pg_stat_get_xact_tuples_fetched', provolatile => 'v', 5437 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5438 prosrc => 'pg_stat_get_xact_tuples_fetched' }, 5439{ oid => '3040', 5440 descr => 'statistics: number of tuples inserted in current transaction', 5441 proname => 'pg_stat_get_xact_tuples_inserted', provolatile => 'v', 5442 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5443 prosrc => 'pg_stat_get_xact_tuples_inserted' }, 5444{ oid => '3041', 5445 descr => 'statistics: number of tuples updated in current transaction', 5446 proname => 'pg_stat_get_xact_tuples_updated', provolatile => 'v', 5447 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5448 prosrc => 'pg_stat_get_xact_tuples_updated' }, 5449{ oid => '3042', 5450 descr => 'statistics: number of tuples deleted in current transaction', 5451 proname => 'pg_stat_get_xact_tuples_deleted', provolatile => 'v', 5452 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5453 prosrc => 'pg_stat_get_xact_tuples_deleted' }, 5454{ oid => '3043', 5455 descr => 'statistics: number of tuples hot updated in current transaction', 5456 proname => 'pg_stat_get_xact_tuples_hot_updated', provolatile => 'v', 5457 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5458 prosrc => 'pg_stat_get_xact_tuples_hot_updated' }, 5459{ oid => '3044', 5460 descr => 'statistics: number of blocks fetched in current transaction', 5461 proname => 'pg_stat_get_xact_blocks_fetched', provolatile => 'v', 5462 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5463 prosrc => 'pg_stat_get_xact_blocks_fetched' }, 5464{ oid => '3045', 5465 descr => 'statistics: number of blocks found in cache in current transaction', 5466 proname => 'pg_stat_get_xact_blocks_hit', provolatile => 'v', 5467 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5468 prosrc => 'pg_stat_get_xact_blocks_hit' }, 5469{ oid => '3046', 5470 descr => 'statistics: number of function calls in current transaction', 5471 proname => 'pg_stat_get_xact_function_calls', provolatile => 'v', 5472 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5473 prosrc => 'pg_stat_get_xact_function_calls' }, 5474{ oid => '3047', 5475 descr => 'statistics: total execution time of function in current transaction, in milliseconds', 5476 proname => 'pg_stat_get_xact_function_total_time', provolatile => 'v', 5477 proparallel => 'r', prorettype => 'float8', proargtypes => 'oid', 5478 prosrc => 'pg_stat_get_xact_function_total_time' }, 5479{ oid => '3048', 5480 descr => 'statistics: self execution time of function in current transaction, in milliseconds', 5481 proname => 'pg_stat_get_xact_function_self_time', provolatile => 'v', 5482 proparallel => 'r', prorettype => 'float8', proargtypes => 'oid', 5483 prosrc => 'pg_stat_get_xact_function_self_time' }, 5484 5485{ oid => '3788', 5486 descr => 'statistics: timestamp of the current statistics snapshot', 5487 proname => 'pg_stat_get_snapshot_timestamp', provolatile => 's', 5488 proparallel => 'r', prorettype => 'timestamptz', proargtypes => '', 5489 prosrc => 'pg_stat_get_snapshot_timestamp' }, 5490{ oid => '2230', 5491 descr => 'statistics: discard current transaction\'s statistics snapshot', 5492 proname => 'pg_stat_clear_snapshot', proisstrict => 'f', provolatile => 'v', 5493 proparallel => 'r', prorettype => 'void', proargtypes => '', 5494 prosrc => 'pg_stat_clear_snapshot' }, 5495{ oid => '2274', 5496 descr => 'statistics: reset collected statistics for current database', 5497 proname => 'pg_stat_reset', proisstrict => 'f', provolatile => 'v', 5498 prorettype => 'void', proargtypes => '', prosrc => 'pg_stat_reset' }, 5499{ oid => '3775', 5500 descr => 'statistics: reset collected statistics shared across the cluster', 5501 proname => 'pg_stat_reset_shared', provolatile => 'v', prorettype => 'void', 5502 proargtypes => 'text', prosrc => 'pg_stat_reset_shared' }, 5503{ oid => '3776', 5504 descr => 'statistics: reset collected statistics for a single table or index in the current database', 5505 proname => 'pg_stat_reset_single_table_counters', provolatile => 'v', 5506 prorettype => 'void', proargtypes => 'oid', 5507 prosrc => 'pg_stat_reset_single_table_counters' }, 5508{ oid => '3777', 5509 descr => 'statistics: reset collected statistics for a single function in the current database', 5510 proname => 'pg_stat_reset_single_function_counters', provolatile => 'v', 5511 prorettype => 'void', proargtypes => 'oid', 5512 prosrc => 'pg_stat_reset_single_function_counters' }, 5513 5514{ oid => '3163', descr => 'current trigger depth', 5515 proname => 'pg_trigger_depth', provolatile => 's', proparallel => 'r', 5516 prorettype => 'int4', proargtypes => '', prosrc => 'pg_trigger_depth' }, 5517 5518{ oid => '3778', descr => 'tablespace location', 5519 proname => 'pg_tablespace_location', provolatile => 's', prorettype => 'text', 5520 proargtypes => 'oid', prosrc => 'pg_tablespace_location' }, 5521 5522{ oid => '1946', 5523 descr => 'convert bytea value into some ascii-only text string', 5524 proname => 'encode', prorettype => 'text', proargtypes => 'bytea text', 5525 prosrc => 'binary_encode' }, 5526{ oid => '1947', 5527 descr => 'convert ascii-encoded text string into bytea value', 5528 proname => 'decode', prorettype => 'bytea', proargtypes => 'text text', 5529 prosrc => 'binary_decode' }, 5530 5531{ oid => '1948', 5532 proname => 'byteaeq', proleakproof => 't', prorettype => 'bool', 5533 proargtypes => 'bytea bytea', prosrc => 'byteaeq' }, 5534{ oid => '1949', 5535 proname => 'bytealt', proleakproof => 't', prorettype => 'bool', 5536 proargtypes => 'bytea bytea', prosrc => 'bytealt' }, 5537{ oid => '1950', 5538 proname => 'byteale', proleakproof => 't', prorettype => 'bool', 5539 proargtypes => 'bytea bytea', prosrc => 'byteale' }, 5540{ oid => '1951', 5541 proname => 'byteagt', proleakproof => 't', prorettype => 'bool', 5542 proargtypes => 'bytea bytea', prosrc => 'byteagt' }, 5543{ oid => '1952', 5544 proname => 'byteage', proleakproof => 't', prorettype => 'bool', 5545 proargtypes => 'bytea bytea', prosrc => 'byteage' }, 5546{ oid => '1953', 5547 proname => 'byteane', proleakproof => 't', prorettype => 'bool', 5548 proargtypes => 'bytea bytea', prosrc => 'byteane' }, 5549{ oid => '1954', descr => 'less-equal-greater', 5550 proname => 'byteacmp', prorettype => 'int4', proargtypes => 'bytea bytea', 5551 prosrc => 'byteacmp' }, 5552{ oid => '3331', descr => 'sort support', 5553 proname => 'bytea_sortsupport', prorettype => 'void', 5554 proargtypes => 'internal', prosrc => 'bytea_sortsupport' }, 5555 5556{ oid => '3917', descr => 'transform a timestamp length coercion', 5557 proname => 'timestamp_transform', prorettype => 'internal', 5558 proargtypes => 'internal', prosrc => 'timestamp_transform' }, 5559{ oid => '3944', descr => 'transform a time length coercion', 5560 proname => 'time_transform', prorettype => 'internal', 5561 proargtypes => 'internal', prosrc => 'time_transform' }, 5562 5563{ oid => '1961', descr => 'adjust timestamp precision', 5564 proname => 'timestamp', protransform => 'timestamp_transform', 5565 prorettype => 'timestamp', proargtypes => 'timestamp int4', 5566 prosrc => 'timestamp_scale' }, 5567 5568{ oid => '1965', descr => 'larger of two', 5569 proname => 'oidlarger', prorettype => 'oid', proargtypes => 'oid oid', 5570 prosrc => 'oidlarger' }, 5571{ oid => '1966', descr => 'smaller of two', 5572 proname => 'oidsmaller', prorettype => 'oid', proargtypes => 'oid oid', 5573 prosrc => 'oidsmaller' }, 5574 5575{ oid => '1967', descr => 'adjust timestamptz precision', 5576 proname => 'timestamptz', protransform => 'timestamp_transform', 5577 prorettype => 'timestamptz', proargtypes => 'timestamptz int4', 5578 prosrc => 'timestamptz_scale' }, 5579{ oid => '1968', descr => 'adjust time precision', 5580 proname => 'time', protransform => 'time_transform', prorettype => 'time', 5581 proargtypes => 'time int4', prosrc => 'time_scale' }, 5582{ oid => '1969', descr => 'adjust time with time zone precision', 5583 proname => 'timetz', protransform => 'time_transform', prorettype => 'timetz', 5584 proargtypes => 'timetz int4', prosrc => 'timetz_scale' }, 5585 5586{ oid => '2003', 5587 proname => 'textanycat', prolang => '14', provolatile => 's', 5588 prorettype => 'text', proargtypes => 'text anynonarray', 5589 prosrc => 'select $1 || $2::pg_catalog.text' }, 5590{ oid => '2004', 5591 proname => 'anytextcat', prolang => '14', provolatile => 's', 5592 prorettype => 'text', proargtypes => 'anynonarray text', 5593 prosrc => 'select $1::pg_catalog.text || $2' }, 5594 5595{ oid => '2005', 5596 proname => 'bytealike', prorettype => 'bool', proargtypes => 'bytea bytea', 5597 prosrc => 'bytealike' }, 5598{ oid => '2006', 5599 proname => 'byteanlike', prorettype => 'bool', proargtypes => 'bytea bytea', 5600 prosrc => 'byteanlike' }, 5601{ oid => '2007', descr => 'matches LIKE expression', 5602 proname => 'like', prorettype => 'bool', proargtypes => 'bytea bytea', 5603 prosrc => 'bytealike' }, 5604{ oid => '2008', descr => 'does not match LIKE expression', 5605 proname => 'notlike', prorettype => 'bool', proargtypes => 'bytea bytea', 5606 prosrc => 'byteanlike' }, 5607{ oid => '2009', descr => 'convert LIKE pattern to use backslash escapes', 5608 proname => 'like_escape', prorettype => 'bytea', proargtypes => 'bytea bytea', 5609 prosrc => 'like_escape_bytea' }, 5610{ oid => '2010', descr => 'octet length', 5611 proname => 'length', prorettype => 'int4', proargtypes => 'bytea', 5612 prosrc => 'byteaoctetlen' }, 5613{ oid => '2011', 5614 proname => 'byteacat', prorettype => 'bytea', proargtypes => 'bytea bytea', 5615 prosrc => 'byteacat' }, 5616{ oid => '2012', descr => 'extract portion of string', 5617 proname => 'substring', prorettype => 'bytea', 5618 proargtypes => 'bytea int4 int4', prosrc => 'bytea_substr' }, 5619{ oid => '2013', descr => 'extract portion of string', 5620 proname => 'substring', prorettype => 'bytea', proargtypes => 'bytea int4', 5621 prosrc => 'bytea_substr_no_len' }, 5622{ oid => '2085', descr => 'extract portion of string', 5623 proname => 'substr', prorettype => 'bytea', proargtypes => 'bytea int4 int4', 5624 prosrc => 'bytea_substr' }, 5625{ oid => '2086', descr => 'extract portion of string', 5626 proname => 'substr', prorettype => 'bytea', proargtypes => 'bytea int4', 5627 prosrc => 'bytea_substr_no_len' }, 5628{ oid => '2014', descr => 'position of substring', 5629 proname => 'position', prorettype => 'int4', proargtypes => 'bytea bytea', 5630 prosrc => 'byteapos' }, 5631{ oid => '2015', descr => 'trim both ends of string', 5632 proname => 'btrim', prorettype => 'bytea', proargtypes => 'bytea bytea', 5633 prosrc => 'byteatrim' }, 5634 5635{ oid => '2019', descr => 'convert timestamp with time zone to time', 5636 proname => 'time', provolatile => 's', prorettype => 'time', 5637 proargtypes => 'timestamptz', prosrc => 'timestamptz_time' }, 5638{ oid => '2020', descr => 'truncate timestamp to specified units', 5639 proname => 'date_trunc', prorettype => 'timestamp', 5640 proargtypes => 'text timestamp', prosrc => 'timestamp_trunc' }, 5641{ oid => '2021', descr => 'extract field from timestamp', 5642 proname => 'date_part', prorettype => 'float8', 5643 proargtypes => 'text timestamp', prosrc => 'timestamp_part' }, 5644{ oid => '2023', descr => 'convert abstime to timestamp', 5645 proname => 'timestamp', provolatile => 's', prorettype => 'timestamp', 5646 proargtypes => 'abstime', prosrc => 'abstime_timestamp' }, 5647{ oid => '2024', descr => 'convert date to timestamp', 5648 proname => 'timestamp', prorettype => 'timestamp', proargtypes => 'date', 5649 prosrc => 'date_timestamp' }, 5650{ oid => '2025', descr => 'convert date and time to timestamp', 5651 proname => 'timestamp', prorettype => 'timestamp', proargtypes => 'date time', 5652 prosrc => 'datetime_timestamp' }, 5653{ oid => '2027', descr => 'convert timestamp with time zone to timestamp', 5654 proname => 'timestamp', provolatile => 's', prorettype => 'timestamp', 5655 proargtypes => 'timestamptz', prosrc => 'timestamptz_timestamp' }, 5656{ oid => '2028', descr => 'convert timestamp to timestamp with time zone', 5657 proname => 'timestamptz', provolatile => 's', prorettype => 'timestamptz', 5658 proargtypes => 'timestamp', prosrc => 'timestamp_timestamptz' }, 5659{ oid => '2029', descr => 'convert timestamp to date', 5660 proname => 'date', prorettype => 'date', proargtypes => 'timestamp', 5661 prosrc => 'timestamp_date' }, 5662{ oid => '2030', descr => 'convert timestamp to abstime', 5663 proname => 'abstime', provolatile => 's', prorettype => 'abstime', 5664 proargtypes => 'timestamp', prosrc => 'timestamp_abstime' }, 5665{ oid => '2031', 5666 proname => 'timestamp_mi', prorettype => 'interval', 5667 proargtypes => 'timestamp timestamp', prosrc => 'timestamp_mi' }, 5668{ oid => '2032', 5669 proname => 'timestamp_pl_interval', prorettype => 'timestamp', 5670 proargtypes => 'timestamp interval', prosrc => 'timestamp_pl_interval' }, 5671{ oid => '2033', 5672 proname => 'timestamp_mi_interval', prorettype => 'timestamp', 5673 proargtypes => 'timestamp interval', prosrc => 'timestamp_mi_interval' }, 5674{ oid => '2035', descr => 'smaller of two', 5675 proname => 'timestamp_smaller', prorettype => 'timestamp', 5676 proargtypes => 'timestamp timestamp', prosrc => 'timestamp_smaller' }, 5677{ oid => '2036', descr => 'larger of two', 5678 proname => 'timestamp_larger', prorettype => 'timestamp', 5679 proargtypes => 'timestamp timestamp', prosrc => 'timestamp_larger' }, 5680{ oid => '2037', descr => 'adjust time with time zone to new zone', 5681 proname => 'timezone', provolatile => 'v', prorettype => 'timetz', 5682 proargtypes => 'text timetz', prosrc => 'timetz_zone' }, 5683{ oid => '2038', descr => 'adjust time with time zone to new zone', 5684 proname => 'timezone', prorettype => 'timetz', 5685 proargtypes => 'interval timetz', prosrc => 'timetz_izone' }, 5686{ oid => '2039', descr => 'hash', 5687 proname => 'timestamp_hash', prorettype => 'int4', proargtypes => 'timestamp', 5688 prosrc => 'timestamp_hash' }, 5689{ oid => '3411', descr => 'hash', 5690 proname => 'timestamp_hash_extended', prorettype => 'int8', 5691 proargtypes => 'timestamp int8', prosrc => 'timestamp_hash_extended' }, 5692{ oid => '2041', descr => 'intervals overlap?', 5693 proname => 'overlaps', proisstrict => 'f', prorettype => 'bool', 5694 proargtypes => 'timestamp timestamp timestamp timestamp', 5695 prosrc => 'overlaps_timestamp' }, 5696{ oid => '2042', descr => 'intervals overlap?', 5697 proname => 'overlaps', prolang => '14', proisstrict => 'f', 5698 prorettype => 'bool', proargtypes => 'timestamp interval timestamp interval', 5699 prosrc => 'select ($1, ($1 + $2)) overlaps ($3, ($3 + $4))' }, 5700{ oid => '2043', descr => 'intervals overlap?', 5701 proname => 'overlaps', prolang => '14', proisstrict => 'f', 5702 prorettype => 'bool', proargtypes => 'timestamp timestamp timestamp interval', 5703 prosrc => 'select ($1, $2) overlaps ($3, ($3 + $4))' }, 5704{ oid => '2044', descr => 'intervals overlap?', 5705 proname => 'overlaps', prolang => '14', proisstrict => 'f', 5706 prorettype => 'bool', proargtypes => 'timestamp interval timestamp timestamp', 5707 prosrc => 'select ($1, ($1 + $2)) overlaps ($3, $4)' }, 5708{ oid => '2045', descr => 'less-equal-greater', 5709 proname => 'timestamp_cmp', prorettype => 'int4', 5710 proargtypes => 'timestamp timestamp', prosrc => 'timestamp_cmp' }, 5711{ oid => '3137', descr => 'sort support', 5712 proname => 'timestamp_sortsupport', prorettype => 'void', 5713 proargtypes => 'internal', prosrc => 'timestamp_sortsupport' }, 5714 5715{ oid => '4134', descr => 'window RANGE support', 5716 proname => 'in_range', prorettype => 'bool', 5717 proargtypes => 'timestamp timestamp interval bool bool', 5718 prosrc => 'in_range_timestamp_interval' }, 5719{ oid => '4135', descr => 'window RANGE support', 5720 proname => 'in_range', provolatile => 's', prorettype => 'bool', 5721 proargtypes => 'timestamptz timestamptz interval bool bool', 5722 prosrc => 'in_range_timestamptz_interval' }, 5723{ oid => '4136', descr => 'window RANGE support', 5724 proname => 'in_range', prorettype => 'bool', 5725 proargtypes => 'interval interval interval bool bool', 5726 prosrc => 'in_range_interval_interval' }, 5727{ oid => '4137', descr => 'window RANGE support', 5728 proname => 'in_range', prorettype => 'bool', 5729 proargtypes => 'time time interval bool bool', 5730 prosrc => 'in_range_time_interval' }, 5731{ oid => '4138', descr => 'window RANGE support', 5732 proname => 'in_range', prorettype => 'bool', 5733 proargtypes => 'timetz timetz interval bool bool', 5734 prosrc => 'in_range_timetz_interval' }, 5735 5736{ oid => '2046', descr => 'convert time with time zone to time', 5737 proname => 'time', prorettype => 'time', proargtypes => 'timetz', 5738 prosrc => 'timetz_time' }, 5739{ oid => '2047', descr => 'convert time to time with time zone', 5740 proname => 'timetz', provolatile => 's', prorettype => 'timetz', 5741 proargtypes => 'time', prosrc => 'time_timetz' }, 5742{ oid => '2048', descr => 'finite timestamp?', 5743 proname => 'isfinite', prorettype => 'bool', proargtypes => 'timestamp', 5744 prosrc => 'timestamp_finite' }, 5745{ oid => '2049', descr => 'format timestamp to text', 5746 proname => 'to_char', provolatile => 's', prorettype => 'text', 5747 proargtypes => 'timestamp text', prosrc => 'timestamp_to_char' }, 5748{ oid => '2052', 5749 proname => 'timestamp_eq', proleakproof => 't', prorettype => 'bool', 5750 proargtypes => 'timestamp timestamp', prosrc => 'timestamp_eq' }, 5751{ oid => '2053', 5752 proname => 'timestamp_ne', proleakproof => 't', prorettype => 'bool', 5753 proargtypes => 'timestamp timestamp', prosrc => 'timestamp_ne' }, 5754{ oid => '2054', 5755 proname => 'timestamp_lt', proleakproof => 't', prorettype => 'bool', 5756 proargtypes => 'timestamp timestamp', prosrc => 'timestamp_lt' }, 5757{ oid => '2055', 5758 proname => 'timestamp_le', proleakproof => 't', prorettype => 'bool', 5759 proargtypes => 'timestamp timestamp', prosrc => 'timestamp_le' }, 5760{ oid => '2056', 5761 proname => 'timestamp_ge', proleakproof => 't', prorettype => 'bool', 5762 proargtypes => 'timestamp timestamp', prosrc => 'timestamp_ge' }, 5763{ oid => '2057', 5764 proname => 'timestamp_gt', proleakproof => 't', prorettype => 'bool', 5765 proargtypes => 'timestamp timestamp', prosrc => 'timestamp_gt' }, 5766{ oid => '2058', descr => 'date difference preserving months and years', 5767 proname => 'age', prorettype => 'interval', 5768 proargtypes => 'timestamp timestamp', prosrc => 'timestamp_age' }, 5769{ oid => '2059', 5770 descr => 'date difference from today preserving months and years', 5771 proname => 'age', prolang => '14', provolatile => 's', 5772 prorettype => 'interval', proargtypes => 'timestamp', 5773 prosrc => 'select pg_catalog.age(cast(current_date as timestamp without time zone), $1)' }, 5774 5775{ oid => '2069', descr => 'adjust timestamp to new time zone', 5776 proname => 'timezone', protransform => 'timestamp_zone_transform', 5777 prorettype => 'timestamptz', proargtypes => 'text timestamp', 5778 prosrc => 'timestamp_zone' }, 5779{ oid => '2070', descr => 'adjust timestamp to new time zone', 5780 proname => 'timezone', protransform => 'timestamp_izone_transform', 5781 prorettype => 'timestamptz', proargtypes => 'interval timestamp', 5782 prosrc => 'timestamp_izone' }, 5783{ oid => '2071', 5784 proname => 'date_pl_interval', prorettype => 'timestamp', 5785 proargtypes => 'date interval', prosrc => 'date_pl_interval' }, 5786{ oid => '2072', 5787 proname => 'date_mi_interval', prorettype => 'timestamp', 5788 proargtypes => 'date interval', prosrc => 'date_mi_interval' }, 5789 5790{ oid => '2073', descr => 'extract text matching regular expression', 5791 proname => 'substring', prorettype => 'text', proargtypes => 'text text', 5792 prosrc => 'textregexsubstr' }, 5793{ oid => '2074', descr => 'extract text matching SQL99 regular expression', 5794 proname => 'substring', prolang => '14', prorettype => 'text', 5795 proargtypes => 'text text text', 5796 prosrc => 'select pg_catalog.substring($1, pg_catalog.similar_escape($2, $3))' }, 5797 5798{ oid => '2075', descr => 'convert int8 to bitstring', 5799 proname => 'bit', prorettype => 'bit', proargtypes => 'int8 int4', 5800 prosrc => 'bitfromint8' }, 5801{ oid => '2076', descr => 'convert bitstring to int8', 5802 proname => 'int8', prorettype => 'int8', proargtypes => 'bit', 5803 prosrc => 'bittoint8' }, 5804 5805{ oid => '2077', descr => 'SHOW X as a function', 5806 proname => 'current_setting', provolatile => 's', prorettype => 'text', 5807 proargtypes => 'text', prosrc => 'show_config_by_name' }, 5808{ oid => '3294', 5809 descr => 'SHOW X as a function, optionally no error for missing variable', 5810 proname => 'current_setting', provolatile => 's', prorettype => 'text', 5811 proargtypes => 'text bool', prosrc => 'show_config_by_name_missing_ok' }, 5812{ oid => '2078', descr => 'SET X as a function', 5813 proname => 'set_config', proisstrict => 'f', provolatile => 'v', 5814 proparallel => 'u', prorettype => 'text', proargtypes => 'text text bool', 5815 prosrc => 'set_config_by_name' }, 5816{ oid => '2084', descr => 'SHOW ALL as a function', 5817 proname => 'pg_show_all_settings', prorows => '1000', proretset => 't', 5818 provolatile => 's', prorettype => 'record', proargtypes => '', 5819 proallargtypes => '{text,text,text,text,text,text,text,text,text,text,text,_text,text,text,text,int4,bool}', 5820 proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o}', 5821 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}', 5822 prosrc => 'show_all_settings' }, 5823{ oid => '3329', descr => 'show config file settings', 5824 proname => 'pg_show_all_file_settings', prorows => '1000', proretset => 't', 5825 provolatile => 'v', prorettype => 'record', proargtypes => '', 5826 proallargtypes => '{text,int4,int4,text,text,bool,text}', 5827 proargmodes => '{o,o,o,o,o,o,o}', 5828 proargnames => '{sourcefile,sourceline,seqno,name,setting,applied,error}', 5829 prosrc => 'show_all_file_settings' }, 5830{ oid => '3401', descr => 'show pg_hba.conf rules', 5831 proname => 'pg_hba_file_rules', prorows => '1000', proretset => 't', 5832 provolatile => 'v', prorettype => 'record', proargtypes => '', 5833 proallargtypes => '{int4,text,_text,_text,text,text,text,_text,text}', 5834 proargmodes => '{o,o,o,o,o,o,o,o,o}', 5835 proargnames => '{line_number,type,database,user_name,address,netmask,auth_method,options,error}', 5836 prosrc => 'pg_hba_file_rules' }, 5837{ oid => '1371', descr => 'view system lock information', 5838 proname => 'pg_lock_status', prorows => '1000', proretset => 't', 5839 provolatile => 'v', prorettype => 'record', proargtypes => '', 5840 proallargtypes => '{text,oid,oid,int4,int2,text,xid,oid,oid,int2,text,int4,text,bool,bool}', 5841 proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o,o,o,o}', 5842 proargnames => '{locktype,database,relation,page,tuple,virtualxid,transactionid,classid,objid,objsubid,virtualtransaction,pid,mode,granted,fastpath}', 5843 prosrc => 'pg_lock_status' }, 5844{ oid => '2561', 5845 descr => 'get array of PIDs of sessions blocking specified backend PID from acquiring a heavyweight lock', 5846 proname => 'pg_blocking_pids', provolatile => 'v', prorettype => '_int4', 5847 proargtypes => 'int4', prosrc => 'pg_blocking_pids' }, 5848{ oid => '3376', 5849 descr => 'get array of PIDs of sessions blocking specified backend PID from acquiring a safe snapshot', 5850 proname => 'pg_safe_snapshot_blocking_pids', provolatile => 'v', 5851 prorettype => '_int4', proargtypes => 'int4', 5852 prosrc => 'pg_safe_snapshot_blocking_pids' }, 5853{ oid => '3378', descr => 'isolationtester support function', 5854 proname => 'pg_isolation_test_session_is_blocked', provolatile => 'v', 5855 prorettype => 'bool', proargtypes => 'int4 _int4', 5856 prosrc => 'pg_isolation_test_session_is_blocked' }, 5857{ oid => '1065', descr => 'view two-phase transactions', 5858 proname => 'pg_prepared_xact', prorows => '1000', proretset => 't', 5859 provolatile => 'v', prorettype => 'record', proargtypes => '', 5860 proallargtypes => '{xid,text,timestamptz,oid,oid}', 5861 proargmodes => '{o,o,o,o,o}', 5862 proargnames => '{transaction,gid,prepared,ownerid,dbid}', 5863 prosrc => 'pg_prepared_xact' }, 5864{ oid => '3819', descr => 'view members of a multixactid', 5865 proname => 'pg_get_multixact_members', prorows => '1000', proretset => 't', 5866 provolatile => 'v', prorettype => 'record', proargtypes => 'xid', 5867 proallargtypes => '{xid,xid,text}', proargmodes => '{i,o,o}', 5868 proargnames => '{multixid,xid,mode}', prosrc => 'pg_get_multixact_members' }, 5869 5870{ oid => '3581', descr => 'get commit timestamp of a transaction', 5871 proname => 'pg_xact_commit_timestamp', provolatile => 'v', 5872 prorettype => 'timestamptz', proargtypes => 'xid', 5873 prosrc => 'pg_xact_commit_timestamp' }, 5874 5875{ oid => '3583', 5876 descr => 'get transaction Id and commit timestamp of latest transaction commit', 5877 proname => 'pg_last_committed_xact', provolatile => 'v', 5878 prorettype => 'record', proargtypes => '', 5879 proallargtypes => '{xid,timestamptz}', proargmodes => '{o,o}', 5880 proargnames => '{xid,timestamp}', prosrc => 'pg_last_committed_xact' }, 5881 5882{ oid => '3537', descr => 'get identification of SQL object', 5883 proname => 'pg_describe_object', provolatile => 's', prorettype => 'text', 5884 proargtypes => 'oid oid int4', prosrc => 'pg_describe_object' }, 5885 5886{ oid => '3839', 5887 descr => 'get machine-parseable identification of SQL object', 5888 proname => 'pg_identify_object', provolatile => 's', prorettype => 'record', 5889 proargtypes => 'oid oid int4', 5890 proallargtypes => '{oid,oid,int4,text,text,text,text}', 5891 proargmodes => '{i,i,i,o,o,o,o}', 5892 proargnames => '{classid,objid,objsubid,type,schema,name,identity}', 5893 prosrc => 'pg_identify_object' }, 5894 5895{ oid => '3382', 5896 descr => 'get identification of SQL object for pg_get_object_address()', 5897 proname => 'pg_identify_object_as_address', provolatile => 's', 5898 prorettype => 'record', proargtypes => 'oid oid int4', 5899 proallargtypes => '{oid,oid,int4,text,_text,_text}', 5900 proargmodes => '{i,i,i,o,o,o}', 5901 proargnames => '{classid,objid,objsubid,type,object_names,object_args}', 5902 prosrc => 'pg_identify_object_as_address' }, 5903 5904{ oid => '3954', 5905 descr => 'get OID-based object address from name/args arrays', 5906 proname => 'pg_get_object_address', provolatile => 's', 5907 prorettype => 'record', proargtypes => 'text _text _text', 5908 proallargtypes => '{text,_text,_text,oid,oid,int4}', 5909 proargmodes => '{i,i,i,o,o,o}', 5910 proargnames => '{type,object_names,object_args,classid,objid,objsubid}', 5911 prosrc => 'pg_get_object_address' }, 5912 5913{ oid => '2079', descr => 'is table visible in search path?', 5914 proname => 'pg_table_is_visible', procost => '10', provolatile => 's', 5915 prorettype => 'bool', proargtypes => 'oid', prosrc => 'pg_table_is_visible' }, 5916{ oid => '2080', descr => 'is type visible in search path?', 5917 proname => 'pg_type_is_visible', procost => '10', provolatile => 's', 5918 prorettype => 'bool', proargtypes => 'oid', prosrc => 'pg_type_is_visible' }, 5919{ oid => '2081', descr => 'is function visible in search path?', 5920 proname => 'pg_function_is_visible', procost => '10', provolatile => 's', 5921 prorettype => 'bool', proargtypes => 'oid', 5922 prosrc => 'pg_function_is_visible' }, 5923{ oid => '2082', descr => 'is operator visible in search path?', 5924 proname => 'pg_operator_is_visible', procost => '10', provolatile => 's', 5925 prorettype => 'bool', proargtypes => 'oid', 5926 prosrc => 'pg_operator_is_visible' }, 5927{ oid => '2083', descr => 'is opclass visible in search path?', 5928 proname => 'pg_opclass_is_visible', procost => '10', provolatile => 's', 5929 prorettype => 'bool', proargtypes => 'oid', 5930 prosrc => 'pg_opclass_is_visible' }, 5931{ oid => '3829', descr => 'is opfamily visible in search path?', 5932 proname => 'pg_opfamily_is_visible', procost => '10', provolatile => 's', 5933 prorettype => 'bool', proargtypes => 'oid', 5934 prosrc => 'pg_opfamily_is_visible' }, 5935{ oid => '2093', descr => 'is conversion visible in search path?', 5936 proname => 'pg_conversion_is_visible', procost => '10', provolatile => 's', 5937 prorettype => 'bool', proargtypes => 'oid', 5938 prosrc => 'pg_conversion_is_visible' }, 5939{ oid => '3403', descr => 'is statistics object visible in search path?', 5940 proname => 'pg_statistics_obj_is_visible', procost => '10', 5941 provolatile => 's', prorettype => 'bool', proargtypes => 'oid', 5942 prosrc => 'pg_statistics_obj_is_visible' }, 5943{ oid => '3756', descr => 'is text search parser visible in search path?', 5944 proname => 'pg_ts_parser_is_visible', procost => '10', provolatile => 's', 5945 prorettype => 'bool', proargtypes => 'oid', 5946 prosrc => 'pg_ts_parser_is_visible' }, 5947{ oid => '3757', descr => 'is text search dictionary visible in search path?', 5948 proname => 'pg_ts_dict_is_visible', procost => '10', provolatile => 's', 5949 prorettype => 'bool', proargtypes => 'oid', 5950 prosrc => 'pg_ts_dict_is_visible' }, 5951{ oid => '3768', descr => 'is text search template visible in search path?', 5952 proname => 'pg_ts_template_is_visible', procost => '10', provolatile => 's', 5953 prorettype => 'bool', proargtypes => 'oid', 5954 prosrc => 'pg_ts_template_is_visible' }, 5955{ oid => '3758', 5956 descr => 'is text search configuration visible in search path?', 5957 proname => 'pg_ts_config_is_visible', procost => '10', provolatile => 's', 5958 prorettype => 'bool', proargtypes => 'oid', 5959 prosrc => 'pg_ts_config_is_visible' }, 5960{ oid => '3815', descr => 'is collation visible in search path?', 5961 proname => 'pg_collation_is_visible', procost => '10', provolatile => 's', 5962 prorettype => 'bool', proargtypes => 'oid', 5963 prosrc => 'pg_collation_is_visible' }, 5964 5965{ oid => '2854', descr => 'get OID of current session\'s temp schema, if any', 5966 proname => 'pg_my_temp_schema', provolatile => 's', proparallel => 'r', 5967 prorettype => 'oid', proargtypes => '', prosrc => 'pg_my_temp_schema' }, 5968{ oid => '2855', descr => 'is schema another session\'s temp schema?', 5969 proname => 'pg_is_other_temp_schema', provolatile => 's', 5970 prorettype => 'bool', proargtypes => 'oid', 5971 prosrc => 'pg_is_other_temp_schema' }, 5972 5973{ oid => '2171', descr => 'cancel a server process\' current query', 5974 proname => 'pg_cancel_backend', provolatile => 'v', prorettype => 'bool', 5975 proargtypes => 'int4', prosrc => 'pg_cancel_backend' }, 5976{ oid => '2096', descr => 'terminate a server process', 5977 proname => 'pg_terminate_backend', provolatile => 'v', prorettype => 'bool', 5978 proargtypes => 'int4', prosrc => 'pg_terminate_backend' }, 5979{ oid => '2172', descr => 'prepare for taking an online backup', 5980 proname => 'pg_start_backup', provolatile => 'v', proparallel => 'r', 5981 prorettype => 'pg_lsn', proargtypes => 'text bool bool', 5982 prosrc => 'pg_start_backup' }, 5983{ oid => '2173', descr => 'finish taking an online backup', 5984 proname => 'pg_stop_backup', provolatile => 'v', proparallel => 'r', 5985 prorettype => 'pg_lsn', proargtypes => '', prosrc => 'pg_stop_backup' }, 5986{ oid => '2739', descr => 'finish taking an online backup', 5987 proname => 'pg_stop_backup', prorows => '1', proretset => 't', 5988 provolatile => 'v', proparallel => 'r', prorettype => 'record', 5989 proargtypes => 'bool bool', proallargtypes => '{bool,bool,pg_lsn,text,text}', 5990 proargmodes => '{i,i,o,o,o}', 5991 proargnames => '{exclusive,wait_for_archive,lsn,labelfile,spcmapfile}', 5992 prosrc => 'pg_stop_backup_v2' }, 5993{ oid => '3813', descr => 'true if server is in online backup', 5994 proname => 'pg_is_in_backup', provolatile => 'v', prorettype => 'bool', 5995 proargtypes => '', prosrc => 'pg_is_in_backup' }, 5996{ oid => '3814', descr => 'start time of an online backup', 5997 proname => 'pg_backup_start_time', provolatile => 's', 5998 prorettype => 'timestamptz', proargtypes => '', 5999 prosrc => 'pg_backup_start_time' }, 6000{ oid => '2848', descr => 'switch to new wal file', 6001 proname => 'pg_switch_wal', provolatile => 'v', prorettype => 'pg_lsn', 6002 proargtypes => '', prosrc => 'pg_switch_wal' }, 6003{ oid => '3098', descr => 'create a named restore point', 6004 proname => 'pg_create_restore_point', provolatile => 'v', 6005 prorettype => 'pg_lsn', proargtypes => 'text', 6006 prosrc => 'pg_create_restore_point' }, 6007{ oid => '2849', descr => 'current wal write location', 6008 proname => 'pg_current_wal_lsn', provolatile => 'v', prorettype => 'pg_lsn', 6009 proargtypes => '', prosrc => 'pg_current_wal_lsn' }, 6010{ oid => '2852', descr => 'current wal insert location', 6011 proname => 'pg_current_wal_insert_lsn', provolatile => 'v', 6012 prorettype => 'pg_lsn', proargtypes => '', 6013 prosrc => 'pg_current_wal_insert_lsn' }, 6014{ oid => '3330', descr => 'current wal flush location', 6015 proname => 'pg_current_wal_flush_lsn', provolatile => 'v', 6016 prorettype => 'pg_lsn', proargtypes => '', 6017 prosrc => 'pg_current_wal_flush_lsn' }, 6018{ oid => '2850', 6019 descr => 'wal filename and byte offset, given a wal location', 6020 proname => 'pg_walfile_name_offset', prorettype => 'record', 6021 proargtypes => 'pg_lsn', proallargtypes => '{pg_lsn,text,int4}', 6022 proargmodes => '{i,o,o}', proargnames => '{lsn,file_name,file_offset}', 6023 prosrc => 'pg_walfile_name_offset' }, 6024{ oid => '2851', descr => 'wal filename, given a wal location', 6025 proname => 'pg_walfile_name', prorettype => 'text', proargtypes => 'pg_lsn', 6026 prosrc => 'pg_walfile_name' }, 6027 6028{ oid => '3165', descr => 'difference in bytes, given two wal locations', 6029 proname => 'pg_wal_lsn_diff', prorettype => 'numeric', 6030 proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_wal_lsn_diff' }, 6031 6032{ oid => '3809', descr => 'export a snapshot', 6033 proname => 'pg_export_snapshot', provolatile => 'v', proparallel => 'u', 6034 prorettype => 'text', proargtypes => '', prosrc => 'pg_export_snapshot' }, 6035 6036{ oid => '3810', descr => 'true if server is in recovery', 6037 proname => 'pg_is_in_recovery', provolatile => 'v', prorettype => 'bool', 6038 proargtypes => '', prosrc => 'pg_is_in_recovery' }, 6039 6040{ oid => '3820', descr => 'current wal flush location', 6041 proname => 'pg_last_wal_receive_lsn', provolatile => 'v', 6042 prorettype => 'pg_lsn', proargtypes => '', 6043 prosrc => 'pg_last_wal_receive_lsn' }, 6044{ oid => '3821', descr => 'last wal replay location', 6045 proname => 'pg_last_wal_replay_lsn', provolatile => 'v', 6046 prorettype => 'pg_lsn', proargtypes => '', 6047 prosrc => 'pg_last_wal_replay_lsn' }, 6048{ oid => '3830', descr => 'timestamp of last replay xact', 6049 proname => 'pg_last_xact_replay_timestamp', provolatile => 'v', 6050 prorettype => 'timestamptz', proargtypes => '', 6051 prosrc => 'pg_last_xact_replay_timestamp' }, 6052 6053{ oid => '3071', descr => 'pause wal replay', 6054 proname => 'pg_wal_replay_pause', provolatile => 'v', prorettype => 'void', 6055 proargtypes => '', prosrc => 'pg_wal_replay_pause' }, 6056{ oid => '3072', descr => 'resume wal replay, if it was paused', 6057 proname => 'pg_wal_replay_resume', provolatile => 'v', prorettype => 'void', 6058 proargtypes => '', prosrc => 'pg_wal_replay_resume' }, 6059{ oid => '3073', descr => 'true if wal replay is paused', 6060 proname => 'pg_is_wal_replay_paused', provolatile => 'v', 6061 prorettype => 'bool', proargtypes => '', 6062 prosrc => 'pg_is_wal_replay_paused' }, 6063 6064{ oid => '2621', descr => 'reload configuration files', 6065 proname => 'pg_reload_conf', provolatile => 'v', prorettype => 'bool', 6066 proargtypes => '', prosrc => 'pg_reload_conf' }, 6067{ oid => '2622', descr => 'rotate log file', 6068 proname => 'pg_rotate_logfile', provolatile => 'v', prorettype => 'bool', 6069 proargtypes => '', prosrc => 'pg_rotate_logfile_v2' }, 6070{ oid => '4099', descr => 'rotate log file - old version for adminpack 1.0', 6071 proname => 'pg_rotate_logfile_old', provolatile => 'v', prorettype => 'bool', 6072 proargtypes => '', prosrc => 'pg_rotate_logfile' }, 6073{ oid => '3800', descr => 'current logging collector file location', 6074 proname => 'pg_current_logfile', proisstrict => 'f', provolatile => 'v', 6075 prorettype => 'text', proargtypes => '', prosrc => 'pg_current_logfile' }, 6076{ oid => '3801', descr => 'current logging collector file location', 6077 proname => 'pg_current_logfile', proisstrict => 'f', provolatile => 'v', 6078 prorettype => 'text', proargtypes => 'text', 6079 prosrc => 'pg_current_logfile_1arg' }, 6080 6081{ oid => '2623', descr => 'get information about file', 6082 proname => 'pg_stat_file', provolatile => 'v', prorettype => 'record', 6083 proargtypes => 'text', 6084 proallargtypes => '{text,int8,timestamptz,timestamptz,timestamptz,timestamptz,bool}', 6085 proargmodes => '{i,o,o,o,o,o,o}', 6086 proargnames => '{filename,size,access,modification,change,creation,isdir}', 6087 prosrc => 'pg_stat_file_1arg' }, 6088{ oid => '3307', descr => 'get information about file', 6089 proname => 'pg_stat_file', provolatile => 'v', prorettype => 'record', 6090 proargtypes => 'text bool', 6091 proallargtypes => '{text,bool,int8,timestamptz,timestamptz,timestamptz,timestamptz,bool}', 6092 proargmodes => '{i,i,o,o,o,o,o,o}', 6093 proargnames => '{filename,missing_ok,size,access,modification,change,creation,isdir}', 6094 prosrc => 'pg_stat_file' }, 6095{ oid => '2624', descr => 'read text from a file', 6096 proname => 'pg_read_file', provolatile => 'v', prorettype => 'text', 6097 proargtypes => 'text int8 int8', prosrc => 'pg_read_file_off_len' }, 6098{ oid => '3293', descr => 'read text from a file', 6099 proname => 'pg_read_file', provolatile => 'v', prorettype => 'text', 6100 proargtypes => 'text int8 int8 bool', prosrc => 'pg_read_file_v2' }, 6101{ oid => '4100', 6102 descr => 'read text from a file - old version for adminpack 1.0', 6103 proname => 'pg_read_file_old', provolatile => 'v', prorettype => 'text', 6104 proargtypes => 'text int8 int8', prosrc => 'pg_read_file' }, 6105{ oid => '3826', descr => 'read text from a file', 6106 proname => 'pg_read_file', provolatile => 'v', prorettype => 'text', 6107 proargtypes => 'text', prosrc => 'pg_read_file_all' }, 6108{ oid => '3827', descr => 'read bytea from a file', 6109 proname => 'pg_read_binary_file', provolatile => 'v', prorettype => 'bytea', 6110 proargtypes => 'text int8 int8', prosrc => 'pg_read_binary_file_off_len' }, 6111{ oid => '3295', descr => 'read bytea from a file', 6112 proname => 'pg_read_binary_file', provolatile => 'v', prorettype => 'bytea', 6113 proargtypes => 'text int8 int8 bool', prosrc => 'pg_read_binary_file' }, 6114{ oid => '3828', descr => 'read bytea from a file', 6115 proname => 'pg_read_binary_file', provolatile => 'v', prorettype => 'bytea', 6116 proargtypes => 'text', prosrc => 'pg_read_binary_file_all' }, 6117{ oid => '2625', descr => 'list all files in a directory', 6118 proname => 'pg_ls_dir', prorows => '1000', proretset => 't', 6119 provolatile => 'v', prorettype => 'text', proargtypes => 'text', 6120 prosrc => 'pg_ls_dir_1arg' }, 6121{ oid => '3297', descr => 'list all files in a directory', 6122 proname => 'pg_ls_dir', prorows => '1000', proretset => 't', 6123 provolatile => 'v', prorettype => 'text', proargtypes => 'text bool bool', 6124 prosrc => 'pg_ls_dir' }, 6125{ oid => '2626', descr => 'sleep for the specified time in seconds', 6126 proname => 'pg_sleep', provolatile => 'v', prorettype => 'void', 6127 proargtypes => 'float8', prosrc => 'pg_sleep' }, 6128{ oid => '3935', descr => 'sleep for the specified interval', 6129 proname => 'pg_sleep_for', prolang => '14', provolatile => 'v', 6130 prorettype => 'void', proargtypes => 'interval', 6131 prosrc => 'select pg_catalog.pg_sleep(extract(epoch from pg_catalog.clock_timestamp() operator(pg_catalog.+) $1) operator(pg_catalog.-) extract(epoch from pg_catalog.clock_timestamp()))' }, 6132{ oid => '3936', descr => 'sleep until the specified time', 6133 proname => 'pg_sleep_until', prolang => '14', provolatile => 'v', 6134 prorettype => 'void', proargtypes => 'timestamptz', 6135 prosrc => 'select pg_catalog.pg_sleep(extract(epoch from $1) operator(pg_catalog.-) extract(epoch from pg_catalog.clock_timestamp()))' }, 6136{ oid => '315', descr => 'Is JIT compilation available in this session?', 6137 proname => 'pg_jit_available', provolatile => 'v', prorettype => 'bool', 6138 proargtypes => '', prosrc => 'pg_jit_available' }, 6139 6140{ oid => '2971', descr => 'convert boolean to text', 6141 proname => 'text', prorettype => 'text', proargtypes => 'bool', 6142 prosrc => 'booltext' }, 6143 6144# Aggregates (moved here from pg_aggregate for 7.3) 6145 6146{ oid => '2100', 6147 descr => 'the average (arithmetic mean) as numeric of all bigint values', 6148 proname => 'avg', prokind => 'a', proisstrict => 'f', prorettype => 'numeric', 6149 proargtypes => 'int8', prosrc => 'aggregate_dummy' }, 6150{ oid => '2101', 6151 descr => 'the average (arithmetic mean) as numeric of all integer values', 6152 proname => 'avg', prokind => 'a', proisstrict => 'f', prorettype => 'numeric', 6153 proargtypes => 'int4', prosrc => 'aggregate_dummy' }, 6154{ oid => '2102', 6155 descr => 'the average (arithmetic mean) as numeric of all smallint values', 6156 proname => 'avg', prokind => 'a', proisstrict => 'f', prorettype => 'numeric', 6157 proargtypes => 'int2', prosrc => 'aggregate_dummy' }, 6158{ oid => '2103', 6159 descr => 'the average (arithmetic mean) as numeric of all numeric values', 6160 proname => 'avg', prokind => 'a', proisstrict => 'f', prorettype => 'numeric', 6161 proargtypes => 'numeric', prosrc => 'aggregate_dummy' }, 6162{ oid => '2104', 6163 descr => 'the average (arithmetic mean) as float8 of all float4 values', 6164 proname => 'avg', prokind => 'a', proisstrict => 'f', prorettype => 'float8', 6165 proargtypes => 'float4', prosrc => 'aggregate_dummy' }, 6166{ oid => '2105', 6167 descr => 'the average (arithmetic mean) as float8 of all float8 values', 6168 proname => 'avg', prokind => 'a', proisstrict => 'f', prorettype => 'float8', 6169 proargtypes => 'float8', prosrc => 'aggregate_dummy' }, 6170{ oid => '2106', 6171 descr => 'the average (arithmetic mean) as interval of all interval values', 6172 proname => 'avg', prokind => 'a', proisstrict => 'f', 6173 prorettype => 'interval', proargtypes => 'interval', 6174 prosrc => 'aggregate_dummy' }, 6175 6176{ oid => '2107', descr => 'sum as numeric across all bigint input values', 6177 proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'numeric', 6178 proargtypes => 'int8', prosrc => 'aggregate_dummy' }, 6179{ oid => '2108', descr => 'sum as bigint across all integer input values', 6180 proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'int8', 6181 proargtypes => 'int4', prosrc => 'aggregate_dummy' }, 6182{ oid => '2109', descr => 'sum as bigint across all smallint input values', 6183 proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'int8', 6184 proargtypes => 'int2', prosrc => 'aggregate_dummy' }, 6185{ oid => '2110', descr => 'sum as float4 across all float4 input values', 6186 proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'float4', 6187 proargtypes => 'float4', prosrc => 'aggregate_dummy' }, 6188{ oid => '2111', descr => 'sum as float8 across all float8 input values', 6189 proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'float8', 6190 proargtypes => 'float8', prosrc => 'aggregate_dummy' }, 6191{ oid => '2112', descr => 'sum as money across all money input values', 6192 proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'money', 6193 proargtypes => 'money', prosrc => 'aggregate_dummy' }, 6194{ oid => '2113', descr => 'sum as interval across all interval input values', 6195 proname => 'sum', prokind => 'a', proisstrict => 'f', 6196 prorettype => 'interval', proargtypes => 'interval', 6197 prosrc => 'aggregate_dummy' }, 6198{ oid => '2114', descr => 'sum as numeric across all numeric input values', 6199 proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'numeric', 6200 proargtypes => 'numeric', prosrc => 'aggregate_dummy' }, 6201 6202{ oid => '2115', descr => 'maximum value of all bigint input values', 6203 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'int8', 6204 proargtypes => 'int8', prosrc => 'aggregate_dummy' }, 6205{ oid => '2116', descr => 'maximum value of all integer input values', 6206 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'int4', 6207 proargtypes => 'int4', prosrc => 'aggregate_dummy' }, 6208{ oid => '2117', descr => 'maximum value of all smallint input values', 6209 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'int2', 6210 proargtypes => 'int2', prosrc => 'aggregate_dummy' }, 6211{ oid => '2118', descr => 'maximum value of all oid input values', 6212 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'oid', 6213 proargtypes => 'oid', prosrc => 'aggregate_dummy' }, 6214{ oid => '2119', descr => 'maximum value of all float4 input values', 6215 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'float4', 6216 proargtypes => 'float4', prosrc => 'aggregate_dummy' }, 6217{ oid => '2120', descr => 'maximum value of all float8 input values', 6218 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'float8', 6219 proargtypes => 'float8', prosrc => 'aggregate_dummy' }, 6220{ oid => '2121', descr => 'maximum value of all abstime input values', 6221 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'abstime', 6222 proargtypes => 'abstime', prosrc => 'aggregate_dummy' }, 6223{ oid => '2122', descr => 'maximum value of all date input values', 6224 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'date', 6225 proargtypes => 'date', prosrc => 'aggregate_dummy' }, 6226{ oid => '2123', descr => 'maximum value of all time input values', 6227 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'time', 6228 proargtypes => 'time', prosrc => 'aggregate_dummy' }, 6229{ oid => '2124', 6230 descr => 'maximum value of all time with time zone input values', 6231 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'timetz', 6232 proargtypes => 'timetz', prosrc => 'aggregate_dummy' }, 6233{ oid => '2125', descr => 'maximum value of all money input values', 6234 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'money', 6235 proargtypes => 'money', prosrc => 'aggregate_dummy' }, 6236{ oid => '2126', descr => 'maximum value of all timestamp input values', 6237 proname => 'max', prokind => 'a', proisstrict => 'f', 6238 prorettype => 'timestamp', proargtypes => 'timestamp', 6239 prosrc => 'aggregate_dummy' }, 6240{ oid => '2127', 6241 descr => 'maximum value of all timestamp with time zone input values', 6242 proname => 'max', prokind => 'a', proisstrict => 'f', 6243 prorettype => 'timestamptz', proargtypes => 'timestamptz', 6244 prosrc => 'aggregate_dummy' }, 6245{ oid => '2128', descr => 'maximum value of all interval input values', 6246 proname => 'max', prokind => 'a', proisstrict => 'f', 6247 prorettype => 'interval', proargtypes => 'interval', 6248 prosrc => 'aggregate_dummy' }, 6249{ oid => '2129', descr => 'maximum value of all text input values', 6250 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'text', 6251 proargtypes => 'text', prosrc => 'aggregate_dummy' }, 6252{ oid => '2130', descr => 'maximum value of all numeric input values', 6253 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'numeric', 6254 proargtypes => 'numeric', prosrc => 'aggregate_dummy' }, 6255{ oid => '2050', descr => 'maximum value of all anyarray input values', 6256 proname => 'max', prokind => 'a', proisstrict => 'f', 6257 prorettype => 'anyarray', proargtypes => 'anyarray', 6258 prosrc => 'aggregate_dummy' }, 6259{ oid => '2244', descr => 'maximum value of all bpchar input values', 6260 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'bpchar', 6261 proargtypes => 'bpchar', prosrc => 'aggregate_dummy' }, 6262{ oid => '2797', descr => 'maximum value of all tid input values', 6263 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'tid', 6264 proargtypes => 'tid', prosrc => 'aggregate_dummy' }, 6265{ oid => '3564', descr => 'maximum value of all inet input values', 6266 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'inet', 6267 proargtypes => 'inet', prosrc => 'aggregate_dummy' }, 6268 6269{ oid => '2131', descr => 'minimum value of all bigint input values', 6270 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'int8', 6271 proargtypes => 'int8', prosrc => 'aggregate_dummy' }, 6272{ oid => '2132', descr => 'minimum value of all integer input values', 6273 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'int4', 6274 proargtypes => 'int4', prosrc => 'aggregate_dummy' }, 6275{ oid => '2133', descr => 'minimum value of all smallint input values', 6276 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'int2', 6277 proargtypes => 'int2', prosrc => 'aggregate_dummy' }, 6278{ oid => '2134', descr => 'minimum value of all oid input values', 6279 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'oid', 6280 proargtypes => 'oid', prosrc => 'aggregate_dummy' }, 6281{ oid => '2135', descr => 'minimum value of all float4 input values', 6282 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'float4', 6283 proargtypes => 'float4', prosrc => 'aggregate_dummy' }, 6284{ oid => '2136', descr => 'minimum value of all float8 input values', 6285 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'float8', 6286 proargtypes => 'float8', prosrc => 'aggregate_dummy' }, 6287{ oid => '2137', descr => 'minimum value of all abstime input values', 6288 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'abstime', 6289 proargtypes => 'abstime', prosrc => 'aggregate_dummy' }, 6290{ oid => '2138', descr => 'minimum value of all date input values', 6291 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'date', 6292 proargtypes => 'date', prosrc => 'aggregate_dummy' }, 6293{ oid => '2139', descr => 'minimum value of all time input values', 6294 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'time', 6295 proargtypes => 'time', prosrc => 'aggregate_dummy' }, 6296{ oid => '2140', 6297 descr => 'minimum value of all time with time zone input values', 6298 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'timetz', 6299 proargtypes => 'timetz', prosrc => 'aggregate_dummy' }, 6300{ oid => '2141', descr => 'minimum value of all money input values', 6301 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'money', 6302 proargtypes => 'money', prosrc => 'aggregate_dummy' }, 6303{ oid => '2142', descr => 'minimum value of all timestamp input values', 6304 proname => 'min', prokind => 'a', proisstrict => 'f', 6305 prorettype => 'timestamp', proargtypes => 'timestamp', 6306 prosrc => 'aggregate_dummy' }, 6307{ oid => '2143', 6308 descr => 'minimum value of all timestamp with time zone input values', 6309 proname => 'min', prokind => 'a', proisstrict => 'f', 6310 prorettype => 'timestamptz', proargtypes => 'timestamptz', 6311 prosrc => 'aggregate_dummy' }, 6312{ oid => '2144', descr => 'minimum value of all interval input values', 6313 proname => 'min', prokind => 'a', proisstrict => 'f', 6314 prorettype => 'interval', proargtypes => 'interval', 6315 prosrc => 'aggregate_dummy' }, 6316{ oid => '2145', descr => 'minimum value of all text values', 6317 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'text', 6318 proargtypes => 'text', prosrc => 'aggregate_dummy' }, 6319{ oid => '2146', descr => 'minimum value of all numeric input values', 6320 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'numeric', 6321 proargtypes => 'numeric', prosrc => 'aggregate_dummy' }, 6322{ oid => '2051', descr => 'minimum value of all anyarray input values', 6323 proname => 'min', prokind => 'a', proisstrict => 'f', 6324 prorettype => 'anyarray', proargtypes => 'anyarray', 6325 prosrc => 'aggregate_dummy' }, 6326{ oid => '2245', descr => 'minimum value of all bpchar input values', 6327 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'bpchar', 6328 proargtypes => 'bpchar', prosrc => 'aggregate_dummy' }, 6329{ oid => '2798', descr => 'minimum value of all tid input values', 6330 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'tid', 6331 proargtypes => 'tid', prosrc => 'aggregate_dummy' }, 6332{ oid => '3565', descr => 'minimum value of all inet input values', 6333 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'inet', 6334 proargtypes => 'inet', prosrc => 'aggregate_dummy' }, 6335 6336# count has two forms: count(any) and count(*) 6337{ oid => '2147', 6338 descr => 'number of input rows for which the input expression is not null', 6339 proname => 'count', prokind => 'a', proisstrict => 'f', prorettype => 'int8', 6340 proargtypes => 'any', prosrc => 'aggregate_dummy' }, 6341{ oid => '2803', descr => 'number of input rows', 6342 proname => 'count', prokind => 'a', proisstrict => 'f', prorettype => 'int8', 6343 proargtypes => '', prosrc => 'aggregate_dummy' }, 6344 6345{ oid => '2718', 6346 descr => 'population variance of bigint input values (square of the population standard deviation)', 6347 proname => 'var_pop', prokind => 'a', proisstrict => 'f', 6348 prorettype => 'numeric', proargtypes => 'int8', prosrc => 'aggregate_dummy' }, 6349{ oid => '2719', 6350 descr => 'population variance of integer input values (square of the population standard deviation)', 6351 proname => 'var_pop', prokind => 'a', proisstrict => 'f', 6352 prorettype => 'numeric', proargtypes => 'int4', prosrc => 'aggregate_dummy' }, 6353{ oid => '2720', 6354 descr => 'population variance of smallint input values (square of the population standard deviation)', 6355 proname => 'var_pop', prokind => 'a', proisstrict => 'f', 6356 prorettype => 'numeric', proargtypes => 'int2', prosrc => 'aggregate_dummy' }, 6357{ oid => '2721', 6358 descr => 'population variance of float4 input values (square of the population standard deviation)', 6359 proname => 'var_pop', prokind => 'a', proisstrict => 'f', 6360 prorettype => 'float8', proargtypes => 'float4', 6361 prosrc => 'aggregate_dummy' }, 6362{ oid => '2722', 6363 descr => 'population variance of float8 input values (square of the population standard deviation)', 6364 proname => 'var_pop', prokind => 'a', proisstrict => 'f', 6365 prorettype => 'float8', proargtypes => 'float8', 6366 prosrc => 'aggregate_dummy' }, 6367{ oid => '2723', 6368 descr => 'population variance of numeric input values (square of the population standard deviation)', 6369 proname => 'var_pop', prokind => 'a', proisstrict => 'f', 6370 prorettype => 'numeric', proargtypes => 'numeric', 6371 prosrc => 'aggregate_dummy' }, 6372 6373{ oid => '2641', 6374 descr => 'sample variance of bigint input values (square of the sample standard deviation)', 6375 proname => 'var_samp', prokind => 'a', proisstrict => 'f', 6376 prorettype => 'numeric', proargtypes => 'int8', prosrc => 'aggregate_dummy' }, 6377{ oid => '2642', 6378 descr => 'sample variance of integer input values (square of the sample standard deviation)', 6379 proname => 'var_samp', prokind => 'a', proisstrict => 'f', 6380 prorettype => 'numeric', proargtypes => 'int4', prosrc => 'aggregate_dummy' }, 6381{ oid => '2643', 6382 descr => 'sample variance of smallint input values (square of the sample standard deviation)', 6383 proname => 'var_samp', prokind => 'a', proisstrict => 'f', 6384 prorettype => 'numeric', proargtypes => 'int2', prosrc => 'aggregate_dummy' }, 6385{ oid => '2644', 6386 descr => 'sample variance of float4 input values (square of the sample standard deviation)', 6387 proname => 'var_samp', prokind => 'a', proisstrict => 'f', 6388 prorettype => 'float8', proargtypes => 'float4', 6389 prosrc => 'aggregate_dummy' }, 6390 6391{ oid => '2645', 6392 descr => 'sample variance of float8 input values (square of the sample standard deviation)', 6393 proname => 'var_samp', prokind => 'a', proisstrict => 'f', 6394 prorettype => 'float8', proargtypes => 'float8', 6395 prosrc => 'aggregate_dummy' }, 6396{ oid => '2646', 6397 descr => 'sample variance of numeric input values (square of the sample standard deviation)', 6398 proname => 'var_samp', prokind => 'a', proisstrict => 'f', 6399 prorettype => 'numeric', proargtypes => 'numeric', 6400 prosrc => 'aggregate_dummy' }, 6401 6402{ oid => '2148', descr => 'historical alias for var_samp', 6403 proname => 'variance', prokind => 'a', proisstrict => 'f', 6404 prorettype => 'numeric', proargtypes => 'int8', prosrc => 'aggregate_dummy' }, 6405{ oid => '2149', descr => 'historical alias for var_samp', 6406 proname => 'variance', prokind => 'a', proisstrict => 'f', 6407 prorettype => 'numeric', proargtypes => 'int4', prosrc => 'aggregate_dummy' }, 6408{ oid => '2150', descr => 'historical alias for var_samp', 6409 proname => 'variance', prokind => 'a', proisstrict => 'f', 6410 prorettype => 'numeric', proargtypes => 'int2', prosrc => 'aggregate_dummy' }, 6411{ oid => '2151', descr => 'historical alias for var_samp', 6412 proname => 'variance', prokind => 'a', proisstrict => 'f', 6413 prorettype => 'float8', proargtypes => 'float4', 6414 prosrc => 'aggregate_dummy' }, 6415{ oid => '2152', descr => 'historical alias for var_samp', 6416 proname => 'variance', prokind => 'a', proisstrict => 'f', 6417 prorettype => 'float8', proargtypes => 'float8', 6418 prosrc => 'aggregate_dummy' }, 6419{ oid => '2153', descr => 'historical alias for var_samp', 6420 proname => 'variance', prokind => 'a', proisstrict => 'f', 6421 prorettype => 'numeric', proargtypes => 'numeric', 6422 prosrc => 'aggregate_dummy' }, 6423 6424{ oid => '2724', 6425 descr => 'population standard deviation of bigint input values', 6426 proname => 'stddev_pop', prokind => 'a', proisstrict => 'f', 6427 prorettype => 'numeric', proargtypes => 'int8', prosrc => 'aggregate_dummy' }, 6428{ oid => '2725', 6429 descr => 'population standard deviation of integer input values', 6430 proname => 'stddev_pop', prokind => 'a', proisstrict => 'f', 6431 prorettype => 'numeric', proargtypes => 'int4', prosrc => 'aggregate_dummy' }, 6432{ oid => '2726', 6433 descr => 'population standard deviation of smallint input values', 6434 proname => 'stddev_pop', prokind => 'a', proisstrict => 'f', 6435 prorettype => 'numeric', proargtypes => 'int2', prosrc => 'aggregate_dummy' }, 6436{ oid => '2727', 6437 descr => 'population standard deviation of float4 input values', 6438 proname => 'stddev_pop', prokind => 'a', proisstrict => 'f', 6439 prorettype => 'float8', proargtypes => 'float4', 6440 prosrc => 'aggregate_dummy' }, 6441{ oid => '2728', 6442 descr => 'population standard deviation of float8 input values', 6443 proname => 'stddev_pop', prokind => 'a', proisstrict => 'f', 6444 prorettype => 'float8', proargtypes => 'float8', 6445 prosrc => 'aggregate_dummy' }, 6446{ oid => '2729', 6447 descr => 'population standard deviation of numeric input values', 6448 proname => 'stddev_pop', prokind => 'a', proisstrict => 'f', 6449 prorettype => 'numeric', proargtypes => 'numeric', 6450 prosrc => 'aggregate_dummy' }, 6451 6452{ oid => '2712', descr => 'sample standard deviation of bigint input values', 6453 proname => 'stddev_samp', prokind => 'a', proisstrict => 'f', 6454 prorettype => 'numeric', proargtypes => 'int8', prosrc => 'aggregate_dummy' }, 6455{ oid => '2713', descr => 'sample standard deviation of integer input values', 6456 proname => 'stddev_samp', prokind => 'a', proisstrict => 'f', 6457 prorettype => 'numeric', proargtypes => 'int4', prosrc => 'aggregate_dummy' }, 6458{ oid => '2714', 6459 descr => 'sample standard deviation of smallint input values', 6460 proname => 'stddev_samp', prokind => 'a', proisstrict => 'f', 6461 prorettype => 'numeric', proargtypes => 'int2', prosrc => 'aggregate_dummy' }, 6462{ oid => '2715', descr => 'sample standard deviation of float4 input values', 6463 proname => 'stddev_samp', prokind => 'a', proisstrict => 'f', 6464 prorettype => 'float8', proargtypes => 'float4', 6465 prosrc => 'aggregate_dummy' }, 6466{ oid => '2716', descr => 'sample standard deviation of float8 input values', 6467 proname => 'stddev_samp', prokind => 'a', proisstrict => 'f', 6468 prorettype => 'float8', proargtypes => 'float8', 6469 prosrc => 'aggregate_dummy' }, 6470{ oid => '2717', descr => 'sample standard deviation of numeric input values', 6471 proname => 'stddev_samp', prokind => 'a', proisstrict => 'f', 6472 prorettype => 'numeric', proargtypes => 'numeric', 6473 prosrc => 'aggregate_dummy' }, 6474 6475{ oid => '2154', descr => 'historical alias for stddev_samp', 6476 proname => 'stddev', prokind => 'a', proisstrict => 'f', 6477 prorettype => 'numeric', proargtypes => 'int8', prosrc => 'aggregate_dummy' }, 6478{ oid => '2155', descr => 'historical alias for stddev_samp', 6479 proname => 'stddev', prokind => 'a', proisstrict => 'f', 6480 prorettype => 'numeric', proargtypes => 'int4', prosrc => 'aggregate_dummy' }, 6481{ oid => '2156', descr => 'historical alias for stddev_samp', 6482 proname => 'stddev', prokind => 'a', proisstrict => 'f', 6483 prorettype => 'numeric', proargtypes => 'int2', prosrc => 'aggregate_dummy' }, 6484{ oid => '2157', descr => 'historical alias for stddev_samp', 6485 proname => 'stddev', prokind => 'a', proisstrict => 'f', 6486 prorettype => 'float8', proargtypes => 'float4', 6487 prosrc => 'aggregate_dummy' }, 6488{ oid => '2158', descr => 'historical alias for stddev_samp', 6489 proname => 'stddev', prokind => 'a', proisstrict => 'f', 6490 prorettype => 'float8', proargtypes => 'float8', 6491 prosrc => 'aggregate_dummy' }, 6492{ oid => '2159', descr => 'historical alias for stddev_samp', 6493 proname => 'stddev', prokind => 'a', proisstrict => 'f', 6494 prorettype => 'numeric', proargtypes => 'numeric', 6495 prosrc => 'aggregate_dummy' }, 6496 6497{ oid => '2818', 6498 descr => 'number of input rows in which both expressions are not null', 6499 proname => 'regr_count', prokind => 'a', proisstrict => 'f', 6500 prorettype => 'int8', proargtypes => 'float8 float8', 6501 prosrc => 'aggregate_dummy' }, 6502{ oid => '2819', 6503 descr => 'sum of squares of the independent variable (sum(X^2) - sum(X)^2/N)', 6504 proname => 'regr_sxx', prokind => 'a', proisstrict => 'f', 6505 prorettype => 'float8', proargtypes => 'float8 float8', 6506 prosrc => 'aggregate_dummy' }, 6507{ oid => '2820', 6508 descr => 'sum of squares of the dependent variable (sum(Y^2) - sum(Y)^2/N)', 6509 proname => 'regr_syy', prokind => 'a', proisstrict => 'f', 6510 prorettype => 'float8', proargtypes => 'float8 float8', 6511 prosrc => 'aggregate_dummy' }, 6512{ oid => '2821', 6513 descr => 'sum of products of independent times dependent variable (sum(X*Y) - sum(X) * sum(Y)/N)', 6514 proname => 'regr_sxy', prokind => 'a', proisstrict => 'f', 6515 prorettype => 'float8', proargtypes => 'float8 float8', 6516 prosrc => 'aggregate_dummy' }, 6517{ oid => '2822', descr => 'average of the independent variable (sum(X)/N)', 6518 proname => 'regr_avgx', prokind => 'a', proisstrict => 'f', 6519 prorettype => 'float8', proargtypes => 'float8 float8', 6520 prosrc => 'aggregate_dummy' }, 6521{ oid => '2823', descr => 'average of the dependent variable (sum(Y)/N)', 6522 proname => 'regr_avgy', prokind => 'a', proisstrict => 'f', 6523 prorettype => 'float8', proargtypes => 'float8 float8', 6524 prosrc => 'aggregate_dummy' }, 6525{ oid => '2824', descr => 'square of the correlation coefficient', 6526 proname => 'regr_r2', prokind => 'a', proisstrict => 'f', 6527 prorettype => 'float8', proargtypes => 'float8 float8', 6528 prosrc => 'aggregate_dummy' }, 6529{ oid => '2825', 6530 descr => 'slope of the least-squares-fit linear equation determined by the (X, Y) pairs', 6531 proname => 'regr_slope', prokind => 'a', proisstrict => 'f', 6532 prorettype => 'float8', proargtypes => 'float8 float8', 6533 prosrc => 'aggregate_dummy' }, 6534{ oid => '2826', 6535 descr => 'y-intercept of the least-squares-fit linear equation determined by the (X, Y) pairs', 6536 proname => 'regr_intercept', prokind => 'a', proisstrict => 'f', 6537 prorettype => 'float8', proargtypes => 'float8 float8', 6538 prosrc => 'aggregate_dummy' }, 6539 6540{ oid => '2827', descr => 'population covariance', 6541 proname => 'covar_pop', prokind => 'a', proisstrict => 'f', 6542 prorettype => 'float8', proargtypes => 'float8 float8', 6543 prosrc => 'aggregate_dummy' }, 6544{ oid => '2828', descr => 'sample covariance', 6545 proname => 'covar_samp', prokind => 'a', proisstrict => 'f', 6546 prorettype => 'float8', proargtypes => 'float8 float8', 6547 prosrc => 'aggregate_dummy' }, 6548{ oid => '2829', descr => 'correlation coefficient', 6549 proname => 'corr', prokind => 'a', proisstrict => 'f', prorettype => 'float8', 6550 proargtypes => 'float8 float8', prosrc => 'aggregate_dummy' }, 6551 6552{ oid => '2160', 6553 proname => 'text_pattern_lt', prorettype => 'bool', 6554 proargtypes => 'text text', prosrc => 'text_pattern_lt' }, 6555{ oid => '2161', 6556 proname => 'text_pattern_le', prorettype => 'bool', 6557 proargtypes => 'text text', prosrc => 'text_pattern_le' }, 6558{ oid => '2163', 6559 proname => 'text_pattern_ge', prorettype => 'bool', 6560 proargtypes => 'text text', prosrc => 'text_pattern_ge' }, 6561{ oid => '2164', 6562 proname => 'text_pattern_gt', prorettype => 'bool', 6563 proargtypes => 'text text', prosrc => 'text_pattern_gt' }, 6564{ oid => '2166', descr => 'less-equal-greater', 6565 proname => 'bttext_pattern_cmp', prorettype => 'int4', 6566 proargtypes => 'text text', prosrc => 'bttext_pattern_cmp' }, 6567{ oid => '3332', descr => 'sort support', 6568 proname => 'bttext_pattern_sortsupport', prorettype => 'void', 6569 proargtypes => 'internal', prosrc => 'bttext_pattern_sortsupport' }, 6570 6571{ oid => '2174', 6572 proname => 'bpchar_pattern_lt', prorettype => 'bool', 6573 proargtypes => 'bpchar bpchar', prosrc => 'bpchar_pattern_lt' }, 6574{ oid => '2175', 6575 proname => 'bpchar_pattern_le', prorettype => 'bool', 6576 proargtypes => 'bpchar bpchar', prosrc => 'bpchar_pattern_le' }, 6577{ oid => '2177', 6578 proname => 'bpchar_pattern_ge', prorettype => 'bool', 6579 proargtypes => 'bpchar bpchar', prosrc => 'bpchar_pattern_ge' }, 6580{ oid => '2178', 6581 proname => 'bpchar_pattern_gt', prorettype => 'bool', 6582 proargtypes => 'bpchar bpchar', prosrc => 'bpchar_pattern_gt' }, 6583{ oid => '2180', descr => 'less-equal-greater', 6584 proname => 'btbpchar_pattern_cmp', prorettype => 'int4', 6585 proargtypes => 'bpchar bpchar', prosrc => 'btbpchar_pattern_cmp' }, 6586{ oid => '3333', descr => 'sort support', 6587 proname => 'btbpchar_pattern_sortsupport', prorettype => 'void', 6588 proargtypes => 'internal', prosrc => 'btbpchar_pattern_sortsupport' }, 6589 6590{ oid => '2188', descr => 'less-equal-greater', 6591 proname => 'btint48cmp', prorettype => 'int4', proargtypes => 'int4 int8', 6592 prosrc => 'btint48cmp' }, 6593{ oid => '2189', descr => 'less-equal-greater', 6594 proname => 'btint84cmp', prorettype => 'int4', proargtypes => 'int8 int4', 6595 prosrc => 'btint84cmp' }, 6596{ oid => '2190', descr => 'less-equal-greater', 6597 proname => 'btint24cmp', prorettype => 'int4', proargtypes => 'int2 int4', 6598 prosrc => 'btint24cmp' }, 6599{ oid => '2191', descr => 'less-equal-greater', 6600 proname => 'btint42cmp', prorettype => 'int4', proargtypes => 'int4 int2', 6601 prosrc => 'btint42cmp' }, 6602{ oid => '2192', descr => 'less-equal-greater', 6603 proname => 'btint28cmp', prorettype => 'int4', proargtypes => 'int2 int8', 6604 prosrc => 'btint28cmp' }, 6605{ oid => '2193', descr => 'less-equal-greater', 6606 proname => 'btint82cmp', prorettype => 'int4', proargtypes => 'int8 int2', 6607 prosrc => 'btint82cmp' }, 6608{ oid => '2194', descr => 'less-equal-greater', 6609 proname => 'btfloat48cmp', prorettype => 'int4', 6610 proargtypes => 'float4 float8', prosrc => 'btfloat48cmp' }, 6611{ oid => '2195', descr => 'less-equal-greater', 6612 proname => 'btfloat84cmp', prorettype => 'int4', 6613 proargtypes => 'float8 float4', prosrc => 'btfloat84cmp' }, 6614 6615{ oid => '2212', descr => 'I/O', 6616 proname => 'regprocedurein', provolatile => 's', prorettype => 'regprocedure', 6617 proargtypes => 'cstring', prosrc => 'regprocedurein' }, 6618{ oid => '2213', descr => 'I/O', 6619 proname => 'regprocedureout', provolatile => 's', prorettype => 'cstring', 6620 proargtypes => 'regprocedure', prosrc => 'regprocedureout' }, 6621{ oid => '2214', descr => 'I/O', 6622 proname => 'regoperin', provolatile => 's', prorettype => 'regoper', 6623 proargtypes => 'cstring', prosrc => 'regoperin' }, 6624{ oid => '2215', descr => 'I/O', 6625 proname => 'regoperout', provolatile => 's', prorettype => 'cstring', 6626 proargtypes => 'regoper', prosrc => 'regoperout' }, 6627{ oid => '3492', descr => 'convert operator name to regoper', 6628 proname => 'to_regoper', provolatile => 's', prorettype => 'regoper', 6629 proargtypes => 'text', prosrc => 'to_regoper' }, 6630{ oid => '3476', descr => 'convert operator name to regoperator', 6631 proname => 'to_regoperator', provolatile => 's', prorettype => 'regoperator', 6632 proargtypes => 'text', prosrc => 'to_regoperator' }, 6633{ oid => '2216', descr => 'I/O', 6634 proname => 'regoperatorin', provolatile => 's', prorettype => 'regoperator', 6635 proargtypes => 'cstring', prosrc => 'regoperatorin' }, 6636{ oid => '2217', descr => 'I/O', 6637 proname => 'regoperatorout', provolatile => 's', prorettype => 'cstring', 6638 proargtypes => 'regoperator', prosrc => 'regoperatorout' }, 6639{ oid => '2218', descr => 'I/O', 6640 proname => 'regclassin', provolatile => 's', prorettype => 'regclass', 6641 proargtypes => 'cstring', prosrc => 'regclassin' }, 6642{ oid => '2219', descr => 'I/O', 6643 proname => 'regclassout', provolatile => 's', prorettype => 'cstring', 6644 proargtypes => 'regclass', prosrc => 'regclassout' }, 6645{ oid => '3495', descr => 'convert classname to regclass', 6646 proname => 'to_regclass', provolatile => 's', prorettype => 'regclass', 6647 proargtypes => 'text', prosrc => 'to_regclass' }, 6648{ oid => '2220', descr => 'I/O', 6649 proname => 'regtypein', provolatile => 's', prorettype => 'regtype', 6650 proargtypes => 'cstring', prosrc => 'regtypein' }, 6651{ oid => '2221', descr => 'I/O', 6652 proname => 'regtypeout', provolatile => 's', prorettype => 'cstring', 6653 proargtypes => 'regtype', prosrc => 'regtypeout' }, 6654{ oid => '3493', descr => 'convert type name to regtype', 6655 proname => 'to_regtype', provolatile => 's', prorettype => 'regtype', 6656 proargtypes => 'text', prosrc => 'to_regtype' }, 6657{ oid => '1079', descr => 'convert text to regclass', 6658 proname => 'regclass', provolatile => 's', prorettype => 'regclass', 6659 proargtypes => 'text', prosrc => 'text_regclass' }, 6660 6661{ oid => '4098', descr => 'I/O', 6662 proname => 'regrolein', provolatile => 's', prorettype => 'regrole', 6663 proargtypes => 'cstring', prosrc => 'regrolein' }, 6664{ oid => '4092', descr => 'I/O', 6665 proname => 'regroleout', provolatile => 's', prorettype => 'cstring', 6666 proargtypes => 'regrole', prosrc => 'regroleout' }, 6667{ oid => '4093', descr => 'convert role name to regrole', 6668 proname => 'to_regrole', provolatile => 's', prorettype => 'regrole', 6669 proargtypes => 'text', prosrc => 'to_regrole' }, 6670 6671{ oid => '4084', descr => 'I/O', 6672 proname => 'regnamespacein', provolatile => 's', prorettype => 'regnamespace', 6673 proargtypes => 'cstring', prosrc => 'regnamespacein' }, 6674{ oid => '4085', descr => 'I/O', 6675 proname => 'regnamespaceout', provolatile => 's', prorettype => 'cstring', 6676 proargtypes => 'regnamespace', prosrc => 'regnamespaceout' }, 6677{ oid => '4086', descr => 'convert namespace name to regnamespace', 6678 proname => 'to_regnamespace', provolatile => 's', 6679 prorettype => 'regnamespace', proargtypes => 'text', 6680 prosrc => 'to_regnamespace' }, 6681 6682{ oid => '1268', 6683 descr => 'parse qualified identifier to array of identifiers', 6684 proname => 'parse_ident', prorettype => '_text', proargtypes => 'text bool', 6685 proargnames => '{str,strict}', prosrc => 'parse_ident' }, 6686 6687{ oid => '2246', descr => '(internal)', 6688 proname => 'fmgr_internal_validator', provolatile => 's', 6689 prorettype => 'void', proargtypes => 'oid', 6690 prosrc => 'fmgr_internal_validator' }, 6691{ oid => '2247', descr => '(internal)', 6692 proname => 'fmgr_c_validator', provolatile => 's', prorettype => 'void', 6693 proargtypes => 'oid', prosrc => 'fmgr_c_validator' }, 6694{ oid => '2248', descr => '(internal)', 6695 proname => 'fmgr_sql_validator', provolatile => 's', prorettype => 'void', 6696 proargtypes => 'oid', prosrc => 'fmgr_sql_validator' }, 6697 6698{ oid => '2250', 6699 descr => 'user privilege on database by username, database name', 6700 proname => 'has_database_privilege', provolatile => 's', prorettype => 'bool', 6701 proargtypes => 'name text text', 6702 prosrc => 'has_database_privilege_name_name' }, 6703{ oid => '2251', 6704 descr => 'user privilege on database by username, database oid', 6705 proname => 'has_database_privilege', provolatile => 's', prorettype => 'bool', 6706 proargtypes => 'name oid text', prosrc => 'has_database_privilege_name_id' }, 6707{ oid => '2252', 6708 descr => 'user privilege on database by user oid, database name', 6709 proname => 'has_database_privilege', provolatile => 's', prorettype => 'bool', 6710 proargtypes => 'oid text text', prosrc => 'has_database_privilege_id_name' }, 6711{ oid => '2253', 6712 descr => 'user privilege on database by user oid, database oid', 6713 proname => 'has_database_privilege', provolatile => 's', prorettype => 'bool', 6714 proargtypes => 'oid oid text', prosrc => 'has_database_privilege_id_id' }, 6715{ oid => '2254', 6716 descr => 'current user privilege on database by database name', 6717 proname => 'has_database_privilege', provolatile => 's', prorettype => 'bool', 6718 proargtypes => 'text text', prosrc => 'has_database_privilege_name' }, 6719{ oid => '2255', 6720 descr => 'current user privilege on database by database oid', 6721 proname => 'has_database_privilege', provolatile => 's', prorettype => 'bool', 6722 proargtypes => 'oid text', prosrc => 'has_database_privilege_id' }, 6723 6724{ oid => '2256', 6725 descr => 'user privilege on function by username, function name', 6726 proname => 'has_function_privilege', provolatile => 's', prorettype => 'bool', 6727 proargtypes => 'name text text', 6728 prosrc => 'has_function_privilege_name_name' }, 6729{ oid => '2257', 6730 descr => 'user privilege on function by username, function oid', 6731 proname => 'has_function_privilege', provolatile => 's', prorettype => 'bool', 6732 proargtypes => 'name oid text', prosrc => 'has_function_privilege_name_id' }, 6733{ oid => '2258', 6734 descr => 'user privilege on function by user oid, function name', 6735 proname => 'has_function_privilege', provolatile => 's', prorettype => 'bool', 6736 proargtypes => 'oid text text', prosrc => 'has_function_privilege_id_name' }, 6737{ oid => '2259', 6738 descr => 'user privilege on function by user oid, function oid', 6739 proname => 'has_function_privilege', provolatile => 's', prorettype => 'bool', 6740 proargtypes => 'oid oid text', prosrc => 'has_function_privilege_id_id' }, 6741{ oid => '2260', 6742 descr => 'current user privilege on function by function name', 6743 proname => 'has_function_privilege', provolatile => 's', prorettype => 'bool', 6744 proargtypes => 'text text', prosrc => 'has_function_privilege_name' }, 6745{ oid => '2261', 6746 descr => 'current user privilege on function by function oid', 6747 proname => 'has_function_privilege', provolatile => 's', prorettype => 'bool', 6748 proargtypes => 'oid text', prosrc => 'has_function_privilege_id' }, 6749 6750{ oid => '2262', 6751 descr => 'user privilege on language by username, language name', 6752 proname => 'has_language_privilege', provolatile => 's', prorettype => 'bool', 6753 proargtypes => 'name text text', 6754 prosrc => 'has_language_privilege_name_name' }, 6755{ oid => '2263', 6756 descr => 'user privilege on language by username, language oid', 6757 proname => 'has_language_privilege', provolatile => 's', prorettype => 'bool', 6758 proargtypes => 'name oid text', prosrc => 'has_language_privilege_name_id' }, 6759{ oid => '2264', 6760 descr => 'user privilege on language by user oid, language name', 6761 proname => 'has_language_privilege', provolatile => 's', prorettype => 'bool', 6762 proargtypes => 'oid text text', prosrc => 'has_language_privilege_id_name' }, 6763{ oid => '2265', 6764 descr => 'user privilege on language by user oid, language oid', 6765 proname => 'has_language_privilege', provolatile => 's', prorettype => 'bool', 6766 proargtypes => 'oid oid text', prosrc => 'has_language_privilege_id_id' }, 6767{ oid => '2266', 6768 descr => 'current user privilege on language by language name', 6769 proname => 'has_language_privilege', provolatile => 's', prorettype => 'bool', 6770 proargtypes => 'text text', prosrc => 'has_language_privilege_name' }, 6771{ oid => '2267', 6772 descr => 'current user privilege on language by language oid', 6773 proname => 'has_language_privilege', provolatile => 's', prorettype => 'bool', 6774 proargtypes => 'oid text', prosrc => 'has_language_privilege_id' }, 6775 6776{ oid => '2268', descr => 'user privilege on schema by username, schema name', 6777 proname => 'has_schema_privilege', provolatile => 's', prorettype => 'bool', 6778 proargtypes => 'name text text', prosrc => 'has_schema_privilege_name_name' }, 6779{ oid => '2269', descr => 'user privilege on schema by username, schema oid', 6780 proname => 'has_schema_privilege', provolatile => 's', prorettype => 'bool', 6781 proargtypes => 'name oid text', prosrc => 'has_schema_privilege_name_id' }, 6782{ oid => '2270', descr => 'user privilege on schema by user oid, schema name', 6783 proname => 'has_schema_privilege', provolatile => 's', prorettype => 'bool', 6784 proargtypes => 'oid text text', prosrc => 'has_schema_privilege_id_name' }, 6785{ oid => '2271', descr => 'user privilege on schema by user oid, schema oid', 6786 proname => 'has_schema_privilege', provolatile => 's', prorettype => 'bool', 6787 proargtypes => 'oid oid text', prosrc => 'has_schema_privilege_id_id' }, 6788{ oid => '2272', descr => 'current user privilege on schema by schema name', 6789 proname => 'has_schema_privilege', provolatile => 's', prorettype => 'bool', 6790 proargtypes => 'text text', prosrc => 'has_schema_privilege_name' }, 6791{ oid => '2273', descr => 'current user privilege on schema by schema oid', 6792 proname => 'has_schema_privilege', provolatile => 's', prorettype => 'bool', 6793 proargtypes => 'oid text', prosrc => 'has_schema_privilege_id' }, 6794 6795{ oid => '2390', 6796 descr => 'user privilege on tablespace by username, tablespace name', 6797 proname => 'has_tablespace_privilege', provolatile => 's', 6798 prorettype => 'bool', proargtypes => 'name text text', 6799 prosrc => 'has_tablespace_privilege_name_name' }, 6800{ oid => '2391', 6801 descr => 'user privilege on tablespace by username, tablespace oid', 6802 proname => 'has_tablespace_privilege', provolatile => 's', 6803 prorettype => 'bool', proargtypes => 'name oid text', 6804 prosrc => 'has_tablespace_privilege_name_id' }, 6805{ oid => '2392', 6806 descr => 'user privilege on tablespace by user oid, tablespace name', 6807 proname => 'has_tablespace_privilege', provolatile => 's', 6808 prorettype => 'bool', proargtypes => 'oid text text', 6809 prosrc => 'has_tablespace_privilege_id_name' }, 6810{ oid => '2393', 6811 descr => 'user privilege on tablespace by user oid, tablespace oid', 6812 proname => 'has_tablespace_privilege', provolatile => 's', 6813 prorettype => 'bool', proargtypes => 'oid oid text', 6814 prosrc => 'has_tablespace_privilege_id_id' }, 6815{ oid => '2394', 6816 descr => 'current user privilege on tablespace by tablespace name', 6817 proname => 'has_tablespace_privilege', provolatile => 's', 6818 prorettype => 'bool', proargtypes => 'text text', 6819 prosrc => 'has_tablespace_privilege_name' }, 6820{ oid => '2395', 6821 descr => 'current user privilege on tablespace by tablespace oid', 6822 proname => 'has_tablespace_privilege', provolatile => 's', 6823 prorettype => 'bool', proargtypes => 'oid text', 6824 prosrc => 'has_tablespace_privilege_id' }, 6825 6826{ oid => '3000', 6827 descr => 'user privilege on foreign data wrapper by username, foreign data wrapper name', 6828 proname => 'has_foreign_data_wrapper_privilege', provolatile => 's', 6829 prorettype => 'bool', proargtypes => 'name text text', 6830 prosrc => 'has_foreign_data_wrapper_privilege_name_name' }, 6831{ oid => '3001', 6832 descr => 'user privilege on foreign data wrapper by username, foreign data wrapper oid', 6833 proname => 'has_foreign_data_wrapper_privilege', provolatile => 's', 6834 prorettype => 'bool', proargtypes => 'name oid text', 6835 prosrc => 'has_foreign_data_wrapper_privilege_name_id' }, 6836{ oid => '3002', 6837 descr => 'user privilege on foreign data wrapper by user oid, foreign data wrapper name', 6838 proname => 'has_foreign_data_wrapper_privilege', provolatile => 's', 6839 prorettype => 'bool', proargtypes => 'oid text text', 6840 prosrc => 'has_foreign_data_wrapper_privilege_id_name' }, 6841{ oid => '3003', 6842 descr => 'user privilege on foreign data wrapper by user oid, foreign data wrapper oid', 6843 proname => 'has_foreign_data_wrapper_privilege', provolatile => 's', 6844 prorettype => 'bool', proargtypes => 'oid oid text', 6845 prosrc => 'has_foreign_data_wrapper_privilege_id_id' }, 6846{ oid => '3004', 6847 descr => 'current user privilege on foreign data wrapper by foreign data wrapper name', 6848 proname => 'has_foreign_data_wrapper_privilege', provolatile => 's', 6849 prorettype => 'bool', proargtypes => 'text text', 6850 prosrc => 'has_foreign_data_wrapper_privilege_name' }, 6851{ oid => '3005', 6852 descr => 'current user privilege on foreign data wrapper by foreign data wrapper oid', 6853 proname => 'has_foreign_data_wrapper_privilege', provolatile => 's', 6854 prorettype => 'bool', proargtypes => 'oid text', 6855 prosrc => 'has_foreign_data_wrapper_privilege_id' }, 6856 6857{ oid => '3006', descr => 'user privilege on server by username, server name', 6858 proname => 'has_server_privilege', provolatile => 's', prorettype => 'bool', 6859 proargtypes => 'name text text', prosrc => 'has_server_privilege_name_name' }, 6860{ oid => '3007', descr => 'user privilege on server by username, server oid', 6861 proname => 'has_server_privilege', provolatile => 's', prorettype => 'bool', 6862 proargtypes => 'name oid text', prosrc => 'has_server_privilege_name_id' }, 6863{ oid => '3008', descr => 'user privilege on server by user oid, server name', 6864 proname => 'has_server_privilege', provolatile => 's', prorettype => 'bool', 6865 proargtypes => 'oid text text', prosrc => 'has_server_privilege_id_name' }, 6866{ oid => '3009', descr => 'user privilege on server by user oid, server oid', 6867 proname => 'has_server_privilege', provolatile => 's', prorettype => 'bool', 6868 proargtypes => 'oid oid text', prosrc => 'has_server_privilege_id_id' }, 6869{ oid => '3010', descr => 'current user privilege on server by server name', 6870 proname => 'has_server_privilege', provolatile => 's', prorettype => 'bool', 6871 proargtypes => 'text text', prosrc => 'has_server_privilege_name' }, 6872{ oid => '3011', descr => 'current user privilege on server by server oid', 6873 proname => 'has_server_privilege', provolatile => 's', prorettype => 'bool', 6874 proargtypes => 'oid text', prosrc => 'has_server_privilege_id' }, 6875 6876{ oid => '3138', descr => 'user privilege on type by username, type name', 6877 proname => 'has_type_privilege', provolatile => 's', prorettype => 'bool', 6878 proargtypes => 'name text text', prosrc => 'has_type_privilege_name_name' }, 6879{ oid => '3139', descr => 'user privilege on type by username, type oid', 6880 proname => 'has_type_privilege', provolatile => 's', prorettype => 'bool', 6881 proargtypes => 'name oid text', prosrc => 'has_type_privilege_name_id' }, 6882{ oid => '3140', descr => 'user privilege on type by user oid, type name', 6883 proname => 'has_type_privilege', provolatile => 's', prorettype => 'bool', 6884 proargtypes => 'oid text text', prosrc => 'has_type_privilege_id_name' }, 6885{ oid => '3141', descr => 'user privilege on type by user oid, type oid', 6886 proname => 'has_type_privilege', provolatile => 's', prorettype => 'bool', 6887 proargtypes => 'oid oid text', prosrc => 'has_type_privilege_id_id' }, 6888{ oid => '3142', descr => 'current user privilege on type by type name', 6889 proname => 'has_type_privilege', provolatile => 's', prorettype => 'bool', 6890 proargtypes => 'text text', prosrc => 'has_type_privilege_name' }, 6891{ oid => '3143', descr => 'current user privilege on type by type oid', 6892 proname => 'has_type_privilege', provolatile => 's', prorettype => 'bool', 6893 proargtypes => 'oid text', prosrc => 'has_type_privilege_id' }, 6894 6895{ oid => '2705', descr => 'user privilege on role by username, role name', 6896 proname => 'pg_has_role', provolatile => 's', prorettype => 'bool', 6897 proargtypes => 'name name text', prosrc => 'pg_has_role_name_name' }, 6898{ oid => '2706', descr => 'user privilege on role by username, role oid', 6899 proname => 'pg_has_role', provolatile => 's', prorettype => 'bool', 6900 proargtypes => 'name oid text', prosrc => 'pg_has_role_name_id' }, 6901{ oid => '2707', descr => 'user privilege on role by user oid, role name', 6902 proname => 'pg_has_role', provolatile => 's', prorettype => 'bool', 6903 proargtypes => 'oid name text', prosrc => 'pg_has_role_id_name' }, 6904{ oid => '2708', descr => 'user privilege on role by user oid, role oid', 6905 proname => 'pg_has_role', provolatile => 's', prorettype => 'bool', 6906 proargtypes => 'oid oid text', prosrc => 'pg_has_role_id_id' }, 6907{ oid => '2709', descr => 'current user privilege on role by role name', 6908 proname => 'pg_has_role', provolatile => 's', prorettype => 'bool', 6909 proargtypes => 'name text', prosrc => 'pg_has_role_name' }, 6910{ oid => '2710', descr => 'current user privilege on role by role oid', 6911 proname => 'pg_has_role', provolatile => 's', prorettype => 'bool', 6912 proargtypes => 'oid text', prosrc => 'pg_has_role_id' }, 6913 6914{ oid => '1269', 6915 descr => 'bytes required to store the value, perhaps with compression', 6916 proname => 'pg_column_size', provolatile => 's', prorettype => 'int4', 6917 proargtypes => 'any', prosrc => 'pg_column_size' }, 6918{ oid => '2322', 6919 descr => 'total disk space usage for the specified tablespace', 6920 proname => 'pg_tablespace_size', provolatile => 'v', prorettype => 'int8', 6921 proargtypes => 'oid', prosrc => 'pg_tablespace_size_oid' }, 6922{ oid => '2323', 6923 descr => 'total disk space usage for the specified tablespace', 6924 proname => 'pg_tablespace_size', provolatile => 'v', prorettype => 'int8', 6925 proargtypes => 'name', prosrc => 'pg_tablespace_size_name' }, 6926{ oid => '2324', descr => 'total disk space usage for the specified database', 6927 proname => 'pg_database_size', provolatile => 'v', prorettype => 'int8', 6928 proargtypes => 'oid', prosrc => 'pg_database_size_oid' }, 6929{ oid => '2168', descr => 'total disk space usage for the specified database', 6930 proname => 'pg_database_size', provolatile => 'v', prorettype => 'int8', 6931 proargtypes => 'name', prosrc => 'pg_database_size_name' }, 6932{ oid => '2325', 6933 descr => 'disk space usage for the main fork of the specified table or index', 6934 proname => 'pg_relation_size', prolang => '14', provolatile => 'v', 6935 prorettype => 'int8', proargtypes => 'regclass', 6936 prosrc => 'select pg_catalog.pg_relation_size($1, \'main\')' }, 6937{ oid => '2332', 6938 descr => 'disk space usage for the specified fork of a table or index', 6939 proname => 'pg_relation_size', provolatile => 'v', prorettype => 'int8', 6940 proargtypes => 'regclass text', prosrc => 'pg_relation_size' }, 6941{ oid => '2286', 6942 descr => 'total disk space usage for the specified table and associated indexes', 6943 proname => 'pg_total_relation_size', provolatile => 'v', prorettype => 'int8', 6944 proargtypes => 'regclass', prosrc => 'pg_total_relation_size' }, 6945{ oid => '2288', 6946 descr => 'convert a long int to a human readable text using size units', 6947 proname => 'pg_size_pretty', prorettype => 'text', proargtypes => 'int8', 6948 prosrc => 'pg_size_pretty' }, 6949{ oid => '3166', 6950 descr => 'convert a numeric to a human readable text using size units', 6951 proname => 'pg_size_pretty', prorettype => 'text', proargtypes => 'numeric', 6952 prosrc => 'pg_size_pretty_numeric' }, 6953{ oid => '3334', 6954 descr => 'convert a size in human-readable format with size units into bytes', 6955 proname => 'pg_size_bytes', prorettype => 'int8', proargtypes => 'text', 6956 prosrc => 'pg_size_bytes' }, 6957{ oid => '2997', 6958 descr => 'disk space usage for the specified table, including TOAST, free space and visibility map', 6959 proname => 'pg_table_size', provolatile => 'v', prorettype => 'int8', 6960 proargtypes => 'regclass', prosrc => 'pg_table_size' }, 6961{ oid => '2998', 6962 descr => 'disk space usage for all indexes attached to the specified table', 6963 proname => 'pg_indexes_size', provolatile => 'v', prorettype => 'int8', 6964 proargtypes => 'regclass', prosrc => 'pg_indexes_size' }, 6965{ oid => '2999', descr => 'filenode identifier of relation', 6966 proname => 'pg_relation_filenode', provolatile => 's', prorettype => 'oid', 6967 proargtypes => 'regclass', prosrc => 'pg_relation_filenode' }, 6968{ oid => '3454', descr => 'relation OID for filenode and tablespace', 6969 proname => 'pg_filenode_relation', provolatile => 's', 6970 prorettype => 'regclass', proargtypes => 'oid oid', 6971 prosrc => 'pg_filenode_relation' }, 6972{ oid => '3034', descr => 'file path of relation', 6973 proname => 'pg_relation_filepath', provolatile => 's', prorettype => 'text', 6974 proargtypes => 'regclass', prosrc => 'pg_relation_filepath' }, 6975 6976{ oid => '2316', descr => '(internal)', 6977 proname => 'postgresql_fdw_validator', prorettype => 'bool', 6978 proargtypes => '_text oid', prosrc => 'postgresql_fdw_validator' }, 6979 6980{ oid => '2290', descr => 'I/O', 6981 proname => 'record_in', provolatile => 's', prorettype => 'record', 6982 proargtypes => 'cstring oid int4', prosrc => 'record_in' }, 6983{ oid => '2291', descr => 'I/O', 6984 proname => 'record_out', provolatile => 's', prorettype => 'cstring', 6985 proargtypes => 'record', prosrc => 'record_out' }, 6986{ oid => '2292', descr => 'I/O', 6987 proname => 'cstring_in', prorettype => 'cstring', proargtypes => 'cstring', 6988 prosrc => 'cstring_in' }, 6989{ oid => '2293', descr => 'I/O', 6990 proname => 'cstring_out', prorettype => 'cstring', proargtypes => 'cstring', 6991 prosrc => 'cstring_out' }, 6992{ oid => '2294', descr => 'I/O', 6993 proname => 'any_in', prorettype => 'any', proargtypes => 'cstring', 6994 prosrc => 'any_in' }, 6995{ oid => '2295', descr => 'I/O', 6996 proname => 'any_out', prorettype => 'cstring', proargtypes => 'any', 6997 prosrc => 'any_out' }, 6998{ oid => '2296', descr => 'I/O', 6999 proname => 'anyarray_in', prorettype => 'anyarray', proargtypes => 'cstring', 7000 prosrc => 'anyarray_in' }, 7001{ oid => '2297', descr => 'I/O', 7002 proname => 'anyarray_out', provolatile => 's', prorettype => 'cstring', 7003 proargtypes => 'anyarray', prosrc => 'anyarray_out' }, 7004{ oid => '2298', descr => 'I/O', 7005 proname => 'void_in', prorettype => 'void', proargtypes => 'cstring', 7006 prosrc => 'void_in' }, 7007{ oid => '2299', descr => 'I/O', 7008 proname => 'void_out', prorettype => 'cstring', proargtypes => 'void', 7009 prosrc => 'void_out' }, 7010{ oid => '2300', descr => 'I/O', 7011 proname => 'trigger_in', proisstrict => 'f', prorettype => 'trigger', 7012 proargtypes => 'cstring', prosrc => 'trigger_in' }, 7013{ oid => '2301', descr => 'I/O', 7014 proname => 'trigger_out', prorettype => 'cstring', proargtypes => 'trigger', 7015 prosrc => 'trigger_out' }, 7016{ oid => '3594', descr => 'I/O', 7017 proname => 'event_trigger_in', proisstrict => 'f', 7018 prorettype => 'event_trigger', proargtypes => 'cstring', 7019 prosrc => 'event_trigger_in' }, 7020{ oid => '3595', descr => 'I/O', 7021 proname => 'event_trigger_out', prorettype => 'cstring', 7022 proargtypes => 'event_trigger', prosrc => 'event_trigger_out' }, 7023{ oid => '2302', descr => 'I/O', 7024 proname => 'language_handler_in', proisstrict => 'f', 7025 prorettype => 'language_handler', proargtypes => 'cstring', 7026 prosrc => 'language_handler_in' }, 7027{ oid => '2303', descr => 'I/O', 7028 proname => 'language_handler_out', prorettype => 'cstring', 7029 proargtypes => 'language_handler', prosrc => 'language_handler_out' }, 7030{ oid => '2304', descr => 'I/O', 7031 proname => 'internal_in', proisstrict => 'f', prorettype => 'internal', 7032 proargtypes => 'cstring', prosrc => 'internal_in' }, 7033{ oid => '2305', descr => 'I/O', 7034 proname => 'internal_out', prorettype => 'cstring', proargtypes => 'internal', 7035 prosrc => 'internal_out' }, 7036{ oid => '2306', descr => 'I/O', 7037 proname => 'opaque_in', proisstrict => 'f', prorettype => 'opaque', 7038 proargtypes => 'cstring', prosrc => 'opaque_in' }, 7039{ oid => '2307', descr => 'I/O', 7040 proname => 'opaque_out', prorettype => 'cstring', proargtypes => 'opaque', 7041 prosrc => 'opaque_out' }, 7042{ oid => '2312', descr => 'I/O', 7043 proname => 'anyelement_in', prorettype => 'anyelement', 7044 proargtypes => 'cstring', prosrc => 'anyelement_in' }, 7045{ oid => '2313', descr => 'I/O', 7046 proname => 'anyelement_out', prorettype => 'cstring', 7047 proargtypes => 'anyelement', prosrc => 'anyelement_out' }, 7048{ oid => '2398', descr => 'I/O', 7049 proname => 'shell_in', proisstrict => 'f', prorettype => 'opaque', 7050 proargtypes => 'cstring', prosrc => 'shell_in' }, 7051{ oid => '2399', descr => 'I/O', 7052 proname => 'shell_out', prorettype => 'cstring', proargtypes => 'opaque', 7053 prosrc => 'shell_out' }, 7054{ oid => '2597', descr => 'I/O', 7055 proname => 'domain_in', proisstrict => 'f', provolatile => 's', 7056 prorettype => 'any', proargtypes => 'cstring oid int4', 7057 prosrc => 'domain_in' }, 7058{ oid => '2598', descr => 'I/O', 7059 proname => 'domain_recv', proisstrict => 'f', provolatile => 's', 7060 prorettype => 'any', proargtypes => 'internal oid int4', 7061 prosrc => 'domain_recv' }, 7062{ oid => '2777', descr => 'I/O', 7063 proname => 'anynonarray_in', prorettype => 'anynonarray', 7064 proargtypes => 'cstring', prosrc => 'anynonarray_in' }, 7065{ oid => '2778', descr => 'I/O', 7066 proname => 'anynonarray_out', prorettype => 'cstring', 7067 proargtypes => 'anynonarray', prosrc => 'anynonarray_out' }, 7068{ oid => '3116', descr => 'I/O', 7069 proname => 'fdw_handler_in', proisstrict => 'f', prorettype => 'fdw_handler', 7070 proargtypes => 'cstring', prosrc => 'fdw_handler_in' }, 7071{ oid => '3117', descr => 'I/O', 7072 proname => 'fdw_handler_out', prorettype => 'cstring', 7073 proargtypes => 'fdw_handler', prosrc => 'fdw_handler_out' }, 7074{ oid => '326', descr => 'I/O', 7075 proname => 'index_am_handler_in', proisstrict => 'f', 7076 prorettype => 'index_am_handler', proargtypes => 'cstring', 7077 prosrc => 'index_am_handler_in' }, 7078{ oid => '327', descr => 'I/O', 7079 proname => 'index_am_handler_out', prorettype => 'cstring', 7080 proargtypes => 'index_am_handler', prosrc => 'index_am_handler_out' }, 7081{ oid => '3311', descr => 'I/O', 7082 proname => 'tsm_handler_in', proisstrict => 'f', prorettype => 'tsm_handler', 7083 proargtypes => 'cstring', prosrc => 'tsm_handler_in' }, 7084{ oid => '3312', descr => 'I/O', 7085 proname => 'tsm_handler_out', prorettype => 'cstring', 7086 proargtypes => 'tsm_handler', prosrc => 'tsm_handler_out' }, 7087 7088# tablesample method handlers 7089{ oid => '3313', descr => 'BERNOULLI tablesample method handler', 7090 proname => 'bernoulli', provolatile => 'v', prorettype => 'tsm_handler', 7091 proargtypes => 'internal', prosrc => 'tsm_bernoulli_handler' }, 7092{ oid => '3314', descr => 'SYSTEM tablesample method handler', 7093 proname => 'system', provolatile => 'v', prorettype => 'tsm_handler', 7094 proargtypes => 'internal', prosrc => 'tsm_system_handler' }, 7095 7096# cryptographic 7097{ oid => '2311', descr => 'MD5 hash', 7098 proname => 'md5', proleakproof => 't', prorettype => 'text', 7099 proargtypes => 'text', prosrc => 'md5_text' }, 7100{ oid => '2321', descr => 'MD5 hash', 7101 proname => 'md5', proleakproof => 't', prorettype => 'text', 7102 proargtypes => 'bytea', prosrc => 'md5_bytea' }, 7103{ oid => '3419', descr => 'SHA-224 hash', 7104 proname => 'sha224', proleakproof => 't', prorettype => 'bytea', 7105 proargtypes => 'bytea', prosrc => 'sha224_bytea' }, 7106{ oid => '3420', descr => 'SHA-256 hash', 7107 proname => 'sha256', proleakproof => 't', prorettype => 'bytea', 7108 proargtypes => 'bytea', prosrc => 'sha256_bytea' }, 7109{ oid => '3421', descr => 'SHA-384 hash', 7110 proname => 'sha384', proleakproof => 't', prorettype => 'bytea', 7111 proargtypes => 'bytea', prosrc => 'sha384_bytea' }, 7112{ oid => '3422', descr => 'SHA-512 hash', 7113 proname => 'sha512', proleakproof => 't', prorettype => 'bytea', 7114 proargtypes => 'bytea', prosrc => 'sha512_bytea' }, 7115 7116# crosstype operations for date vs. timestamp and timestamptz 7117{ oid => '2338', 7118 proname => 'date_lt_timestamp', prorettype => 'bool', 7119 proargtypes => 'date timestamp', prosrc => 'date_lt_timestamp' }, 7120{ oid => '2339', 7121 proname => 'date_le_timestamp', prorettype => 'bool', 7122 proargtypes => 'date timestamp', prosrc => 'date_le_timestamp' }, 7123{ oid => '2340', 7124 proname => 'date_eq_timestamp', prorettype => 'bool', 7125 proargtypes => 'date timestamp', prosrc => 'date_eq_timestamp' }, 7126{ oid => '2341', 7127 proname => 'date_gt_timestamp', prorettype => 'bool', 7128 proargtypes => 'date timestamp', prosrc => 'date_gt_timestamp' }, 7129{ oid => '2342', 7130 proname => 'date_ge_timestamp', prorettype => 'bool', 7131 proargtypes => 'date timestamp', prosrc => 'date_ge_timestamp' }, 7132{ oid => '2343', 7133 proname => 'date_ne_timestamp', prorettype => 'bool', 7134 proargtypes => 'date timestamp', prosrc => 'date_ne_timestamp' }, 7135{ oid => '2344', descr => 'less-equal-greater', 7136 proname => 'date_cmp_timestamp', prorettype => 'int4', 7137 proargtypes => 'date timestamp', prosrc => 'date_cmp_timestamp' }, 7138 7139{ oid => '2351', 7140 proname => 'date_lt_timestamptz', provolatile => 's', prorettype => 'bool', 7141 proargtypes => 'date timestamptz', prosrc => 'date_lt_timestamptz' }, 7142{ oid => '2352', 7143 proname => 'date_le_timestamptz', provolatile => 's', prorettype => 'bool', 7144 proargtypes => 'date timestamptz', prosrc => 'date_le_timestamptz' }, 7145{ oid => '2353', 7146 proname => 'date_eq_timestamptz', provolatile => 's', prorettype => 'bool', 7147 proargtypes => 'date timestamptz', prosrc => 'date_eq_timestamptz' }, 7148{ oid => '2354', 7149 proname => 'date_gt_timestamptz', provolatile => 's', prorettype => 'bool', 7150 proargtypes => 'date timestamptz', prosrc => 'date_gt_timestamptz' }, 7151{ oid => '2355', 7152 proname => 'date_ge_timestamptz', provolatile => 's', prorettype => 'bool', 7153 proargtypes => 'date timestamptz', prosrc => 'date_ge_timestamptz' }, 7154{ oid => '2356', 7155 proname => 'date_ne_timestamptz', provolatile => 's', prorettype => 'bool', 7156 proargtypes => 'date timestamptz', prosrc => 'date_ne_timestamptz' }, 7157{ oid => '2357', descr => 'less-equal-greater', 7158 proname => 'date_cmp_timestamptz', provolatile => 's', prorettype => 'int4', 7159 proargtypes => 'date timestamptz', prosrc => 'date_cmp_timestamptz' }, 7160 7161{ oid => '2364', 7162 proname => 'timestamp_lt_date', prorettype => 'bool', 7163 proargtypes => 'timestamp date', prosrc => 'timestamp_lt_date' }, 7164{ oid => '2365', 7165 proname => 'timestamp_le_date', prorettype => 'bool', 7166 proargtypes => 'timestamp date', prosrc => 'timestamp_le_date' }, 7167{ oid => '2366', 7168 proname => 'timestamp_eq_date', prorettype => 'bool', 7169 proargtypes => 'timestamp date', prosrc => 'timestamp_eq_date' }, 7170{ oid => '2367', 7171 proname => 'timestamp_gt_date', prorettype => 'bool', 7172 proargtypes => 'timestamp date', prosrc => 'timestamp_gt_date' }, 7173{ oid => '2368', 7174 proname => 'timestamp_ge_date', prorettype => 'bool', 7175 proargtypes => 'timestamp date', prosrc => 'timestamp_ge_date' }, 7176{ oid => '2369', 7177 proname => 'timestamp_ne_date', prorettype => 'bool', 7178 proargtypes => 'timestamp date', prosrc => 'timestamp_ne_date' }, 7179{ oid => '2370', descr => 'less-equal-greater', 7180 proname => 'timestamp_cmp_date', prorettype => 'int4', 7181 proargtypes => 'timestamp date', prosrc => 'timestamp_cmp_date' }, 7182 7183{ oid => '2377', 7184 proname => 'timestamptz_lt_date', provolatile => 's', prorettype => 'bool', 7185 proargtypes => 'timestamptz date', prosrc => 'timestamptz_lt_date' }, 7186{ oid => '2378', 7187 proname => 'timestamptz_le_date', provolatile => 's', prorettype => 'bool', 7188 proargtypes => 'timestamptz date', prosrc => 'timestamptz_le_date' }, 7189{ oid => '2379', 7190 proname => 'timestamptz_eq_date', provolatile => 's', prorettype => 'bool', 7191 proargtypes => 'timestamptz date', prosrc => 'timestamptz_eq_date' }, 7192{ oid => '2380', 7193 proname => 'timestamptz_gt_date', provolatile => 's', prorettype => 'bool', 7194 proargtypes => 'timestamptz date', prosrc => 'timestamptz_gt_date' }, 7195{ oid => '2381', 7196 proname => 'timestamptz_ge_date', provolatile => 's', prorettype => 'bool', 7197 proargtypes => 'timestamptz date', prosrc => 'timestamptz_ge_date' }, 7198{ oid => '2382', 7199 proname => 'timestamptz_ne_date', provolatile => 's', prorettype => 'bool', 7200 proargtypes => 'timestamptz date', prosrc => 'timestamptz_ne_date' }, 7201{ oid => '2383', descr => 'less-equal-greater', 7202 proname => 'timestamptz_cmp_date', provolatile => 's', prorettype => 'int4', 7203 proargtypes => 'timestamptz date', prosrc => 'timestamptz_cmp_date' }, 7204 7205# crosstype operations for timestamp vs. timestamptz 7206{ oid => '2520', 7207 proname => 'timestamp_lt_timestamptz', provolatile => 's', 7208 prorettype => 'bool', proargtypes => 'timestamp timestamptz', 7209 prosrc => 'timestamp_lt_timestamptz' }, 7210{ oid => '2521', 7211 proname => 'timestamp_le_timestamptz', provolatile => 's', 7212 prorettype => 'bool', proargtypes => 'timestamp timestamptz', 7213 prosrc => 'timestamp_le_timestamptz' }, 7214{ oid => '2522', 7215 proname => 'timestamp_eq_timestamptz', provolatile => 's', 7216 prorettype => 'bool', proargtypes => 'timestamp timestamptz', 7217 prosrc => 'timestamp_eq_timestamptz' }, 7218{ oid => '2523', 7219 proname => 'timestamp_gt_timestamptz', provolatile => 's', 7220 prorettype => 'bool', proargtypes => 'timestamp timestamptz', 7221 prosrc => 'timestamp_gt_timestamptz' }, 7222{ oid => '2524', 7223 proname => 'timestamp_ge_timestamptz', provolatile => 's', 7224 prorettype => 'bool', proargtypes => 'timestamp timestamptz', 7225 prosrc => 'timestamp_ge_timestamptz' }, 7226{ oid => '2525', 7227 proname => 'timestamp_ne_timestamptz', provolatile => 's', 7228 prorettype => 'bool', proargtypes => 'timestamp timestamptz', 7229 prosrc => 'timestamp_ne_timestamptz' }, 7230{ oid => '2526', descr => 'less-equal-greater', 7231 proname => 'timestamp_cmp_timestamptz', provolatile => 's', 7232 prorettype => 'int4', proargtypes => 'timestamp timestamptz', 7233 prosrc => 'timestamp_cmp_timestamptz' }, 7234 7235{ oid => '2527', 7236 proname => 'timestamptz_lt_timestamp', provolatile => 's', 7237 prorettype => 'bool', proargtypes => 'timestamptz timestamp', 7238 prosrc => 'timestamptz_lt_timestamp' }, 7239{ oid => '2528', 7240 proname => 'timestamptz_le_timestamp', provolatile => 's', 7241 prorettype => 'bool', proargtypes => 'timestamptz timestamp', 7242 prosrc => 'timestamptz_le_timestamp' }, 7243{ oid => '2529', 7244 proname => 'timestamptz_eq_timestamp', provolatile => 's', 7245 prorettype => 'bool', proargtypes => 'timestamptz timestamp', 7246 prosrc => 'timestamptz_eq_timestamp' }, 7247{ oid => '2530', 7248 proname => 'timestamptz_gt_timestamp', provolatile => 's', 7249 prorettype => 'bool', proargtypes => 'timestamptz timestamp', 7250 prosrc => 'timestamptz_gt_timestamp' }, 7251{ oid => '2531', 7252 proname => 'timestamptz_ge_timestamp', provolatile => 's', 7253 prorettype => 'bool', proargtypes => 'timestamptz timestamp', 7254 prosrc => 'timestamptz_ge_timestamp' }, 7255{ oid => '2532', 7256 proname => 'timestamptz_ne_timestamp', provolatile => 's', 7257 prorettype => 'bool', proargtypes => 'timestamptz timestamp', 7258 prosrc => 'timestamptz_ne_timestamp' }, 7259{ oid => '2533', descr => 'less-equal-greater', 7260 proname => 'timestamptz_cmp_timestamp', provolatile => 's', 7261 prorettype => 'int4', proargtypes => 'timestamptz timestamp', 7262 prosrc => 'timestamptz_cmp_timestamp' }, 7263 7264# send/receive functions 7265{ oid => '2400', descr => 'I/O', 7266 proname => 'array_recv', provolatile => 's', prorettype => 'anyarray', 7267 proargtypes => 'internal oid int4', prosrc => 'array_recv' }, 7268{ oid => '2401', descr => 'I/O', 7269 proname => 'array_send', provolatile => 's', prorettype => 'bytea', 7270 proargtypes => 'anyarray', prosrc => 'array_send' }, 7271{ oid => '2402', descr => 'I/O', 7272 proname => 'record_recv', provolatile => 's', prorettype => 'record', 7273 proargtypes => 'internal oid int4', prosrc => 'record_recv' }, 7274{ oid => '2403', descr => 'I/O', 7275 proname => 'record_send', provolatile => 's', prorettype => 'bytea', 7276 proargtypes => 'record', prosrc => 'record_send' }, 7277{ oid => '2404', descr => 'I/O', 7278 proname => 'int2recv', prorettype => 'int2', proargtypes => 'internal', 7279 prosrc => 'int2recv' }, 7280{ oid => '2405', descr => 'I/O', 7281 proname => 'int2send', prorettype => 'bytea', proargtypes => 'int2', 7282 prosrc => 'int2send' }, 7283{ oid => '2406', descr => 'I/O', 7284 proname => 'int4recv', prorettype => 'int4', proargtypes => 'internal', 7285 prosrc => 'int4recv' }, 7286{ oid => '2407', descr => 'I/O', 7287 proname => 'int4send', prorettype => 'bytea', proargtypes => 'int4', 7288 prosrc => 'int4send' }, 7289{ oid => '2408', descr => 'I/O', 7290 proname => 'int8recv', prorettype => 'int8', proargtypes => 'internal', 7291 prosrc => 'int8recv' }, 7292{ oid => '2409', descr => 'I/O', 7293 proname => 'int8send', prorettype => 'bytea', proargtypes => 'int8', 7294 prosrc => 'int8send' }, 7295{ oid => '2410', descr => 'I/O', 7296 proname => 'int2vectorrecv', prorettype => 'int2vector', 7297 proargtypes => 'internal', prosrc => 'int2vectorrecv' }, 7298{ oid => '2411', descr => 'I/O', 7299 proname => 'int2vectorsend', prorettype => 'bytea', 7300 proargtypes => 'int2vector', prosrc => 'int2vectorsend' }, 7301{ oid => '2412', descr => 'I/O', 7302 proname => 'bytearecv', prorettype => 'bytea', proargtypes => 'internal', 7303 prosrc => 'bytearecv' }, 7304{ oid => '2413', descr => 'I/O', 7305 proname => 'byteasend', prorettype => 'bytea', proargtypes => 'bytea', 7306 prosrc => 'byteasend' }, 7307{ oid => '2414', descr => 'I/O', 7308 proname => 'textrecv', provolatile => 's', prorettype => 'text', 7309 proargtypes => 'internal', prosrc => 'textrecv' }, 7310{ oid => '2415', descr => 'I/O', 7311 proname => 'textsend', provolatile => 's', prorettype => 'bytea', 7312 proargtypes => 'text', prosrc => 'textsend' }, 7313{ oid => '2416', descr => 'I/O', 7314 proname => 'unknownrecv', prorettype => 'unknown', proargtypes => 'internal', 7315 prosrc => 'unknownrecv' }, 7316{ oid => '2417', descr => 'I/O', 7317 proname => 'unknownsend', prorettype => 'bytea', proargtypes => 'unknown', 7318 prosrc => 'unknownsend' }, 7319{ oid => '2418', descr => 'I/O', 7320 proname => 'oidrecv', prorettype => 'oid', proargtypes => 'internal', 7321 prosrc => 'oidrecv' }, 7322{ oid => '2419', descr => 'I/O', 7323 proname => 'oidsend', prorettype => 'bytea', proargtypes => 'oid', 7324 prosrc => 'oidsend' }, 7325{ oid => '2420', descr => 'I/O', 7326 proname => 'oidvectorrecv', prorettype => 'oidvector', 7327 proargtypes => 'internal', prosrc => 'oidvectorrecv' }, 7328{ oid => '2421', descr => 'I/O', 7329 proname => 'oidvectorsend', prorettype => 'bytea', proargtypes => 'oidvector', 7330 prosrc => 'oidvectorsend' }, 7331{ oid => '2422', descr => 'I/O', 7332 proname => 'namerecv', provolatile => 's', prorettype => 'name', 7333 proargtypes => 'internal', prosrc => 'namerecv' }, 7334{ oid => '2423', descr => 'I/O', 7335 proname => 'namesend', provolatile => 's', prorettype => 'bytea', 7336 proargtypes => 'name', prosrc => 'namesend' }, 7337{ oid => '2424', descr => 'I/O', 7338 proname => 'float4recv', prorettype => 'float4', proargtypes => 'internal', 7339 prosrc => 'float4recv' }, 7340{ oid => '2425', descr => 'I/O', 7341 proname => 'float4send', prorettype => 'bytea', proargtypes => 'float4', 7342 prosrc => 'float4send' }, 7343{ oid => '2426', descr => 'I/O', 7344 proname => 'float8recv', prorettype => 'float8', proargtypes => 'internal', 7345 prosrc => 'float8recv' }, 7346{ oid => '2427', descr => 'I/O', 7347 proname => 'float8send', prorettype => 'bytea', proargtypes => 'float8', 7348 prosrc => 'float8send' }, 7349{ oid => '2428', descr => 'I/O', 7350 proname => 'point_recv', prorettype => 'point', proargtypes => 'internal', 7351 prosrc => 'point_recv' }, 7352{ oid => '2429', descr => 'I/O', 7353 proname => 'point_send', prorettype => 'bytea', proargtypes => 'point', 7354 prosrc => 'point_send' }, 7355{ oid => '2430', descr => 'I/O', 7356 proname => 'bpcharrecv', provolatile => 's', prorettype => 'bpchar', 7357 proargtypes => 'internal oid int4', prosrc => 'bpcharrecv' }, 7358{ oid => '2431', descr => 'I/O', 7359 proname => 'bpcharsend', provolatile => 's', prorettype => 'bytea', 7360 proargtypes => 'bpchar', prosrc => 'bpcharsend' }, 7361{ oid => '2432', descr => 'I/O', 7362 proname => 'varcharrecv', provolatile => 's', prorettype => 'varchar', 7363 proargtypes => 'internal oid int4', prosrc => 'varcharrecv' }, 7364{ oid => '2433', descr => 'I/O', 7365 proname => 'varcharsend', provolatile => 's', prorettype => 'bytea', 7366 proargtypes => 'varchar', prosrc => 'varcharsend' }, 7367{ oid => '2434', descr => 'I/O', 7368 proname => 'charrecv', prorettype => 'char', proargtypes => 'internal', 7369 prosrc => 'charrecv' }, 7370{ oid => '2435', descr => 'I/O', 7371 proname => 'charsend', prorettype => 'bytea', proargtypes => 'char', 7372 prosrc => 'charsend' }, 7373{ oid => '2436', descr => 'I/O', 7374 proname => 'boolrecv', prorettype => 'bool', proargtypes => 'internal', 7375 prosrc => 'boolrecv' }, 7376{ oid => '2437', descr => 'I/O', 7377 proname => 'boolsend', prorettype => 'bytea', proargtypes => 'bool', 7378 prosrc => 'boolsend' }, 7379{ oid => '2438', descr => 'I/O', 7380 proname => 'tidrecv', prorettype => 'tid', proargtypes => 'internal', 7381 prosrc => 'tidrecv' }, 7382{ oid => '2439', descr => 'I/O', 7383 proname => 'tidsend', prorettype => 'bytea', proargtypes => 'tid', 7384 prosrc => 'tidsend' }, 7385{ oid => '2440', descr => 'I/O', 7386 proname => 'xidrecv', prorettype => 'xid', proargtypes => 'internal', 7387 prosrc => 'xidrecv' }, 7388{ oid => '2441', descr => 'I/O', 7389 proname => 'xidsend', prorettype => 'bytea', proargtypes => 'xid', 7390 prosrc => 'xidsend' }, 7391{ oid => '2442', descr => 'I/O', 7392 proname => 'cidrecv', prorettype => 'cid', proargtypes => 'internal', 7393 prosrc => 'cidrecv' }, 7394{ oid => '2443', descr => 'I/O', 7395 proname => 'cidsend', prorettype => 'bytea', proargtypes => 'cid', 7396 prosrc => 'cidsend' }, 7397{ oid => '2444', descr => 'I/O', 7398 proname => 'regprocrecv', prorettype => 'regproc', proargtypes => 'internal', 7399 prosrc => 'regprocrecv' }, 7400{ oid => '2445', descr => 'I/O', 7401 proname => 'regprocsend', prorettype => 'bytea', proargtypes => 'regproc', 7402 prosrc => 'regprocsend' }, 7403{ oid => '2446', descr => 'I/O', 7404 proname => 'regprocedurerecv', prorettype => 'regprocedure', 7405 proargtypes => 'internal', prosrc => 'regprocedurerecv' }, 7406{ oid => '2447', descr => 'I/O', 7407 proname => 'regproceduresend', prorettype => 'bytea', 7408 proargtypes => 'regprocedure', prosrc => 'regproceduresend' }, 7409{ oid => '2448', descr => 'I/O', 7410 proname => 'regoperrecv', prorettype => 'regoper', proargtypes => 'internal', 7411 prosrc => 'regoperrecv' }, 7412{ oid => '2449', descr => 'I/O', 7413 proname => 'regopersend', prorettype => 'bytea', proargtypes => 'regoper', 7414 prosrc => 'regopersend' }, 7415{ oid => '2450', descr => 'I/O', 7416 proname => 'regoperatorrecv', prorettype => 'regoperator', 7417 proargtypes => 'internal', prosrc => 'regoperatorrecv' }, 7418{ oid => '2451', descr => 'I/O', 7419 proname => 'regoperatorsend', prorettype => 'bytea', 7420 proargtypes => 'regoperator', prosrc => 'regoperatorsend' }, 7421{ oid => '2452', descr => 'I/O', 7422 proname => 'regclassrecv', prorettype => 'regclass', 7423 proargtypes => 'internal', prosrc => 'regclassrecv' }, 7424{ oid => '2453', descr => 'I/O', 7425 proname => 'regclasssend', prorettype => 'bytea', proargtypes => 'regclass', 7426 prosrc => 'regclasssend' }, 7427{ oid => '2454', descr => 'I/O', 7428 proname => 'regtyperecv', prorettype => 'regtype', proargtypes => 'internal', 7429 prosrc => 'regtyperecv' }, 7430{ oid => '2455', descr => 'I/O', 7431 proname => 'regtypesend', prorettype => 'bytea', proargtypes => 'regtype', 7432 prosrc => 'regtypesend' }, 7433 7434{ oid => '4094', descr => 'I/O', 7435 proname => 'regrolerecv', prorettype => 'regrole', proargtypes => 'internal', 7436 prosrc => 'regrolerecv' }, 7437{ oid => '4095', descr => 'I/O', 7438 proname => 'regrolesend', prorettype => 'bytea', proargtypes => 'regrole', 7439 prosrc => 'regrolesend' }, 7440{ oid => '4087', descr => 'I/O', 7441 proname => 'regnamespacerecv', prorettype => 'regnamespace', 7442 proargtypes => 'internal', prosrc => 'regnamespacerecv' }, 7443{ oid => '4088', descr => 'I/O', 7444 proname => 'regnamespacesend', prorettype => 'bytea', 7445 proargtypes => 'regnamespace', prosrc => 'regnamespacesend' }, 7446{ oid => '2456', descr => 'I/O', 7447 proname => 'bit_recv', prorettype => 'bit', 7448 proargtypes => 'internal oid int4', prosrc => 'bit_recv' }, 7449{ oid => '2457', descr => 'I/O', 7450 proname => 'bit_send', prorettype => 'bytea', proargtypes => 'bit', 7451 prosrc => 'bit_send' }, 7452{ oid => '2458', descr => 'I/O', 7453 proname => 'varbit_recv', prorettype => 'varbit', 7454 proargtypes => 'internal oid int4', prosrc => 'varbit_recv' }, 7455{ oid => '2459', descr => 'I/O', 7456 proname => 'varbit_send', prorettype => 'bytea', proargtypes => 'varbit', 7457 prosrc => 'varbit_send' }, 7458{ oid => '2460', descr => 'I/O', 7459 proname => 'numeric_recv', prorettype => 'numeric', 7460 proargtypes => 'internal oid int4', prosrc => 'numeric_recv' }, 7461{ oid => '2461', descr => 'I/O', 7462 proname => 'numeric_send', prorettype => 'bytea', proargtypes => 'numeric', 7463 prosrc => 'numeric_send' }, 7464{ oid => '2462', descr => 'I/O', 7465 proname => 'abstimerecv', prorettype => 'abstime', proargtypes => 'internal', 7466 prosrc => 'abstimerecv' }, 7467{ oid => '2463', descr => 'I/O', 7468 proname => 'abstimesend', prorettype => 'bytea', proargtypes => 'abstime', 7469 prosrc => 'abstimesend' }, 7470{ oid => '2464', descr => 'I/O', 7471 proname => 'reltimerecv', prorettype => 'reltime', proargtypes => 'internal', 7472 prosrc => 'reltimerecv' }, 7473{ oid => '2465', descr => 'I/O', 7474 proname => 'reltimesend', prorettype => 'bytea', proargtypes => 'reltime', 7475 prosrc => 'reltimesend' }, 7476{ oid => '2466', descr => 'I/O', 7477 proname => 'tintervalrecv', prorettype => 'tinterval', 7478 proargtypes => 'internal', prosrc => 'tintervalrecv' }, 7479{ oid => '2467', descr => 'I/O', 7480 proname => 'tintervalsend', prorettype => 'bytea', proargtypes => 'tinterval', 7481 prosrc => 'tintervalsend' }, 7482{ oid => '2468', descr => 'I/O', 7483 proname => 'date_recv', prorettype => 'date', proargtypes => 'internal', 7484 prosrc => 'date_recv' }, 7485{ oid => '2469', descr => 'I/O', 7486 proname => 'date_send', prorettype => 'bytea', proargtypes => 'date', 7487 prosrc => 'date_send' }, 7488{ oid => '2470', descr => 'I/O', 7489 proname => 'time_recv', prorettype => 'time', 7490 proargtypes => 'internal oid int4', prosrc => 'time_recv' }, 7491{ oid => '2471', descr => 'I/O', 7492 proname => 'time_send', prorettype => 'bytea', proargtypes => 'time', 7493 prosrc => 'time_send' }, 7494{ oid => '2472', descr => 'I/O', 7495 proname => 'timetz_recv', prorettype => 'timetz', 7496 proargtypes => 'internal oid int4', prosrc => 'timetz_recv' }, 7497{ oid => '2473', descr => 'I/O', 7498 proname => 'timetz_send', prorettype => 'bytea', proargtypes => 'timetz', 7499 prosrc => 'timetz_send' }, 7500{ oid => '2474', descr => 'I/O', 7501 proname => 'timestamp_recv', prorettype => 'timestamp', 7502 proargtypes => 'internal oid int4', prosrc => 'timestamp_recv' }, 7503{ oid => '2475', descr => 'I/O', 7504 proname => 'timestamp_send', prorettype => 'bytea', 7505 proargtypes => 'timestamp', prosrc => 'timestamp_send' }, 7506{ oid => '2476', descr => 'I/O', 7507 proname => 'timestamptz_recv', prorettype => 'timestamptz', 7508 proargtypes => 'internal oid int4', prosrc => 'timestamptz_recv' }, 7509{ oid => '2477', descr => 'I/O', 7510 proname => 'timestamptz_send', prorettype => 'bytea', 7511 proargtypes => 'timestamptz', prosrc => 'timestamptz_send' }, 7512{ oid => '2478', descr => 'I/O', 7513 proname => 'interval_recv', prorettype => 'interval', 7514 proargtypes => 'internal oid int4', prosrc => 'interval_recv' }, 7515{ oid => '2479', descr => 'I/O', 7516 proname => 'interval_send', prorettype => 'bytea', proargtypes => 'interval', 7517 prosrc => 'interval_send' }, 7518{ oid => '2480', descr => 'I/O', 7519 proname => 'lseg_recv', prorettype => 'lseg', proargtypes => 'internal', 7520 prosrc => 'lseg_recv' }, 7521{ oid => '2481', descr => 'I/O', 7522 proname => 'lseg_send', prorettype => 'bytea', proargtypes => 'lseg', 7523 prosrc => 'lseg_send' }, 7524{ oid => '2482', descr => 'I/O', 7525 proname => 'path_recv', prorettype => 'path', proargtypes => 'internal', 7526 prosrc => 'path_recv' }, 7527{ oid => '2483', descr => 'I/O', 7528 proname => 'path_send', prorettype => 'bytea', proargtypes => 'path', 7529 prosrc => 'path_send' }, 7530{ oid => '2484', descr => 'I/O', 7531 proname => 'box_recv', prorettype => 'box', proargtypes => 'internal', 7532 prosrc => 'box_recv' }, 7533{ oid => '2485', descr => 'I/O', 7534 proname => 'box_send', prorettype => 'bytea', proargtypes => 'box', 7535 prosrc => 'box_send' }, 7536{ oid => '2486', descr => 'I/O', 7537 proname => 'poly_recv', prorettype => 'polygon', proargtypes => 'internal', 7538 prosrc => 'poly_recv' }, 7539{ oid => '2487', descr => 'I/O', 7540 proname => 'poly_send', prorettype => 'bytea', proargtypes => 'polygon', 7541 prosrc => 'poly_send' }, 7542{ oid => '2488', descr => 'I/O', 7543 proname => 'line_recv', prorettype => 'line', proargtypes => 'internal', 7544 prosrc => 'line_recv' }, 7545{ oid => '2489', descr => 'I/O', 7546 proname => 'line_send', prorettype => 'bytea', proargtypes => 'line', 7547 prosrc => 'line_send' }, 7548{ oid => '2490', descr => 'I/O', 7549 proname => 'circle_recv', prorettype => 'circle', proargtypes => 'internal', 7550 prosrc => 'circle_recv' }, 7551{ oid => '2491', descr => 'I/O', 7552 proname => 'circle_send', prorettype => 'bytea', proargtypes => 'circle', 7553 prosrc => 'circle_send' }, 7554{ oid => '2492', descr => 'I/O', 7555 proname => 'cash_recv', prorettype => 'money', proargtypes => 'internal', 7556 prosrc => 'cash_recv' }, 7557{ oid => '2493', descr => 'I/O', 7558 proname => 'cash_send', prorettype => 'bytea', proargtypes => 'money', 7559 prosrc => 'cash_send' }, 7560{ oid => '2494', descr => 'I/O', 7561 proname => 'macaddr_recv', prorettype => 'macaddr', proargtypes => 'internal', 7562 prosrc => 'macaddr_recv' }, 7563{ oid => '2495', descr => 'I/O', 7564 proname => 'macaddr_send', prorettype => 'bytea', proargtypes => 'macaddr', 7565 prosrc => 'macaddr_send' }, 7566{ oid => '2496', descr => 'I/O', 7567 proname => 'inet_recv', prorettype => 'inet', proargtypes => 'internal', 7568 prosrc => 'inet_recv' }, 7569{ oid => '2497', descr => 'I/O', 7570 proname => 'inet_send', prorettype => 'bytea', proargtypes => 'inet', 7571 prosrc => 'inet_send' }, 7572{ oid => '2498', descr => 'I/O', 7573 proname => 'cidr_recv', prorettype => 'cidr', proargtypes => 'internal', 7574 prosrc => 'cidr_recv' }, 7575{ oid => '2499', descr => 'I/O', 7576 proname => 'cidr_send', prorettype => 'bytea', proargtypes => 'cidr', 7577 prosrc => 'cidr_send' }, 7578{ oid => '2500', descr => 'I/O', 7579 proname => 'cstring_recv', provolatile => 's', prorettype => 'cstring', 7580 proargtypes => 'internal', prosrc => 'cstring_recv' }, 7581{ oid => '2501', descr => 'I/O', 7582 proname => 'cstring_send', provolatile => 's', prorettype => 'bytea', 7583 proargtypes => 'cstring', prosrc => 'cstring_send' }, 7584{ oid => '2502', descr => 'I/O', 7585 proname => 'anyarray_recv', provolatile => 's', prorettype => 'anyarray', 7586 proargtypes => 'internal', prosrc => 'anyarray_recv' }, 7587{ oid => '2503', descr => 'I/O', 7588 proname => 'anyarray_send', provolatile => 's', prorettype => 'bytea', 7589 proargtypes => 'anyarray', prosrc => 'anyarray_send' }, 7590{ oid => '3120', descr => 'I/O', 7591 proname => 'void_recv', prorettype => 'void', proargtypes => 'internal', 7592 prosrc => 'void_recv' }, 7593{ oid => '3121', descr => 'I/O', 7594 proname => 'void_send', prorettype => 'bytea', proargtypes => 'void', 7595 prosrc => 'void_send' }, 7596{ oid => '3446', descr => 'I/O', 7597 proname => 'macaddr8_recv', prorettype => 'macaddr8', 7598 proargtypes => 'internal', prosrc => 'macaddr8_recv' }, 7599{ oid => '3447', descr => 'I/O', 7600 proname => 'macaddr8_send', prorettype => 'bytea', proargtypes => 'macaddr8', 7601 prosrc => 'macaddr8_send' }, 7602 7603# System-view support functions with pretty-print option 7604{ oid => '2504', descr => 'source text of a rule with pretty-print option', 7605 proname => 'pg_get_ruledef', provolatile => 's', prorettype => 'text', 7606 proargtypes => 'oid bool', prosrc => 'pg_get_ruledef_ext' }, 7607{ oid => '2505', 7608 descr => 'select statement of a view with pretty-print option', 7609 proname => 'pg_get_viewdef', provolatile => 's', proparallel => 'r', 7610 prorettype => 'text', proargtypes => 'text bool', 7611 prosrc => 'pg_get_viewdef_name_ext' }, 7612{ oid => '2506', 7613 descr => 'select statement of a view with pretty-print option', 7614 proname => 'pg_get_viewdef', provolatile => 's', proparallel => 'r', 7615 prorettype => 'text', proargtypes => 'oid bool', 7616 prosrc => 'pg_get_viewdef_ext' }, 7617{ oid => '3159', 7618 descr => 'select statement of a view with pretty-printing and specified line wrapping', 7619 proname => 'pg_get_viewdef', provolatile => 's', proparallel => 'r', 7620 prorettype => 'text', proargtypes => 'oid int4', 7621 prosrc => 'pg_get_viewdef_wrap' }, 7622{ oid => '2507', 7623 descr => 'index description (full create statement or single expression) with pretty-print option', 7624 proname => 'pg_get_indexdef', provolatile => 's', prorettype => 'text', 7625 proargtypes => 'oid int4 bool', prosrc => 'pg_get_indexdef_ext' }, 7626{ oid => '2508', descr => 'constraint description with pretty-print option', 7627 proname => 'pg_get_constraintdef', provolatile => 's', prorettype => 'text', 7628 proargtypes => 'oid bool', prosrc => 'pg_get_constraintdef_ext' }, 7629{ oid => '2509', 7630 descr => 'deparse an encoded expression with pretty-print option', 7631 proname => 'pg_get_expr', provolatile => 's', prorettype => 'text', 7632 proargtypes => 'pg_node_tree oid bool', prosrc => 'pg_get_expr_ext' }, 7633{ oid => '2510', descr => 'get the prepared statements for this session', 7634 proname => 'pg_prepared_statement', prorows => '1000', proretset => 't', 7635 provolatile => 's', proparallel => 'r', prorettype => 'record', 7636 proargtypes => '', proallargtypes => '{text,text,timestamptz,_regtype,bool}', 7637 proargmodes => '{o,o,o,o,o}', 7638 proargnames => '{name,statement,prepare_time,parameter_types,from_sql}', 7639 prosrc => 'pg_prepared_statement' }, 7640{ oid => '2511', descr => 'get the open cursors for this session', 7641 proname => 'pg_cursor', prorows => '1000', proretset => 't', 7642 provolatile => 's', proparallel => 'r', prorettype => 'record', 7643 proargtypes => '', proallargtypes => '{text,text,bool,bool,bool,timestamptz}', 7644 proargmodes => '{o,o,o,o,o,o}', 7645 proargnames => '{name,statement,is_holdable,is_binary,is_scrollable,creation_time}', 7646 prosrc => 'pg_cursor' }, 7647{ oid => '2599', descr => 'get the available time zone abbreviations', 7648 proname => 'pg_timezone_abbrevs', prorows => '1000', proretset => 't', 7649 provolatile => 's', prorettype => 'record', proargtypes => '', 7650 proallargtypes => '{text,interval,bool}', proargmodes => '{o,o,o}', 7651 proargnames => '{abbrev,utc_offset,is_dst}', 7652 prosrc => 'pg_timezone_abbrevs' }, 7653{ oid => '2856', descr => 'get the available time zone names', 7654 proname => 'pg_timezone_names', prorows => '1000', proretset => 't', 7655 provolatile => 's', prorettype => 'record', proargtypes => '', 7656 proallargtypes => '{text,text,interval,bool}', proargmodes => '{o,o,o,o}', 7657 proargnames => '{name,abbrev,utc_offset,is_dst}', 7658 prosrc => 'pg_timezone_names' }, 7659{ oid => '2730', descr => 'trigger description with pretty-print option', 7660 proname => 'pg_get_triggerdef', provolatile => 's', prorettype => 'text', 7661 proargtypes => 'oid bool', prosrc => 'pg_get_triggerdef_ext' }, 7662 7663# asynchronous notifications 7664{ oid => '3035', 7665 descr => 'get the channels that the current backend listens to', 7666 proname => 'pg_listening_channels', prorows => '10', proretset => 't', 7667 provolatile => 's', proparallel => 'r', prorettype => 'text', 7668 proargtypes => '', prosrc => 'pg_listening_channels' }, 7669{ oid => '3036', descr => 'send a notification event', 7670 proname => 'pg_notify', proisstrict => 'f', provolatile => 'v', 7671 proparallel => 'r', prorettype => 'void', proargtypes => 'text text', 7672 prosrc => 'pg_notify' }, 7673{ oid => '3296', 7674 descr => 'get the fraction of the asynchronous notification queue currently in use', 7675 proname => 'pg_notification_queue_usage', provolatile => 'v', 7676 prorettype => 'float8', proargtypes => '', 7677 prosrc => 'pg_notification_queue_usage' }, 7678 7679# non-persistent series generator 7680{ oid => '1066', descr => 'non-persistent series generator', 7681 proname => 'generate_series', prorows => '1000', proretset => 't', 7682 prorettype => 'int4', proargtypes => 'int4 int4 int4', 7683 prosrc => 'generate_series_step_int4' }, 7684{ oid => '1067', descr => 'non-persistent series generator', 7685 proname => 'generate_series', prorows => '1000', proretset => 't', 7686 prorettype => 'int4', proargtypes => 'int4 int4', 7687 prosrc => 'generate_series_int4' }, 7688{ oid => '1068', descr => 'non-persistent series generator', 7689 proname => 'generate_series', prorows => '1000', proretset => 't', 7690 prorettype => 'int8', proargtypes => 'int8 int8 int8', 7691 prosrc => 'generate_series_step_int8' }, 7692{ oid => '1069', descr => 'non-persistent series generator', 7693 proname => 'generate_series', prorows => '1000', proretset => 't', 7694 prorettype => 'int8', proargtypes => 'int8 int8', 7695 prosrc => 'generate_series_int8' }, 7696{ oid => '3259', descr => 'non-persistent series generator', 7697 proname => 'generate_series', prorows => '1000', proretset => 't', 7698 prorettype => 'numeric', proargtypes => 'numeric numeric numeric', 7699 prosrc => 'generate_series_step_numeric' }, 7700{ oid => '3260', descr => 'non-persistent series generator', 7701 proname => 'generate_series', prorows => '1000', proretset => 't', 7702 prorettype => 'numeric', proargtypes => 'numeric numeric', 7703 prosrc => 'generate_series_numeric' }, 7704{ oid => '938', descr => 'non-persistent series generator', 7705 proname => 'generate_series', prorows => '1000', proretset => 't', 7706 prorettype => 'timestamp', proargtypes => 'timestamp timestamp interval', 7707 prosrc => 'generate_series_timestamp' }, 7708{ oid => '939', descr => 'non-persistent series generator', 7709 proname => 'generate_series', prorows => '1000', proretset => 't', 7710 provolatile => 's', prorettype => 'timestamptz', 7711 proargtypes => 'timestamptz timestamptz interval', 7712 prosrc => 'generate_series_timestamptz' }, 7713 7714# boolean aggregates 7715{ oid => '2515', descr => 'aggregate transition function', 7716 proname => 'booland_statefunc', prorettype => 'bool', 7717 proargtypes => 'bool bool', prosrc => 'booland_statefunc' }, 7718{ oid => '2516', descr => 'aggregate transition function', 7719 proname => 'boolor_statefunc', prorettype => 'bool', 7720 proargtypes => 'bool bool', prosrc => 'boolor_statefunc' }, 7721{ oid => '3496', descr => 'aggregate transition function', 7722 proname => 'bool_accum', proisstrict => 'f', prorettype => 'internal', 7723 proargtypes => 'internal bool', prosrc => 'bool_accum' }, 7724{ oid => '3497', descr => 'aggregate transition function', 7725 proname => 'bool_accum_inv', proisstrict => 'f', prorettype => 'internal', 7726 proargtypes => 'internal bool', prosrc => 'bool_accum_inv' }, 7727{ oid => '3498', descr => 'aggregate final function', 7728 proname => 'bool_alltrue', prorettype => 'bool', proargtypes => 'internal', 7729 prosrc => 'bool_alltrue' }, 7730{ oid => '3499', descr => 'aggregate final function', 7731 proname => 'bool_anytrue', prorettype => 'bool', proargtypes => 'internal', 7732 prosrc => 'bool_anytrue' }, 7733{ oid => '2517', descr => 'boolean-and aggregate', 7734 proname => 'bool_and', prokind => 'a', proisstrict => 'f', 7735 prorettype => 'bool', proargtypes => 'bool', prosrc => 'aggregate_dummy' }, 7736 7737# ANY, SOME? These names conflict with subquery operators. See doc. 7738{ oid => '2518', descr => 'boolean-or aggregate', 7739 proname => 'bool_or', prokind => 'a', proisstrict => 'f', 7740 prorettype => 'bool', proargtypes => 'bool', prosrc => 'aggregate_dummy' }, 7741{ oid => '2519', descr => 'boolean-and aggregate', 7742 proname => 'every', prokind => 'a', proisstrict => 'f', prorettype => 'bool', 7743 proargtypes => 'bool', prosrc => 'aggregate_dummy' }, 7744 7745# bitwise integer aggregates 7746{ oid => '2236', descr => 'bitwise-and smallint aggregate', 7747 proname => 'bit_and', prokind => 'a', proisstrict => 'f', 7748 prorettype => 'int2', proargtypes => 'int2', prosrc => 'aggregate_dummy' }, 7749{ oid => '2237', descr => 'bitwise-or smallint aggregate', 7750 proname => 'bit_or', prokind => 'a', proisstrict => 'f', prorettype => 'int2', 7751 proargtypes => 'int2', prosrc => 'aggregate_dummy' }, 7752{ oid => '2238', descr => 'bitwise-and integer aggregate', 7753 proname => 'bit_and', prokind => 'a', proisstrict => 'f', 7754 prorettype => 'int4', proargtypes => 'int4', prosrc => 'aggregate_dummy' }, 7755{ oid => '2239', descr => 'bitwise-or integer aggregate', 7756 proname => 'bit_or', prokind => 'a', proisstrict => 'f', prorettype => 'int4', 7757 proargtypes => 'int4', prosrc => 'aggregate_dummy' }, 7758{ oid => '2240', descr => 'bitwise-and bigint aggregate', 7759 proname => 'bit_and', prokind => 'a', proisstrict => 'f', 7760 prorettype => 'int8', proargtypes => 'int8', prosrc => 'aggregate_dummy' }, 7761{ oid => '2241', descr => 'bitwise-or bigint aggregate', 7762 proname => 'bit_or', prokind => 'a', proisstrict => 'f', prorettype => 'int8', 7763 proargtypes => 'int8', prosrc => 'aggregate_dummy' }, 7764{ oid => '2242', descr => 'bitwise-and bit aggregate', 7765 proname => 'bit_and', prokind => 'a', proisstrict => 'f', prorettype => 'bit', 7766 proargtypes => 'bit', prosrc => 'aggregate_dummy' }, 7767{ oid => '2243', descr => 'bitwise-or bit aggregate', 7768 proname => 'bit_or', prokind => 'a', proisstrict => 'f', prorettype => 'bit', 7769 proargtypes => 'bit', prosrc => 'aggregate_dummy' }, 7770 7771# formerly-missing interval + datetime operators 7772{ oid => '2546', 7773 proname => 'interval_pl_date', prolang => '14', prorettype => 'timestamp', 7774 proargtypes => 'interval date', prosrc => 'select $2 + $1' }, 7775{ oid => '2547', 7776 proname => 'interval_pl_timetz', prolang => '14', prorettype => 'timetz', 7777 proargtypes => 'interval timetz', prosrc => 'select $2 + $1' }, 7778{ oid => '2548', 7779 proname => 'interval_pl_timestamp', prolang => '14', 7780 prorettype => 'timestamp', proargtypes => 'interval timestamp', 7781 prosrc => 'select $2 + $1' }, 7782{ oid => '2549', 7783 proname => 'interval_pl_timestamptz', prolang => '14', provolatile => 's', 7784 prorettype => 'timestamptz', proargtypes => 'interval timestamptz', 7785 prosrc => 'select $2 + $1' }, 7786{ oid => '2550', 7787 proname => 'integer_pl_date', prolang => '14', prorettype => 'date', 7788 proargtypes => 'int4 date', prosrc => 'select $2 + $1' }, 7789 7790{ oid => '2556', descr => 'get OIDs of databases in a tablespace', 7791 proname => 'pg_tablespace_databases', prorows => '1000', proretset => 't', 7792 provolatile => 's', prorettype => 'oid', proargtypes => 'oid', 7793 prosrc => 'pg_tablespace_databases' }, 7794 7795{ oid => '2557', descr => 'convert int4 to boolean', 7796 proname => 'bool', prorettype => 'bool', proargtypes => 'int4', 7797 prosrc => 'int4_bool' }, 7798{ oid => '2558', descr => 'convert boolean to int4', 7799 proname => 'int4', prorettype => 'int4', proargtypes => 'bool', 7800 prosrc => 'bool_int4' }, 7801{ oid => '2559', descr => 'current value from last used sequence', 7802 proname => 'lastval', provolatile => 'v', proparallel => 'u', 7803 prorettype => 'int8', proargtypes => '', prosrc => 'lastval' }, 7804 7805# start time function 7806{ oid => '2560', descr => 'postmaster start time', 7807 proname => 'pg_postmaster_start_time', provolatile => 's', 7808 prorettype => 'timestamptz', proargtypes => '', 7809 prosrc => 'pg_postmaster_start_time' }, 7810 7811# config reload time function 7812{ oid => '2034', descr => 'configuration load time', 7813 proname => 'pg_conf_load_time', provolatile => 's', proparallel => 'r', 7814 prorettype => 'timestamptz', proargtypes => '', 7815 prosrc => 'pg_conf_load_time' }, 7816 7817# new functions for Y-direction rtree opclasses 7818{ oid => '2562', 7819 proname => 'box_below', prorettype => 'bool', proargtypes => 'box box', 7820 prosrc => 'box_below' }, 7821{ oid => '2563', 7822 proname => 'box_overbelow', prorettype => 'bool', proargtypes => 'box box', 7823 prosrc => 'box_overbelow' }, 7824{ oid => '2564', 7825 proname => 'box_overabove', prorettype => 'bool', proargtypes => 'box box', 7826 prosrc => 'box_overabove' }, 7827{ oid => '2565', 7828 proname => 'box_above', prorettype => 'bool', proargtypes => 'box box', 7829 prosrc => 'box_above' }, 7830{ oid => '2566', 7831 proname => 'poly_below', prorettype => 'bool', 7832 proargtypes => 'polygon polygon', prosrc => 'poly_below' }, 7833{ oid => '2567', 7834 proname => 'poly_overbelow', prorettype => 'bool', 7835 proargtypes => 'polygon polygon', prosrc => 'poly_overbelow' }, 7836{ oid => '2568', 7837 proname => 'poly_overabove', prorettype => 'bool', 7838 proargtypes => 'polygon polygon', prosrc => 'poly_overabove' }, 7839{ oid => '2569', 7840 proname => 'poly_above', prorettype => 'bool', 7841 proargtypes => 'polygon polygon', prosrc => 'poly_above' }, 7842{ oid => '2587', 7843 proname => 'circle_overbelow', prorettype => 'bool', 7844 proargtypes => 'circle circle', prosrc => 'circle_overbelow' }, 7845{ oid => '2588', 7846 proname => 'circle_overabove', prorettype => 'bool', 7847 proargtypes => 'circle circle', prosrc => 'circle_overabove' }, 7848 7849# support functions for GiST r-tree emulation 7850{ oid => '2578', descr => 'GiST support', 7851 proname => 'gist_box_consistent', prorettype => 'bool', 7852 proargtypes => 'internal box int2 oid internal', 7853 prosrc => 'gist_box_consistent' }, 7854{ oid => '2581', descr => 'GiST support', 7855 proname => 'gist_box_penalty', prorettype => 'internal', 7856 proargtypes => 'internal internal internal', prosrc => 'gist_box_penalty' }, 7857{ oid => '2582', descr => 'GiST support', 7858 proname => 'gist_box_picksplit', prorettype => 'internal', 7859 proargtypes => 'internal internal', prosrc => 'gist_box_picksplit' }, 7860{ oid => '2583', descr => 'GiST support', 7861 proname => 'gist_box_union', prorettype => 'box', 7862 proargtypes => 'internal internal', prosrc => 'gist_box_union' }, 7863{ oid => '2584', descr => 'GiST support', 7864 proname => 'gist_box_same', prorettype => 'internal', 7865 proargtypes => 'box box internal', prosrc => 'gist_box_same' }, 7866{ oid => '2585', descr => 'GiST support', 7867 proname => 'gist_poly_consistent', prorettype => 'bool', 7868 proargtypes => 'internal polygon int2 oid internal', 7869 prosrc => 'gist_poly_consistent' }, 7870{ oid => '2586', descr => 'GiST support', 7871 proname => 'gist_poly_compress', prorettype => 'internal', 7872 proargtypes => 'internal', prosrc => 'gist_poly_compress' }, 7873{ oid => '2591', descr => 'GiST support', 7874 proname => 'gist_circle_consistent', prorettype => 'bool', 7875 proargtypes => 'internal circle int2 oid internal', 7876 prosrc => 'gist_circle_consistent' }, 7877{ oid => '2592', descr => 'GiST support', 7878 proname => 'gist_circle_compress', prorettype => 'internal', 7879 proargtypes => 'internal', prosrc => 'gist_circle_compress' }, 7880{ oid => '1030', descr => 'GiST support', 7881 proname => 'gist_point_compress', prorettype => 'internal', 7882 proargtypes => 'internal', prosrc => 'gist_point_compress' }, 7883{ oid => '3282', descr => 'GiST support', 7884 proname => 'gist_point_fetch', prorettype => 'internal', 7885 proargtypes => 'internal', prosrc => 'gist_point_fetch' }, 7886{ oid => '2179', descr => 'GiST support', 7887 proname => 'gist_point_consistent', prorettype => 'bool', 7888 proargtypes => 'internal point int2 oid internal', 7889 prosrc => 'gist_point_consistent' }, 7890{ oid => '3064', descr => 'GiST support', 7891 proname => 'gist_point_distance', prorettype => 'float8', 7892 proargtypes => 'internal point int2 oid internal', 7893 prosrc => 'gist_point_distance' }, 7894{ oid => '3280', descr => 'GiST support', 7895 proname => 'gist_circle_distance', prorettype => 'float8', 7896 proargtypes => 'internal circle int2 oid internal', 7897 prosrc => 'gist_circle_distance' }, 7898{ oid => '3288', descr => 'GiST support', 7899 proname => 'gist_poly_distance', prorettype => 'float8', 7900 proargtypes => 'internal polygon int2 oid internal', 7901 prosrc => 'gist_poly_distance' }, 7902 7903# GIN array support 7904{ oid => '2743', descr => 'GIN array support', 7905 proname => 'ginarrayextract', prorettype => 'internal', 7906 proargtypes => 'anyarray internal internal', prosrc => 'ginarrayextract' }, 7907{ oid => '2774', descr => 'GIN array support', 7908 proname => 'ginqueryarrayextract', prorettype => 'internal', 7909 proargtypes => 'anyarray internal int2 internal internal internal internal', 7910 prosrc => 'ginqueryarrayextract' }, 7911{ oid => '2744', descr => 'GIN array support', 7912 proname => 'ginarrayconsistent', prorettype => 'bool', 7913 proargtypes => 'internal int2 anyarray int4 internal internal internal internal', 7914 prosrc => 'ginarrayconsistent' }, 7915{ oid => '3920', descr => 'GIN array support', 7916 proname => 'ginarraytriconsistent', prorettype => 'char', 7917 proargtypes => 'internal int2 anyarray int4 internal internal internal', 7918 prosrc => 'ginarraytriconsistent' }, 7919{ oid => '3076', descr => 'GIN array support (obsolete)', 7920 proname => 'ginarrayextract', prorettype => 'internal', 7921 proargtypes => 'anyarray internal', prosrc => 'ginarrayextract_2args' }, 7922 7923# overlap/contains/contained 7924{ oid => '2747', 7925 proname => 'arrayoverlap', prorettype => 'bool', 7926 proargtypes => 'anyarray anyarray', prosrc => 'arrayoverlap' }, 7927{ oid => '2748', 7928 proname => 'arraycontains', prorettype => 'bool', 7929 proargtypes => 'anyarray anyarray', prosrc => 'arraycontains' }, 7930{ oid => '2749', 7931 proname => 'arraycontained', prorettype => 'bool', 7932 proargtypes => 'anyarray anyarray', prosrc => 'arraycontained' }, 7933 7934# BRIN minmax 7935{ oid => '3383', descr => 'BRIN minmax support', 7936 proname => 'brin_minmax_opcinfo', prorettype => 'internal', 7937 proargtypes => 'internal', prosrc => 'brin_minmax_opcinfo' }, 7938{ oid => '3384', descr => 'BRIN minmax support', 7939 proname => 'brin_minmax_add_value', prorettype => 'bool', 7940 proargtypes => 'internal internal internal internal', 7941 prosrc => 'brin_minmax_add_value' }, 7942{ oid => '3385', descr => 'BRIN minmax support', 7943 proname => 'brin_minmax_consistent', prorettype => 'bool', 7944 proargtypes => 'internal internal internal', 7945 prosrc => 'brin_minmax_consistent' }, 7946{ oid => '3386', descr => 'BRIN minmax support', 7947 proname => 'brin_minmax_union', prorettype => 'bool', 7948 proargtypes => 'internal internal internal', prosrc => 'brin_minmax_union' }, 7949 7950# BRIN inclusion 7951{ oid => '4105', descr => 'BRIN inclusion support', 7952 proname => 'brin_inclusion_opcinfo', prorettype => 'internal', 7953 proargtypes => 'internal', prosrc => 'brin_inclusion_opcinfo' }, 7954{ oid => '4106', descr => 'BRIN inclusion support', 7955 proname => 'brin_inclusion_add_value', prorettype => 'bool', 7956 proargtypes => 'internal internal internal internal', 7957 prosrc => 'brin_inclusion_add_value' }, 7958{ oid => '4107', descr => 'BRIN inclusion support', 7959 proname => 'brin_inclusion_consistent', prorettype => 'bool', 7960 proargtypes => 'internal internal internal', 7961 prosrc => 'brin_inclusion_consistent' }, 7962{ oid => '4108', descr => 'BRIN inclusion support', 7963 proname => 'brin_inclusion_union', prorettype => 'bool', 7964 proargtypes => 'internal internal internal', 7965 prosrc => 'brin_inclusion_union' }, 7966 7967# userlock replacements 7968{ oid => '2880', descr => 'obtain exclusive advisory lock', 7969 proname => 'pg_advisory_lock', provolatile => 'v', proparallel => 'u', 7970 prorettype => 'void', proargtypes => 'int8', 7971 prosrc => 'pg_advisory_lock_int8' }, 7972{ oid => '3089', descr => 'obtain exclusive advisory lock', 7973 proname => 'pg_advisory_xact_lock', provolatile => 'v', proparallel => 'u', 7974 prorettype => 'void', proargtypes => 'int8', 7975 prosrc => 'pg_advisory_xact_lock_int8' }, 7976{ oid => '2881', descr => 'obtain shared advisory lock', 7977 proname => 'pg_advisory_lock_shared', provolatile => 'v', proparallel => 'u', 7978 prorettype => 'void', proargtypes => 'int8', 7979 prosrc => 'pg_advisory_lock_shared_int8' }, 7980{ oid => '3090', descr => 'obtain shared advisory lock', 7981 proname => 'pg_advisory_xact_lock_shared', provolatile => 'v', 7982 proparallel => 'u', prorettype => 'void', proargtypes => 'int8', 7983 prosrc => 'pg_advisory_xact_lock_shared_int8' }, 7984{ oid => '2882', descr => 'obtain exclusive advisory lock if available', 7985 proname => 'pg_try_advisory_lock', provolatile => 'v', proparallel => 'u', 7986 prorettype => 'bool', proargtypes => 'int8', 7987 prosrc => 'pg_try_advisory_lock_int8' }, 7988{ oid => '3091', descr => 'obtain exclusive advisory lock if available', 7989 proname => 'pg_try_advisory_xact_lock', provolatile => 'v', 7990 proparallel => 'u', prorettype => 'bool', proargtypes => 'int8', 7991 prosrc => 'pg_try_advisory_xact_lock_int8' }, 7992{ oid => '2883', descr => 'obtain shared advisory lock if available', 7993 proname => 'pg_try_advisory_lock_shared', provolatile => 'v', 7994 proparallel => 'u', prorettype => 'bool', proargtypes => 'int8', 7995 prosrc => 'pg_try_advisory_lock_shared_int8' }, 7996{ oid => '3092', descr => 'obtain shared advisory lock if available', 7997 proname => 'pg_try_advisory_xact_lock_shared', provolatile => 'v', 7998 proparallel => 'u', prorettype => 'bool', proargtypes => 'int8', 7999 prosrc => 'pg_try_advisory_xact_lock_shared_int8' }, 8000{ oid => '2884', descr => 'release exclusive advisory lock', 8001 proname => 'pg_advisory_unlock', provolatile => 'v', proparallel => 'u', 8002 prorettype => 'bool', proargtypes => 'int8', 8003 prosrc => 'pg_advisory_unlock_int8' }, 8004{ oid => '2885', descr => 'release shared advisory lock', 8005 proname => 'pg_advisory_unlock_shared', provolatile => 'v', 8006 proparallel => 'u', prorettype => 'bool', proargtypes => 'int8', 8007 prosrc => 'pg_advisory_unlock_shared_int8' }, 8008{ oid => '2886', descr => 'obtain exclusive advisory lock', 8009 proname => 'pg_advisory_lock', provolatile => 'v', proparallel => 'u', 8010 prorettype => 'void', proargtypes => 'int4 int4', 8011 prosrc => 'pg_advisory_lock_int4' }, 8012{ oid => '3093', descr => 'obtain exclusive advisory lock', 8013 proname => 'pg_advisory_xact_lock', provolatile => 'v', proparallel => 'u', 8014 prorettype => 'void', proargtypes => 'int4 int4', 8015 prosrc => 'pg_advisory_xact_lock_int4' }, 8016{ oid => '2887', descr => 'obtain shared advisory lock', 8017 proname => 'pg_advisory_lock_shared', provolatile => 'v', proparallel => 'u', 8018 prorettype => 'void', proargtypes => 'int4 int4', 8019 prosrc => 'pg_advisory_lock_shared_int4' }, 8020{ oid => '3094', descr => 'obtain shared advisory lock', 8021 proname => 'pg_advisory_xact_lock_shared', provolatile => 'v', 8022 proparallel => 'u', prorettype => 'void', proargtypes => 'int4 int4', 8023 prosrc => 'pg_advisory_xact_lock_shared_int4' }, 8024{ oid => '2888', descr => 'obtain exclusive advisory lock if available', 8025 proname => 'pg_try_advisory_lock', provolatile => 'v', proparallel => 'u', 8026 prorettype => 'bool', proargtypes => 'int4 int4', 8027 prosrc => 'pg_try_advisory_lock_int4' }, 8028{ oid => '3095', descr => 'obtain exclusive advisory lock if available', 8029 proname => 'pg_try_advisory_xact_lock', provolatile => 'v', 8030 proparallel => 'u', prorettype => 'bool', proargtypes => 'int4 int4', 8031 prosrc => 'pg_try_advisory_xact_lock_int4' }, 8032{ oid => '2889', descr => 'obtain shared advisory lock if available', 8033 proname => 'pg_try_advisory_lock_shared', provolatile => 'v', 8034 proparallel => 'u', prorettype => 'bool', proargtypes => 'int4 int4', 8035 prosrc => 'pg_try_advisory_lock_shared_int4' }, 8036{ oid => '3096', descr => 'obtain shared advisory lock if available', 8037 proname => 'pg_try_advisory_xact_lock_shared', provolatile => 'v', 8038 proparallel => 'u', prorettype => 'bool', proargtypes => 'int4 int4', 8039 prosrc => 'pg_try_advisory_xact_lock_shared_int4' }, 8040{ oid => '2890', descr => 'release exclusive advisory lock', 8041 proname => 'pg_advisory_unlock', provolatile => 'v', proparallel => 'u', 8042 prorettype => 'bool', proargtypes => 'int4 int4', 8043 prosrc => 'pg_advisory_unlock_int4' }, 8044{ oid => '2891', descr => 'release shared advisory lock', 8045 proname => 'pg_advisory_unlock_shared', provolatile => 'v', 8046 proparallel => 'u', prorettype => 'bool', proargtypes => 'int4 int4', 8047 prosrc => 'pg_advisory_unlock_shared_int4' }, 8048{ oid => '2892', descr => 'release all advisory locks', 8049 proname => 'pg_advisory_unlock_all', provolatile => 'v', proparallel => 'u', 8050 prorettype => 'void', proargtypes => '', prosrc => 'pg_advisory_unlock_all' }, 8051 8052# XML support 8053{ oid => '2893', descr => 'I/O', 8054 proname => 'xml_in', provolatile => 's', prorettype => 'xml', 8055 proargtypes => 'cstring', prosrc => 'xml_in' }, 8056{ oid => '2894', descr => 'I/O', 8057 proname => 'xml_out', prorettype => 'cstring', proargtypes => 'xml', 8058 prosrc => 'xml_out' }, 8059{ oid => '2895', descr => 'generate XML comment', 8060 proname => 'xmlcomment', prorettype => 'xml', proargtypes => 'text', 8061 prosrc => 'xmlcomment' }, 8062{ oid => '2896', 8063 descr => 'perform a non-validating parse of a character string to produce an XML value', 8064 proname => 'xml', provolatile => 's', prorettype => 'xml', 8065 proargtypes => 'text', prosrc => 'texttoxml' }, 8066{ oid => '2897', descr => 'validate an XML value', 8067 proname => 'xmlvalidate', prorettype => 'bool', proargtypes => 'xml text', 8068 prosrc => 'xmlvalidate' }, 8069{ oid => '2898', descr => 'I/O', 8070 proname => 'xml_recv', provolatile => 's', prorettype => 'xml', 8071 proargtypes => 'internal', prosrc => 'xml_recv' }, 8072{ oid => '2899', descr => 'I/O', 8073 proname => 'xml_send', provolatile => 's', prorettype => 'bytea', 8074 proargtypes => 'xml', prosrc => 'xml_send' }, 8075{ oid => '2900', descr => 'aggregate transition function', 8076 proname => 'xmlconcat2', proisstrict => 'f', prorettype => 'xml', 8077 proargtypes => 'xml xml', prosrc => 'xmlconcat2' }, 8078{ oid => '2901', descr => 'concatenate XML values', 8079 proname => 'xmlagg', prokind => 'a', proisstrict => 'f', prorettype => 'xml', 8080 proargtypes => 'xml', prosrc => 'aggregate_dummy' }, 8081{ oid => '2922', descr => 'serialize an XML value to a character string', 8082 proname => 'text', prorettype => 'text', proargtypes => 'xml', 8083 prosrc => 'xmltotext' }, 8084 8085{ oid => '2923', descr => 'map table contents to XML', 8086 proname => 'table_to_xml', procost => '100', provolatile => 's', 8087 proparallel => 'r', prorettype => 'xml', 8088 proargtypes => 'regclass bool bool text', 8089 proargnames => '{tbl,nulls,tableforest,targetns}', prosrc => 'table_to_xml' }, 8090{ oid => '2924', descr => 'map query result to XML', 8091 proname => 'query_to_xml', procost => '100', provolatile => 'v', 8092 proparallel => 'u', prorettype => 'xml', proargtypes => 'text bool bool text', 8093 proargnames => '{query,nulls,tableforest,targetns}', 8094 prosrc => 'query_to_xml' }, 8095{ oid => '2925', descr => 'map rows from cursor to XML', 8096 proname => 'cursor_to_xml', procost => '100', provolatile => 'v', 8097 proparallel => 'u', prorettype => 'xml', 8098 proargtypes => 'refcursor int4 bool bool text', 8099 proargnames => '{cursor,count,nulls,tableforest,targetns}', 8100 prosrc => 'cursor_to_xml' }, 8101{ oid => '2926', descr => 'map table structure to XML Schema', 8102 proname => 'table_to_xmlschema', procost => '100', provolatile => 's', 8103 proparallel => 'r', prorettype => 'xml', 8104 proargtypes => 'regclass bool bool text', 8105 proargnames => '{tbl,nulls,tableforest,targetns}', 8106 prosrc => 'table_to_xmlschema' }, 8107{ oid => '2927', descr => 'map query result structure to XML Schema', 8108 proname => 'query_to_xmlschema', procost => '100', provolatile => 'v', 8109 proparallel => 'u', prorettype => 'xml', proargtypes => 'text bool bool text', 8110 proargnames => '{query,nulls,tableforest,targetns}', 8111 prosrc => 'query_to_xmlschema' }, 8112{ oid => '2928', descr => 'map cursor structure to XML Schema', 8113 proname => 'cursor_to_xmlschema', procost => '100', provolatile => 'v', 8114 proparallel => 'u', prorettype => 'xml', 8115 proargtypes => 'refcursor bool bool text', 8116 proargnames => '{cursor,nulls,tableforest,targetns}', 8117 prosrc => 'cursor_to_xmlschema' }, 8118{ oid => '2929', 8119 descr => 'map table contents and structure to XML and XML Schema', 8120 proname => 'table_to_xml_and_xmlschema', procost => '100', provolatile => 's', 8121 proparallel => 'r', prorettype => 'xml', 8122 proargtypes => 'regclass bool bool text', 8123 proargnames => '{tbl,nulls,tableforest,targetns}', 8124 prosrc => 'table_to_xml_and_xmlschema' }, 8125{ oid => '2930', 8126 descr => 'map query result and structure to XML and XML Schema', 8127 proname => 'query_to_xml_and_xmlschema', procost => '100', provolatile => 'v', 8128 proparallel => 'u', prorettype => 'xml', proargtypes => 'text bool bool text', 8129 proargnames => '{query,nulls,tableforest,targetns}', 8130 prosrc => 'query_to_xml_and_xmlschema' }, 8131 8132{ oid => '2933', descr => 'map schema contents to XML', 8133 proname => 'schema_to_xml', procost => '100', provolatile => 's', 8134 proparallel => 'r', prorettype => 'xml', proargtypes => 'name bool bool text', 8135 proargnames => '{schema,nulls,tableforest,targetns}', 8136 prosrc => 'schema_to_xml' }, 8137{ oid => '2934', descr => 'map schema structure to XML Schema', 8138 proname => 'schema_to_xmlschema', procost => '100', provolatile => 's', 8139 proparallel => 'r', prorettype => 'xml', proargtypes => 'name bool bool text', 8140 proargnames => '{schema,nulls,tableforest,targetns}', 8141 prosrc => 'schema_to_xmlschema' }, 8142{ oid => '2935', 8143 descr => 'map schema contents and structure to XML and XML Schema', 8144 proname => 'schema_to_xml_and_xmlschema', procost => '100', 8145 provolatile => 's', proparallel => 'r', prorettype => 'xml', 8146 proargtypes => 'name bool bool text', 8147 proargnames => '{schema,nulls,tableforest,targetns}', 8148 prosrc => 'schema_to_xml_and_xmlschema' }, 8149 8150{ oid => '2936', descr => 'map database contents to XML', 8151 proname => 'database_to_xml', procost => '100', provolatile => 's', 8152 proparallel => 'r', prorettype => 'xml', proargtypes => 'bool bool text', 8153 proargnames => '{nulls,tableforest,targetns}', prosrc => 'database_to_xml' }, 8154{ oid => '2937', descr => 'map database structure to XML Schema', 8155 proname => 'database_to_xmlschema', procost => '100', provolatile => 's', 8156 proparallel => 'r', prorettype => 'xml', proargtypes => 'bool bool text', 8157 proargnames => '{nulls,tableforest,targetns}', 8158 prosrc => 'database_to_xmlschema' }, 8159{ oid => '2938', 8160 descr => 'map database contents and structure to XML and XML Schema', 8161 proname => 'database_to_xml_and_xmlschema', procost => '100', 8162 provolatile => 's', proparallel => 'r', prorettype => 'xml', 8163 proargtypes => 'bool bool text', 8164 proargnames => '{nulls,tableforest,targetns}', 8165 prosrc => 'database_to_xml_and_xmlschema' }, 8166 8167{ oid => '2931', 8168 descr => 'evaluate XPath expression, with namespaces support', 8169 proname => 'xpath', prorettype => '_xml', proargtypes => 'text xml _text', 8170 prosrc => 'xpath' }, 8171{ oid => '2932', descr => 'evaluate XPath expression', 8172 proname => 'xpath', prolang => '14', prorettype => '_xml', 8173 proargtypes => 'text xml', 8174 prosrc => 'select pg_catalog.xpath($1, $2, \'{}\'::pg_catalog.text[])' }, 8175 8176{ oid => '2614', descr => 'test XML value against XPath expression', 8177 proname => 'xmlexists', prorettype => 'bool', proargtypes => 'text xml', 8178 prosrc => 'xmlexists' }, 8179 8180{ oid => '3049', 8181 descr => 'test XML value against XPath expression, with namespace support', 8182 proname => 'xpath_exists', prorettype => 'bool', 8183 proargtypes => 'text xml _text', prosrc => 'xpath_exists' }, 8184{ oid => '3050', descr => 'test XML value against XPath expression', 8185 proname => 'xpath_exists', prolang => '14', prorettype => 'bool', 8186 proargtypes => 'text xml', 8187 prosrc => 'select pg_catalog.xpath_exists($1, $2, \'{}\'::pg_catalog.text[])' }, 8188{ oid => '3051', descr => 'determine if a string is well formed XML', 8189 proname => 'xml_is_well_formed', provolatile => 's', prorettype => 'bool', 8190 proargtypes => 'text', prosrc => 'xml_is_well_formed' }, 8191{ oid => '3052', descr => 'determine if a string is well formed XML document', 8192 proname => 'xml_is_well_formed_document', prorettype => 'bool', 8193 proargtypes => 'text', prosrc => 'xml_is_well_formed_document' }, 8194{ oid => '3053', descr => 'determine if a string is well formed XML content', 8195 proname => 'xml_is_well_formed_content', prorettype => 'bool', 8196 proargtypes => 'text', prosrc => 'xml_is_well_formed_content' }, 8197 8198# json 8199{ oid => '321', descr => 'I/O', 8200 proname => 'json_in', prorettype => 'json', proargtypes => 'cstring', 8201 prosrc => 'json_in' }, 8202{ oid => '322', descr => 'I/O', 8203 proname => 'json_out', prorettype => 'cstring', proargtypes => 'json', 8204 prosrc => 'json_out' }, 8205{ oid => '323', descr => 'I/O', 8206 proname => 'json_recv', prorettype => 'json', proargtypes => 'internal', 8207 prosrc => 'json_recv' }, 8208{ oid => '324', descr => 'I/O', 8209 proname => 'json_send', prorettype => 'bytea', proargtypes => 'json', 8210 prosrc => 'json_send' }, 8211{ oid => '3153', descr => 'map array to json', 8212 proname => 'array_to_json', provolatile => 's', prorettype => 'json', 8213 proargtypes => 'anyarray', prosrc => 'array_to_json' }, 8214{ oid => '3154', descr => 'map array to json with optional pretty printing', 8215 proname => 'array_to_json', provolatile => 's', prorettype => 'json', 8216 proargtypes => 'anyarray bool', prosrc => 'array_to_json_pretty' }, 8217{ oid => '3155', descr => 'map row to json', 8218 proname => 'row_to_json', provolatile => 's', prorettype => 'json', 8219 proargtypes => 'record', prosrc => 'row_to_json' }, 8220{ oid => '3156', descr => 'map row to json with optional pretty printing', 8221 proname => 'row_to_json', provolatile => 's', prorettype => 'json', 8222 proargtypes => 'record bool', prosrc => 'row_to_json_pretty' }, 8223{ oid => '3173', descr => 'json aggregate transition function', 8224 proname => 'json_agg_transfn', proisstrict => 'f', provolatile => 's', 8225 prorettype => 'internal', proargtypes => 'internal anyelement', 8226 prosrc => 'json_agg_transfn' }, 8227{ oid => '3174', descr => 'json aggregate final function', 8228 proname => 'json_agg_finalfn', proisstrict => 'f', prorettype => 'json', 8229 proargtypes => 'internal', prosrc => 'json_agg_finalfn' }, 8230{ oid => '3175', descr => 'aggregate input into json', 8231 proname => 'json_agg', prokind => 'a', proisstrict => 'f', provolatile => 's', 8232 prorettype => 'json', proargtypes => 'anyelement', 8233 prosrc => 'aggregate_dummy' }, 8234{ oid => '3180', descr => 'json object aggregate transition function', 8235 proname => 'json_object_agg_transfn', proisstrict => 'f', provolatile => 's', 8236 prorettype => 'internal', proargtypes => 'internal any any', 8237 prosrc => 'json_object_agg_transfn' }, 8238{ oid => '3196', descr => 'json object aggregate final function', 8239 proname => 'json_object_agg_finalfn', proisstrict => 'f', 8240 prorettype => 'json', proargtypes => 'internal', 8241 prosrc => 'json_object_agg_finalfn' }, 8242{ oid => '3197', descr => 'aggregate input into a json object', 8243 proname => 'json_object_agg', prokind => 'a', proisstrict => 'f', 8244 provolatile => 's', prorettype => 'json', proargtypes => 'any any', 8245 prosrc => 'aggregate_dummy' }, 8246{ oid => '3198', descr => 'build a json array from any inputs', 8247 proname => 'json_build_array', provariadic => 'any', proisstrict => 'f', 8248 provolatile => 's', prorettype => 'json', proargtypes => 'any', 8249 proallargtypes => '{any}', proargmodes => '{v}', 8250 prosrc => 'json_build_array' }, 8251{ oid => '3199', descr => 'build an empty json array', 8252 proname => 'json_build_array', proisstrict => 'f', provolatile => 's', 8253 prorettype => 'json', proargtypes => '', 8254 prosrc => 'json_build_array_noargs' }, 8255{ oid => '3200', 8256 descr => 'build a json object from pairwise key/value inputs', 8257 proname => 'json_build_object', provariadic => 'any', proisstrict => 'f', 8258 provolatile => 's', prorettype => 'json', proargtypes => 'any', 8259 proallargtypes => '{any}', proargmodes => '{v}', 8260 prosrc => 'json_build_object' }, 8261{ oid => '3201', descr => 'build an empty json object', 8262 proname => 'json_build_object', proisstrict => 'f', provolatile => 's', 8263 prorettype => 'json', proargtypes => '', 8264 prosrc => 'json_build_object_noargs' }, 8265{ oid => '3202', descr => 'map text array of key value pairs to json object', 8266 proname => 'json_object', prorettype => 'json', proargtypes => '_text', 8267 prosrc => 'json_object' }, 8268{ oid => '3203', descr => 'map text arrays of keys and values to json object', 8269 proname => 'json_object', prorettype => 'json', proargtypes => '_text _text', 8270 prosrc => 'json_object_two_arg' }, 8271{ oid => '3176', descr => 'map input to json', 8272 proname => 'to_json', provolatile => 's', prorettype => 'json', 8273 proargtypes => 'anyelement', prosrc => 'to_json' }, 8274{ oid => '3261', descr => 'remove object fields with null values from json', 8275 proname => 'json_strip_nulls', prorettype => 'json', proargtypes => 'json', 8276 prosrc => 'json_strip_nulls' }, 8277 8278{ oid => '3947', 8279 proname => 'json_object_field', prorettype => 'json', 8280 proargtypes => 'json text', proargnames => '{from_json, field_name}', 8281 prosrc => 'json_object_field' }, 8282{ oid => '3948', 8283 proname => 'json_object_field_text', prorettype => 'text', 8284 proargtypes => 'json text', proargnames => '{from_json, field_name}', 8285 prosrc => 'json_object_field_text' }, 8286{ oid => '3949', 8287 proname => 'json_array_element', prorettype => 'json', 8288 proargtypes => 'json int4', proargnames => '{from_json, element_index}', 8289 prosrc => 'json_array_element' }, 8290{ oid => '3950', 8291 proname => 'json_array_element_text', prorettype => 'text', 8292 proargtypes => 'json int4', proargnames => '{from_json, element_index}', 8293 prosrc => 'json_array_element_text' }, 8294{ oid => '3951', descr => 'get value from json with path elements', 8295 proname => 'json_extract_path', provariadic => 'text', prorettype => 'json', 8296 proargtypes => 'json _text', proallargtypes => '{json,_text}', 8297 proargmodes => '{i,v}', proargnames => '{from_json,path_elems}', 8298 prosrc => 'json_extract_path' }, 8299{ oid => '3953', descr => 'get value from json as text with path elements', 8300 proname => 'json_extract_path_text', provariadic => 'text', 8301 prorettype => 'text', proargtypes => 'json _text', 8302 proallargtypes => '{json,_text}', proargmodes => '{i,v}', 8303 proargnames => '{from_json,path_elems}', prosrc => 'json_extract_path_text' }, 8304{ oid => '3955', descr => 'key value pairs of a json object', 8305 proname => 'json_array_elements', prorows => '100', proretset => 't', 8306 prorettype => 'json', proargtypes => 'json', proallargtypes => '{json,json}', 8307 proargmodes => '{i,o}', proargnames => '{from_json,value}', 8308 prosrc => 'json_array_elements' }, 8309{ oid => '3969', descr => 'elements of json array', 8310 proname => 'json_array_elements_text', prorows => '100', proretset => 't', 8311 prorettype => 'text', proargtypes => 'json', proallargtypes => '{json,text}', 8312 proargmodes => '{i,o}', proargnames => '{from_json,value}', 8313 prosrc => 'json_array_elements_text' }, 8314{ oid => '3956', descr => 'length of json array', 8315 proname => 'json_array_length', prorettype => 'int4', proargtypes => 'json', 8316 prosrc => 'json_array_length' }, 8317{ oid => '3957', descr => 'get json object keys', 8318 proname => 'json_object_keys', prorows => '100', proretset => 't', 8319 prorettype => 'text', proargtypes => 'json', prosrc => 'json_object_keys' }, 8320{ oid => '3958', descr => 'key value pairs of a json object', 8321 proname => 'json_each', prorows => '100', proretset => 't', 8322 prorettype => 'record', proargtypes => 'json', 8323 proallargtypes => '{json,text,json}', proargmodes => '{i,o,o}', 8324 proargnames => '{from_json,key,value}', prosrc => 'json_each' }, 8325{ oid => '3959', descr => 'key value pairs of a json object', 8326 proname => 'json_each_text', prorows => '100', proretset => 't', 8327 prorettype => 'record', proargtypes => 'json', 8328 proallargtypes => '{json,text,text}', proargmodes => '{i,o,o}', 8329 proargnames => '{from_json,key,value}', prosrc => 'json_each_text' }, 8330{ oid => '3960', descr => 'get record fields from a json object', 8331 proname => 'json_populate_record', proisstrict => 'f', provolatile => 's', 8332 prorettype => 'anyelement', proargtypes => 'anyelement json bool', 8333 prosrc => 'json_populate_record' }, 8334{ oid => '3961', 8335 descr => 'get set of records with fields from a json array of objects', 8336 proname => 'json_populate_recordset', prorows => '100', proisstrict => 'f', 8337 proretset => 't', provolatile => 's', prorettype => 'anyelement', 8338 proargtypes => 'anyelement json bool', prosrc => 'json_populate_recordset' }, 8339{ oid => '3204', descr => 'get record fields from a json object', 8340 proname => 'json_to_record', provolatile => 's', prorettype => 'record', 8341 proargtypes => 'json', prosrc => 'json_to_record' }, 8342{ oid => '3205', 8343 descr => 'get set of records with fields from a json array of objects', 8344 proname => 'json_to_recordset', prorows => '100', proisstrict => 'f', 8345 proretset => 't', provolatile => 's', prorettype => 'record', 8346 proargtypes => 'json', prosrc => 'json_to_recordset' }, 8347{ oid => '3968', descr => 'get the type of a json value', 8348 proname => 'json_typeof', prorettype => 'text', proargtypes => 'json', 8349 prosrc => 'json_typeof' }, 8350 8351# uuid 8352{ oid => '2952', descr => 'I/O', 8353 proname => 'uuid_in', prorettype => 'uuid', proargtypes => 'cstring', 8354 prosrc => 'uuid_in' }, 8355{ oid => '2953', descr => 'I/O', 8356 proname => 'uuid_out', prorettype => 'cstring', proargtypes => 'uuid', 8357 prosrc => 'uuid_out' }, 8358{ oid => '2954', 8359 proname => 'uuid_lt', proleakproof => 't', prorettype => 'bool', 8360 proargtypes => 'uuid uuid', prosrc => 'uuid_lt' }, 8361{ oid => '2955', 8362 proname => 'uuid_le', proleakproof => 't', prorettype => 'bool', 8363 proargtypes => 'uuid uuid', prosrc => 'uuid_le' }, 8364{ oid => '2956', 8365 proname => 'uuid_eq', proleakproof => 't', prorettype => 'bool', 8366 proargtypes => 'uuid uuid', prosrc => 'uuid_eq' }, 8367{ oid => '2957', 8368 proname => 'uuid_ge', proleakproof => 't', prorettype => 'bool', 8369 proargtypes => 'uuid uuid', prosrc => 'uuid_ge' }, 8370{ oid => '2958', 8371 proname => 'uuid_gt', proleakproof => 't', prorettype => 'bool', 8372 proargtypes => 'uuid uuid', prosrc => 'uuid_gt' }, 8373{ oid => '2959', 8374 proname => 'uuid_ne', proleakproof => 't', prorettype => 'bool', 8375 proargtypes => 'uuid uuid', prosrc => 'uuid_ne' }, 8376{ oid => '2960', descr => 'less-equal-greater', 8377 proname => 'uuid_cmp', prorettype => 'int4', proargtypes => 'uuid uuid', 8378 prosrc => 'uuid_cmp' }, 8379{ oid => '3300', descr => 'sort support', 8380 proname => 'uuid_sortsupport', prorettype => 'void', 8381 proargtypes => 'internal', prosrc => 'uuid_sortsupport' }, 8382{ oid => '2961', descr => 'I/O', 8383 proname => 'uuid_recv', prorettype => 'uuid', proargtypes => 'internal', 8384 prosrc => 'uuid_recv' }, 8385{ oid => '2962', descr => 'I/O', 8386 proname => 'uuid_send', prorettype => 'bytea', proargtypes => 'uuid', 8387 prosrc => 'uuid_send' }, 8388{ oid => '2963', descr => 'hash', 8389 proname => 'uuid_hash', prorettype => 'int4', proargtypes => 'uuid', 8390 prosrc => 'uuid_hash' }, 8391{ oid => '3412', descr => 'hash', 8392 proname => 'uuid_hash_extended', prorettype => 'int8', 8393 proargtypes => 'uuid int8', prosrc => 'uuid_hash_extended' }, 8394 8395# pg_lsn 8396{ oid => '3229', descr => 'I/O', 8397 proname => 'pg_lsn_in', prorettype => 'pg_lsn', proargtypes => 'cstring', 8398 prosrc => 'pg_lsn_in' }, 8399{ oid => '3230', descr => 'I/O', 8400 proname => 'pg_lsn_out', prorettype => 'cstring', proargtypes => 'pg_lsn', 8401 prosrc => 'pg_lsn_out' }, 8402{ oid => '3231', 8403 proname => 'pg_lsn_lt', prorettype => 'bool', proargtypes => 'pg_lsn pg_lsn', 8404 prosrc => 'pg_lsn_lt' }, 8405{ oid => '3232', 8406 proname => 'pg_lsn_le', prorettype => 'bool', proargtypes => 'pg_lsn pg_lsn', 8407 prosrc => 'pg_lsn_le' }, 8408{ oid => '3233', 8409 proname => 'pg_lsn_eq', prorettype => 'bool', proargtypes => 'pg_lsn pg_lsn', 8410 prosrc => 'pg_lsn_eq' }, 8411{ oid => '3234', 8412 proname => 'pg_lsn_ge', prorettype => 'bool', proargtypes => 'pg_lsn pg_lsn', 8413 prosrc => 'pg_lsn_ge' }, 8414{ oid => '3235', 8415 proname => 'pg_lsn_gt', prorettype => 'bool', proargtypes => 'pg_lsn pg_lsn', 8416 prosrc => 'pg_lsn_gt' }, 8417{ oid => '3236', 8418 proname => 'pg_lsn_ne', prorettype => 'bool', proargtypes => 'pg_lsn pg_lsn', 8419 prosrc => 'pg_lsn_ne' }, 8420{ oid => '3237', 8421 proname => 'pg_lsn_mi', prorettype => 'numeric', 8422 proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_mi' }, 8423{ oid => '3238', descr => 'I/O', 8424 proname => 'pg_lsn_recv', prorettype => 'pg_lsn', proargtypes => 'internal', 8425 prosrc => 'pg_lsn_recv' }, 8426{ oid => '3239', descr => 'I/O', 8427 proname => 'pg_lsn_send', prorettype => 'bytea', proargtypes => 'pg_lsn', 8428 prosrc => 'pg_lsn_send' }, 8429{ oid => '3251', descr => 'less-equal-greater', 8430 proname => 'pg_lsn_cmp', prorettype => 'int4', proargtypes => 'pg_lsn pg_lsn', 8431 prosrc => 'pg_lsn_cmp' }, 8432{ oid => '3252', descr => 'hash', 8433 proname => 'pg_lsn_hash', prorettype => 'int4', proargtypes => 'pg_lsn', 8434 prosrc => 'pg_lsn_hash' }, 8435{ oid => '3413', descr => 'hash', 8436 proname => 'pg_lsn_hash_extended', prorettype => 'int8', 8437 proargtypes => 'pg_lsn int8', prosrc => 'pg_lsn_hash_extended' }, 8438 8439# enum related procs 8440{ oid => '3504', descr => 'I/O', 8441 proname => 'anyenum_in', prorettype => 'anyenum', proargtypes => 'cstring', 8442 prosrc => 'anyenum_in' }, 8443{ oid => '3505', descr => 'I/O', 8444 proname => 'anyenum_out', provolatile => 's', prorettype => 'cstring', 8445 proargtypes => 'anyenum', prosrc => 'anyenum_out' }, 8446{ oid => '3506', descr => 'I/O', 8447 proname => 'enum_in', provolatile => 's', prorettype => 'anyenum', 8448 proargtypes => 'cstring oid', prosrc => 'enum_in' }, 8449{ oid => '3507', descr => 'I/O', 8450 proname => 'enum_out', provolatile => 's', prorettype => 'cstring', 8451 proargtypes => 'anyenum', prosrc => 'enum_out' }, 8452{ oid => '3508', 8453 proname => 'enum_eq', prorettype => 'bool', proargtypes => 'anyenum anyenum', 8454 prosrc => 'enum_eq' }, 8455{ oid => '3509', 8456 proname => 'enum_ne', prorettype => 'bool', proargtypes => 'anyenum anyenum', 8457 prosrc => 'enum_ne' }, 8458{ oid => '3510', 8459 proname => 'enum_lt', prorettype => 'bool', proargtypes => 'anyenum anyenum', 8460 prosrc => 'enum_lt' }, 8461{ oid => '3511', 8462 proname => 'enum_gt', prorettype => 'bool', proargtypes => 'anyenum anyenum', 8463 prosrc => 'enum_gt' }, 8464{ oid => '3512', 8465 proname => 'enum_le', prorettype => 'bool', proargtypes => 'anyenum anyenum', 8466 prosrc => 'enum_le' }, 8467{ oid => '3513', 8468 proname => 'enum_ge', prorettype => 'bool', proargtypes => 'anyenum anyenum', 8469 prosrc => 'enum_ge' }, 8470{ oid => '3514', descr => 'less-equal-greater', 8471 proname => 'enum_cmp', prorettype => 'int4', proargtypes => 'anyenum anyenum', 8472 prosrc => 'enum_cmp' }, 8473{ oid => '3515', descr => 'hash', 8474 proname => 'hashenum', prorettype => 'int4', proargtypes => 'anyenum', 8475 prosrc => 'hashenum' }, 8476{ oid => '3414', descr => 'hash', 8477 proname => 'hashenumextended', prorettype => 'int8', 8478 proargtypes => 'anyenum int8', prosrc => 'hashenumextended' }, 8479{ oid => '3524', descr => 'smaller of two', 8480 proname => 'enum_smaller', prorettype => 'anyenum', 8481 proargtypes => 'anyenum anyenum', prosrc => 'enum_smaller' }, 8482{ oid => '3525', descr => 'larger of two', 8483 proname => 'enum_larger', prorettype => 'anyenum', 8484 proargtypes => 'anyenum anyenum', prosrc => 'enum_larger' }, 8485{ oid => '3526', descr => 'maximum value of all enum input values', 8486 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'anyenum', 8487 proargtypes => 'anyenum', prosrc => 'aggregate_dummy' }, 8488{ oid => '3527', descr => 'minimum value of all enum input values', 8489 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'anyenum', 8490 proargtypes => 'anyenum', prosrc => 'aggregate_dummy' }, 8491{ oid => '3528', descr => 'first value of the input enum type', 8492 proname => 'enum_first', proisstrict => 'f', provolatile => 's', 8493 prorettype => 'anyenum', proargtypes => 'anyenum', prosrc => 'enum_first' }, 8494{ oid => '3529', descr => 'last value of the input enum type', 8495 proname => 'enum_last', proisstrict => 'f', provolatile => 's', 8496 prorettype => 'anyenum', proargtypes => 'anyenum', prosrc => 'enum_last' }, 8497{ oid => '3530', 8498 descr => 'range between the two given enum values, as an ordered array', 8499 proname => 'enum_range', proisstrict => 'f', provolatile => 's', 8500 prorettype => 'anyarray', proargtypes => 'anyenum anyenum', 8501 prosrc => 'enum_range_bounds' }, 8502{ oid => '3531', descr => 'range of the given enum type, as an ordered array', 8503 proname => 'enum_range', proisstrict => 'f', provolatile => 's', 8504 prorettype => 'anyarray', proargtypes => 'anyenum', 8505 prosrc => 'enum_range_all' }, 8506{ oid => '3532', descr => 'I/O', 8507 proname => 'enum_recv', provolatile => 's', prorettype => 'anyenum', 8508 proargtypes => 'internal oid', prosrc => 'enum_recv' }, 8509{ oid => '3533', descr => 'I/O', 8510 proname => 'enum_send', provolatile => 's', prorettype => 'bytea', 8511 proargtypes => 'anyenum', prosrc => 'enum_send' }, 8512 8513# text search stuff 8514{ oid => '3610', descr => 'I/O', 8515 proname => 'tsvectorin', prorettype => 'tsvector', proargtypes => 'cstring', 8516 prosrc => 'tsvectorin' }, 8517{ oid => '3639', descr => 'I/O', 8518 proname => 'tsvectorrecv', prorettype => 'tsvector', 8519 proargtypes => 'internal', prosrc => 'tsvectorrecv' }, 8520{ oid => '3611', descr => 'I/O', 8521 proname => 'tsvectorout', prorettype => 'cstring', proargtypes => 'tsvector', 8522 prosrc => 'tsvectorout' }, 8523{ oid => '3638', descr => 'I/O', 8524 proname => 'tsvectorsend', prorettype => 'bytea', proargtypes => 'tsvector', 8525 prosrc => 'tsvectorsend' }, 8526{ oid => '3612', descr => 'I/O', 8527 proname => 'tsqueryin', prorettype => 'tsquery', proargtypes => 'cstring', 8528 prosrc => 'tsqueryin' }, 8529{ oid => '3641', descr => 'I/O', 8530 proname => 'tsqueryrecv', prorettype => 'tsquery', proargtypes => 'internal', 8531 prosrc => 'tsqueryrecv' }, 8532{ oid => '3613', descr => 'I/O', 8533 proname => 'tsqueryout', prorettype => 'cstring', proargtypes => 'tsquery', 8534 prosrc => 'tsqueryout' }, 8535{ oid => '3640', descr => 'I/O', 8536 proname => 'tsquerysend', prorettype => 'bytea', proargtypes => 'tsquery', 8537 prosrc => 'tsquerysend' }, 8538{ oid => '3646', descr => 'I/O', 8539 proname => 'gtsvectorin', prorettype => 'gtsvector', proargtypes => 'cstring', 8540 prosrc => 'gtsvectorin' }, 8541{ oid => '3647', descr => 'I/O', 8542 proname => 'gtsvectorout', prorettype => 'cstring', 8543 proargtypes => 'gtsvector', prosrc => 'gtsvectorout' }, 8544 8545{ oid => '3616', 8546 proname => 'tsvector_lt', prorettype => 'bool', 8547 proargtypes => 'tsvector tsvector', prosrc => 'tsvector_lt' }, 8548{ oid => '3617', 8549 proname => 'tsvector_le', prorettype => 'bool', 8550 proargtypes => 'tsvector tsvector', prosrc => 'tsvector_le' }, 8551{ oid => '3618', 8552 proname => 'tsvector_eq', prorettype => 'bool', 8553 proargtypes => 'tsvector tsvector', prosrc => 'tsvector_eq' }, 8554{ oid => '3619', 8555 proname => 'tsvector_ne', prorettype => 'bool', 8556 proargtypes => 'tsvector tsvector', prosrc => 'tsvector_ne' }, 8557{ oid => '3620', 8558 proname => 'tsvector_ge', prorettype => 'bool', 8559 proargtypes => 'tsvector tsvector', prosrc => 'tsvector_ge' }, 8560{ oid => '3621', 8561 proname => 'tsvector_gt', prorettype => 'bool', 8562 proargtypes => 'tsvector tsvector', prosrc => 'tsvector_gt' }, 8563{ oid => '3622', descr => 'less-equal-greater', 8564 proname => 'tsvector_cmp', prorettype => 'int4', 8565 proargtypes => 'tsvector tsvector', prosrc => 'tsvector_cmp' }, 8566 8567{ oid => '3711', descr => 'number of lexemes', 8568 proname => 'length', prorettype => 'int4', proargtypes => 'tsvector', 8569 prosrc => 'tsvector_length' }, 8570{ oid => '3623', descr => 'strip position information', 8571 proname => 'strip', prorettype => 'tsvector', proargtypes => 'tsvector', 8572 prosrc => 'tsvector_strip' }, 8573{ oid => '3624', descr => 'set given weight for whole tsvector', 8574 proname => 'setweight', prorettype => 'tsvector', 8575 proargtypes => 'tsvector char', prosrc => 'tsvector_setweight' }, 8576{ oid => '3320', descr => 'set given weight for given lexemes', 8577 proname => 'setweight', prorettype => 'tsvector', 8578 proargtypes => 'tsvector char _text', 8579 prosrc => 'tsvector_setweight_by_filter' }, 8580{ oid => '3625', 8581 proname => 'tsvector_concat', prorettype => 'tsvector', 8582 proargtypes => 'tsvector tsvector', prosrc => 'tsvector_concat' }, 8583{ oid => '3321', descr => 'delete lexeme', 8584 proname => 'ts_delete', prorettype => 'tsvector', 8585 proargtypes => 'tsvector text', prosrc => 'tsvector_delete_str' }, 8586{ oid => '3323', descr => 'delete given lexemes', 8587 proname => 'ts_delete', prorettype => 'tsvector', 8588 proargtypes => 'tsvector _text', prosrc => 'tsvector_delete_arr' }, 8589{ oid => '3322', descr => 'expand tsvector to set of rows', 8590 proname => 'unnest', prorows => '10', proretset => 't', 8591 prorettype => 'record', proargtypes => 'tsvector', 8592 proallargtypes => '{tsvector,text,_int2,_text}', proargmodes => '{i,o,o,o}', 8593 proargnames => '{tsvector,lexeme,positions,weights}', 8594 prosrc => 'tsvector_unnest' }, 8595{ oid => '3326', descr => 'convert tsvector to array of lexemes', 8596 proname => 'tsvector_to_array', prorettype => '_text', 8597 proargtypes => 'tsvector', prosrc => 'tsvector_to_array' }, 8598{ oid => '3327', descr => 'build tsvector from array of lexemes', 8599 proname => 'array_to_tsvector', prorettype => 'tsvector', 8600 proargtypes => '_text', prosrc => 'array_to_tsvector' }, 8601{ oid => '3319', 8602 descr => 'delete lexemes that do not have one of the given weights', 8603 proname => 'ts_filter', prorettype => 'tsvector', 8604 proargtypes => 'tsvector _char', prosrc => 'tsvector_filter' }, 8605 8606{ oid => '3634', 8607 proname => 'ts_match_vq', prorettype => 'bool', 8608 proargtypes => 'tsvector tsquery', prosrc => 'ts_match_vq' }, 8609{ oid => '3635', 8610 proname => 'ts_match_qv', prorettype => 'bool', 8611 proargtypes => 'tsquery tsvector', prosrc => 'ts_match_qv' }, 8612{ oid => '3760', 8613 proname => 'ts_match_tt', procost => '100', provolatile => 's', 8614 prorettype => 'bool', proargtypes => 'text text', prosrc => 'ts_match_tt' }, 8615{ oid => '3761', 8616 proname => 'ts_match_tq', procost => '100', provolatile => 's', 8617 prorettype => 'bool', proargtypes => 'text tsquery', 8618 prosrc => 'ts_match_tq' }, 8619 8620{ oid => '3648', descr => 'GiST tsvector support', 8621 proname => 'gtsvector_compress', prorettype => 'internal', 8622 proargtypes => 'internal', prosrc => 'gtsvector_compress' }, 8623{ oid => '3649', descr => 'GiST tsvector support', 8624 proname => 'gtsvector_decompress', prorettype => 'internal', 8625 proargtypes => 'internal', prosrc => 'gtsvector_decompress' }, 8626{ oid => '3650', descr => 'GiST tsvector support', 8627 proname => 'gtsvector_picksplit', prorettype => 'internal', 8628 proargtypes => 'internal internal', prosrc => 'gtsvector_picksplit' }, 8629{ oid => '3651', descr => 'GiST tsvector support', 8630 proname => 'gtsvector_union', prorettype => 'gtsvector', 8631 proargtypes => 'internal internal', prosrc => 'gtsvector_union' }, 8632{ oid => '3652', descr => 'GiST tsvector support', 8633 proname => 'gtsvector_same', prorettype => 'internal', 8634 proargtypes => 'gtsvector gtsvector internal', prosrc => 'gtsvector_same' }, 8635{ oid => '3653', descr => 'GiST tsvector support', 8636 proname => 'gtsvector_penalty', prorettype => 'internal', 8637 proargtypes => 'internal internal internal', prosrc => 'gtsvector_penalty' }, 8638{ oid => '3654', descr => 'GiST tsvector support', 8639 proname => 'gtsvector_consistent', prorettype => 'bool', 8640 proargtypes => 'internal tsvector int2 oid internal', 8641 prosrc => 'gtsvector_consistent' }, 8642{ oid => '3790', descr => 'GiST tsvector support (obsolete)', 8643 proname => 'gtsvector_consistent', prorettype => 'bool', 8644 proargtypes => 'internal gtsvector int4 oid internal', 8645 prosrc => 'gtsvector_consistent_oldsig' }, 8646 8647{ oid => '3656', descr => 'GIN tsvector support', 8648 proname => 'gin_extract_tsvector', prorettype => 'internal', 8649 proargtypes => 'tsvector internal internal', 8650 prosrc => 'gin_extract_tsvector' }, 8651{ oid => '3657', descr => 'GIN tsvector support', 8652 proname => 'gin_extract_tsquery', prorettype => 'internal', 8653 proargtypes => 'tsvector internal int2 internal internal internal internal', 8654 prosrc => 'gin_extract_tsquery' }, 8655{ oid => '3658', descr => 'GIN tsvector support', 8656 proname => 'gin_tsquery_consistent', prorettype => 'bool', 8657 proargtypes => 'internal int2 tsvector int4 internal internal internal internal', 8658 prosrc => 'gin_tsquery_consistent' }, 8659{ oid => '3921', descr => 'GIN tsvector support', 8660 proname => 'gin_tsquery_triconsistent', prorettype => 'char', 8661 proargtypes => 'internal int2 tsvector int4 internal internal internal', 8662 prosrc => 'gin_tsquery_triconsistent' }, 8663{ oid => '3724', descr => 'GIN tsvector support', 8664 proname => 'gin_cmp_tslexeme', prorettype => 'int4', 8665 proargtypes => 'text text', prosrc => 'gin_cmp_tslexeme' }, 8666{ oid => '2700', descr => 'GIN tsvector support', 8667 proname => 'gin_cmp_prefix', prorettype => 'int4', 8668 proargtypes => 'text text int2 internal', prosrc => 'gin_cmp_prefix' }, 8669{ oid => '3077', descr => 'GIN tsvector support (obsolete)', 8670 proname => 'gin_extract_tsvector', prorettype => 'internal', 8671 proargtypes => 'tsvector internal', prosrc => 'gin_extract_tsvector_2args' }, 8672{ oid => '3087', descr => 'GIN tsvector support (obsolete)', 8673 proname => 'gin_extract_tsquery', prorettype => 'internal', 8674 proargtypes => 'tsquery internal int2 internal internal', 8675 prosrc => 'gin_extract_tsquery_5args' }, 8676{ oid => '3088', descr => 'GIN tsvector support (obsolete)', 8677 proname => 'gin_tsquery_consistent', prorettype => 'bool', 8678 proargtypes => 'internal int2 tsquery int4 internal internal', 8679 prosrc => 'gin_tsquery_consistent_6args' }, 8680{ oid => '3791', descr => 'GIN tsvector support (obsolete)', 8681 proname => 'gin_extract_tsquery', prorettype => 'internal', 8682 proargtypes => 'tsquery internal int2 internal internal internal internal', 8683 prosrc => 'gin_extract_tsquery_oldsig' }, 8684{ oid => '3792', descr => 'GIN tsvector support (obsolete)', 8685 proname => 'gin_tsquery_consistent', prorettype => 'bool', 8686 proargtypes => 'internal int2 tsquery int4 internal internal internal internal', 8687 prosrc => 'gin_tsquery_consistent_oldsig' }, 8688 8689{ oid => '3789', descr => 'clean up GIN pending list', 8690 proname => 'gin_clean_pending_list', provolatile => 'v', proparallel => 'u', 8691 prorettype => 'int8', proargtypes => 'regclass', 8692 prosrc => 'gin_clean_pending_list' }, 8693 8694{ oid => '3662', 8695 proname => 'tsquery_lt', prorettype => 'bool', 8696 proargtypes => 'tsquery tsquery', prosrc => 'tsquery_lt' }, 8697{ oid => '3663', 8698 proname => 'tsquery_le', prorettype => 'bool', 8699 proargtypes => 'tsquery tsquery', prosrc => 'tsquery_le' }, 8700{ oid => '3664', 8701 proname => 'tsquery_eq', prorettype => 'bool', 8702 proargtypes => 'tsquery tsquery', prosrc => 'tsquery_eq' }, 8703{ oid => '3665', 8704 proname => 'tsquery_ne', prorettype => 'bool', 8705 proargtypes => 'tsquery tsquery', prosrc => 'tsquery_ne' }, 8706{ oid => '3666', 8707 proname => 'tsquery_ge', prorettype => 'bool', 8708 proargtypes => 'tsquery tsquery', prosrc => 'tsquery_ge' }, 8709{ oid => '3667', 8710 proname => 'tsquery_gt', prorettype => 'bool', 8711 proargtypes => 'tsquery tsquery', prosrc => 'tsquery_gt' }, 8712{ oid => '3668', descr => 'less-equal-greater', 8713 proname => 'tsquery_cmp', prorettype => 'int4', 8714 proargtypes => 'tsquery tsquery', prosrc => 'tsquery_cmp' }, 8715 8716{ oid => '3669', 8717 proname => 'tsquery_and', prorettype => 'tsquery', 8718 proargtypes => 'tsquery tsquery', prosrc => 'tsquery_and' }, 8719{ oid => '3670', 8720 proname => 'tsquery_or', prorettype => 'tsquery', 8721 proargtypes => 'tsquery tsquery', prosrc => 'tsquery_or' }, 8722{ oid => '5003', 8723 proname => 'tsquery_phrase', prorettype => 'tsquery', 8724 proargtypes => 'tsquery tsquery', prosrc => 'tsquery_phrase' }, 8725{ oid => '5004', descr => 'phrase-concatenate with distance', 8726 proname => 'tsquery_phrase', prorettype => 'tsquery', 8727 proargtypes => 'tsquery tsquery int4', prosrc => 'tsquery_phrase_distance' }, 8728{ oid => '3671', 8729 proname => 'tsquery_not', prorettype => 'tsquery', proargtypes => 'tsquery', 8730 prosrc => 'tsquery_not' }, 8731 8732{ oid => '3691', 8733 proname => 'tsq_mcontains', prorettype => 'bool', 8734 proargtypes => 'tsquery tsquery', prosrc => 'tsq_mcontains' }, 8735{ oid => '3692', 8736 proname => 'tsq_mcontained', prorettype => 'bool', 8737 proargtypes => 'tsquery tsquery', prosrc => 'tsq_mcontained' }, 8738 8739{ oid => '3672', descr => 'number of nodes', 8740 proname => 'numnode', prorettype => 'int4', proargtypes => 'tsquery', 8741 prosrc => 'tsquery_numnode' }, 8742{ oid => '3673', descr => 'show real useful query for GiST index', 8743 proname => 'querytree', prorettype => 'text', proargtypes => 'tsquery', 8744 prosrc => 'tsquerytree' }, 8745 8746{ oid => '3684', descr => 'rewrite tsquery', 8747 proname => 'ts_rewrite', prorettype => 'tsquery', 8748 proargtypes => 'tsquery tsquery tsquery', prosrc => 'tsquery_rewrite' }, 8749{ oid => '3685', descr => 'rewrite tsquery', 8750 proname => 'ts_rewrite', procost => '100', provolatile => 'v', 8751 proparallel => 'u', prorettype => 'tsquery', proargtypes => 'tsquery text', 8752 prosrc => 'tsquery_rewrite_query' }, 8753 8754{ oid => '3695', descr => 'GiST tsquery support', 8755 proname => 'gtsquery_compress', prorettype => 'internal', 8756 proargtypes => 'internal', prosrc => 'gtsquery_compress' }, 8757{ oid => '3697', descr => 'GiST tsquery support', 8758 proname => 'gtsquery_picksplit', prorettype => 'internal', 8759 proargtypes => 'internal internal', prosrc => 'gtsquery_picksplit' }, 8760{ oid => '3698', descr => 'GiST tsquery support', 8761 proname => 'gtsquery_union', prorettype => 'int8', 8762 proargtypes => 'internal internal', prosrc => 'gtsquery_union' }, 8763{ oid => '3699', descr => 'GiST tsquery support', 8764 proname => 'gtsquery_same', prorettype => 'internal', 8765 proargtypes => 'int8 int8 internal', prosrc => 'gtsquery_same' }, 8766{ oid => '3700', descr => 'GiST tsquery support', 8767 proname => 'gtsquery_penalty', prorettype => 'internal', 8768 proargtypes => 'internal internal internal', prosrc => 'gtsquery_penalty' }, 8769{ oid => '3701', descr => 'GiST tsquery support', 8770 proname => 'gtsquery_consistent', prorettype => 'bool', 8771 proargtypes => 'internal tsquery int2 oid internal', 8772 prosrc => 'gtsquery_consistent' }, 8773{ oid => '3793', descr => 'GiST tsquery support (obsolete)', 8774 proname => 'gtsquery_consistent', prorettype => 'bool', 8775 proargtypes => 'internal internal int4 oid internal', 8776 prosrc => 'gtsquery_consistent_oldsig' }, 8777 8778{ oid => '3686', descr => 'restriction selectivity of tsvector @@ tsquery', 8779 proname => 'tsmatchsel', provolatile => 's', prorettype => 'float8', 8780 proargtypes => 'internal oid internal int4', prosrc => 'tsmatchsel' }, 8781{ oid => '3687', descr => 'join selectivity of tsvector @@ tsquery', 8782 proname => 'tsmatchjoinsel', provolatile => 's', prorettype => 'float8', 8783 proargtypes => 'internal oid internal int2 internal', 8784 prosrc => 'tsmatchjoinsel' }, 8785{ oid => '3688', descr => 'tsvector typanalyze', 8786 proname => 'ts_typanalyze', provolatile => 's', prorettype => 'bool', 8787 proargtypes => 'internal', prosrc => 'ts_typanalyze' }, 8788 8789{ oid => '3689', descr => 'statistics of tsvector column', 8790 proname => 'ts_stat', procost => '10', prorows => '10000', proretset => 't', 8791 provolatile => 'v', proparallel => 'u', prorettype => 'record', 8792 proargtypes => 'text', proallargtypes => '{text,text,int4,int4}', 8793 proargmodes => '{i,o,o,o}', proargnames => '{query,word,ndoc,nentry}', 8794 prosrc => 'ts_stat1' }, 8795{ oid => '3690', descr => 'statistics of tsvector column', 8796 proname => 'ts_stat', procost => '10', prorows => '10000', proretset => 't', 8797 provolatile => 'v', proparallel => 'u', prorettype => 'record', 8798 proargtypes => 'text text', proallargtypes => '{text,text,text,int4,int4}', 8799 proargmodes => '{i,i,o,o,o}', 8800 proargnames => '{query,weights,word,ndoc,nentry}', prosrc => 'ts_stat2' }, 8801 8802{ oid => '3703', descr => 'relevance', 8803 proname => 'ts_rank', prorettype => 'float4', 8804 proargtypes => '_float4 tsvector tsquery int4', prosrc => 'ts_rank_wttf' }, 8805{ oid => '3704', descr => 'relevance', 8806 proname => 'ts_rank', prorettype => 'float4', 8807 proargtypes => '_float4 tsvector tsquery', prosrc => 'ts_rank_wtt' }, 8808{ oid => '3705', descr => 'relevance', 8809 proname => 'ts_rank', prorettype => 'float4', 8810 proargtypes => 'tsvector tsquery int4', prosrc => 'ts_rank_ttf' }, 8811{ oid => '3706', descr => 'relevance', 8812 proname => 'ts_rank', prorettype => 'float4', 8813 proargtypes => 'tsvector tsquery', prosrc => 'ts_rank_tt' }, 8814{ oid => '3707', descr => 'relevance', 8815 proname => 'ts_rank_cd', prorettype => 'float4', 8816 proargtypes => '_float4 tsvector tsquery int4', prosrc => 'ts_rankcd_wttf' }, 8817{ oid => '3708', descr => 'relevance', 8818 proname => 'ts_rank_cd', prorettype => 'float4', 8819 proargtypes => '_float4 tsvector tsquery', prosrc => 'ts_rankcd_wtt' }, 8820{ oid => '3709', descr => 'relevance', 8821 proname => 'ts_rank_cd', prorettype => 'float4', 8822 proargtypes => 'tsvector tsquery int4', prosrc => 'ts_rankcd_ttf' }, 8823{ oid => '3710', descr => 'relevance', 8824 proname => 'ts_rank_cd', prorettype => 'float4', 8825 proargtypes => 'tsvector tsquery', prosrc => 'ts_rankcd_tt' }, 8826 8827{ oid => '3713', descr => 'get parser\'s token types', 8828 proname => 'ts_token_type', prorows => '16', proretset => 't', 8829 prorettype => 'record', proargtypes => 'oid', 8830 proallargtypes => '{oid,int4,text,text}', proargmodes => '{i,o,o,o}', 8831 proargnames => '{parser_oid,tokid,alias,description}', 8832 prosrc => 'ts_token_type_byid' }, 8833{ oid => '3714', descr => 'get parser\'s token types', 8834 proname => 'ts_token_type', prorows => '16', proretset => 't', 8835 provolatile => 's', prorettype => 'record', proargtypes => 'text', 8836 proallargtypes => '{text,int4,text,text}', proargmodes => '{i,o,o,o}', 8837 proargnames => '{parser_name,tokid,alias,description}', 8838 prosrc => 'ts_token_type_byname' }, 8839{ oid => '3715', descr => 'parse text to tokens', 8840 proname => 'ts_parse', prorows => '1000', proretset => 't', 8841 prorettype => 'record', proargtypes => 'oid text', 8842 proallargtypes => '{oid,text,int4,text}', proargmodes => '{i,i,o,o}', 8843 proargnames => '{parser_oid,txt,tokid,token}', prosrc => 'ts_parse_byid' }, 8844{ oid => '3716', descr => 'parse text to tokens', 8845 proname => 'ts_parse', prorows => '1000', proretset => 't', 8846 provolatile => 's', prorettype => 'record', proargtypes => 'text text', 8847 proallargtypes => '{text,text,int4,text}', proargmodes => '{i,i,o,o}', 8848 proargnames => '{parser_name,txt,tokid,token}', prosrc => 'ts_parse_byname' }, 8849 8850{ oid => '3717', descr => '(internal)', 8851 proname => 'prsd_start', prorettype => 'internal', 8852 proargtypes => 'internal int4', prosrc => 'prsd_start' }, 8853{ oid => '3718', descr => '(internal)', 8854 proname => 'prsd_nexttoken', prorettype => 'internal', 8855 proargtypes => 'internal internal internal', prosrc => 'prsd_nexttoken' }, 8856{ oid => '3719', descr => '(internal)', 8857 proname => 'prsd_end', prorettype => 'void', proargtypes => 'internal', 8858 prosrc => 'prsd_end' }, 8859{ oid => '3720', descr => '(internal)', 8860 proname => 'prsd_headline', prorettype => 'internal', 8861 proargtypes => 'internal internal tsquery', prosrc => 'prsd_headline' }, 8862{ oid => '3721', descr => '(internal)', 8863 proname => 'prsd_lextype', prorettype => 'internal', 8864 proargtypes => 'internal', prosrc => 'prsd_lextype' }, 8865 8866{ oid => '3723', descr => 'normalize one word by dictionary', 8867 proname => 'ts_lexize', prorettype => '_text', 8868 proargtypes => 'regdictionary text', prosrc => 'ts_lexize' }, 8869 8870{ oid => '3725', descr => '(internal)', 8871 proname => 'dsimple_init', prorettype => 'internal', 8872 proargtypes => 'internal', prosrc => 'dsimple_init' }, 8873{ oid => '3726', descr => '(internal)', 8874 proname => 'dsimple_lexize', prorettype => 'internal', 8875 proargtypes => 'internal internal internal internal', 8876 prosrc => 'dsimple_lexize' }, 8877 8878{ oid => '3728', descr => '(internal)', 8879 proname => 'dsynonym_init', prorettype => 'internal', 8880 proargtypes => 'internal', prosrc => 'dsynonym_init' }, 8881{ oid => '3729', descr => '(internal)', 8882 proname => 'dsynonym_lexize', prorettype => 'internal', 8883 proargtypes => 'internal internal internal internal', 8884 prosrc => 'dsynonym_lexize' }, 8885 8886{ oid => '3731', descr => '(internal)', 8887 proname => 'dispell_init', prorettype => 'internal', 8888 proargtypes => 'internal', prosrc => 'dispell_init' }, 8889{ oid => '3732', descr => '(internal)', 8890 proname => 'dispell_lexize', prorettype => 'internal', 8891 proargtypes => 'internal internal internal internal', 8892 prosrc => 'dispell_lexize' }, 8893 8894{ oid => '3740', descr => '(internal)', 8895 proname => 'thesaurus_init', prorettype => 'internal', 8896 proargtypes => 'internal', prosrc => 'thesaurus_init' }, 8897{ oid => '3741', descr => '(internal)', 8898 proname => 'thesaurus_lexize', prorettype => 'internal', 8899 proargtypes => 'internal internal internal internal', 8900 prosrc => 'thesaurus_lexize' }, 8901 8902{ oid => '3743', descr => 'generate headline', 8903 proname => 'ts_headline', procost => '100', prorettype => 'text', 8904 proargtypes => 'regconfig text tsquery text', 8905 prosrc => 'ts_headline_byid_opt' }, 8906{ oid => '3744', descr => 'generate headline', 8907 proname => 'ts_headline', procost => '100', prorettype => 'text', 8908 proargtypes => 'regconfig text tsquery', prosrc => 'ts_headline_byid' }, 8909{ oid => '3754', descr => 'generate headline', 8910 proname => 'ts_headline', procost => '100', provolatile => 's', 8911 prorettype => 'text', proargtypes => 'text tsquery text', 8912 prosrc => 'ts_headline_opt' }, 8913{ oid => '3755', descr => 'generate headline', 8914 proname => 'ts_headline', procost => '100', provolatile => 's', 8915 prorettype => 'text', proargtypes => 'text tsquery', 8916 prosrc => 'ts_headline' }, 8917 8918{ oid => '4201', descr => 'generate headline from jsonb', 8919 proname => 'ts_headline', procost => '100', prorettype => 'jsonb', 8920 proargtypes => 'regconfig jsonb tsquery text', 8921 prosrc => 'ts_headline_jsonb_byid_opt' }, 8922{ oid => '4202', descr => 'generate headline from jsonb', 8923 proname => 'ts_headline', procost => '100', prorettype => 'jsonb', 8924 proargtypes => 'regconfig jsonb tsquery', 8925 prosrc => 'ts_headline_jsonb_byid' }, 8926{ oid => '4203', descr => 'generate headline from jsonb', 8927 proname => 'ts_headline', procost => '100', provolatile => 's', 8928 prorettype => 'jsonb', proargtypes => 'jsonb tsquery text', 8929 prosrc => 'ts_headline_jsonb_opt' }, 8930{ oid => '4204', descr => 'generate headline from jsonb', 8931 proname => 'ts_headline', procost => '100', provolatile => 's', 8932 prorettype => 'jsonb', proargtypes => 'jsonb tsquery', 8933 prosrc => 'ts_headline_jsonb' }, 8934 8935{ oid => '4205', descr => 'generate headline from json', 8936 proname => 'ts_headline', procost => '100', prorettype => 'json', 8937 proargtypes => 'regconfig json tsquery text', 8938 prosrc => 'ts_headline_json_byid_opt' }, 8939{ oid => '4206', descr => 'generate headline from json', 8940 proname => 'ts_headline', procost => '100', prorettype => 'json', 8941 proargtypes => 'regconfig json tsquery', prosrc => 'ts_headline_json_byid' }, 8942{ oid => '4207', descr => 'generate headline from json', 8943 proname => 'ts_headline', procost => '100', provolatile => 's', 8944 prorettype => 'json', proargtypes => 'json tsquery text', 8945 prosrc => 'ts_headline_json_opt' }, 8946{ oid => '4208', descr => 'generate headline from json', 8947 proname => 'ts_headline', procost => '100', provolatile => 's', 8948 prorettype => 'json', proargtypes => 'json tsquery', 8949 prosrc => 'ts_headline_json' }, 8950 8951{ oid => '3745', descr => 'transform to tsvector', 8952 proname => 'to_tsvector', procost => '100', prorettype => 'tsvector', 8953 proargtypes => 'regconfig text', prosrc => 'to_tsvector_byid' }, 8954{ oid => '3746', descr => 'make tsquery', 8955 proname => 'to_tsquery', procost => '100', prorettype => 'tsquery', 8956 proargtypes => 'regconfig text', prosrc => 'to_tsquery_byid' }, 8957{ oid => '3747', descr => 'transform to tsquery', 8958 proname => 'plainto_tsquery', procost => '100', prorettype => 'tsquery', 8959 proargtypes => 'regconfig text', prosrc => 'plainto_tsquery_byid' }, 8960{ oid => '5006', descr => 'transform to tsquery', 8961 proname => 'phraseto_tsquery', procost => '100', prorettype => 'tsquery', 8962 proargtypes => 'regconfig text', prosrc => 'phraseto_tsquery_byid' }, 8963{ oid => '5007', descr => 'transform to tsquery', 8964 proname => 'websearch_to_tsquery', procost => '100', prorettype => 'tsquery', 8965 proargtypes => 'regconfig text', prosrc => 'websearch_to_tsquery_byid' }, 8966{ oid => '3749', descr => 'transform to tsvector', 8967 proname => 'to_tsvector', procost => '100', provolatile => 's', 8968 prorettype => 'tsvector', proargtypes => 'text', prosrc => 'to_tsvector' }, 8969{ oid => '3750', descr => 'make tsquery', 8970 proname => 'to_tsquery', procost => '100', provolatile => 's', 8971 prorettype => 'tsquery', proargtypes => 'text', prosrc => 'to_tsquery' }, 8972{ oid => '3751', descr => 'transform to tsquery', 8973 proname => 'plainto_tsquery', procost => '100', provolatile => 's', 8974 prorettype => 'tsquery', proargtypes => 'text', prosrc => 'plainto_tsquery' }, 8975{ oid => '5001', descr => 'transform to tsquery', 8976 proname => 'phraseto_tsquery', procost => '100', provolatile => 's', 8977 prorettype => 'tsquery', proargtypes => 'text', 8978 prosrc => 'phraseto_tsquery' }, 8979{ oid => '5009', descr => 'transform to tsquery', 8980 proname => 'websearch_to_tsquery', procost => '100', provolatile => 's', 8981 prorettype => 'tsquery', proargtypes => 'text', 8982 prosrc => 'websearch_to_tsquery' }, 8983{ oid => '4209', descr => 'transform string values from jsonb to tsvector', 8984 proname => 'to_tsvector', procost => '100', provolatile => 's', 8985 prorettype => 'tsvector', proargtypes => 'jsonb', 8986 prosrc => 'jsonb_string_to_tsvector' }, 8987{ oid => '4213', descr => 'transform specified values from jsonb to tsvector', 8988 proname => 'jsonb_to_tsvector', procost => '100', provolatile => 's', 8989 prorettype => 'tsvector', proargtypes => 'jsonb jsonb', 8990 prosrc => 'jsonb_to_tsvector' }, 8991{ oid => '4210', descr => 'transform string values from json to tsvector', 8992 proname => 'to_tsvector', procost => '100', provolatile => 's', 8993 prorettype => 'tsvector', proargtypes => 'json', 8994 prosrc => 'json_string_to_tsvector' }, 8995{ oid => '4215', descr => 'transform specified values from json to tsvector', 8996 proname => 'json_to_tsvector', procost => '100', provolatile => 's', 8997 prorettype => 'tsvector', proargtypes => 'json jsonb', 8998 prosrc => 'json_to_tsvector' }, 8999{ oid => '4211', descr => 'transform string values from jsonb to tsvector', 9000 proname => 'to_tsvector', procost => '100', prorettype => 'tsvector', 9001 proargtypes => 'regconfig jsonb', prosrc => 'jsonb_string_to_tsvector_byid' }, 9002{ oid => '4214', descr => 'transform specified values from jsonb to tsvector', 9003 proname => 'jsonb_to_tsvector', procost => '100', prorettype => 'tsvector', 9004 proargtypes => 'regconfig jsonb jsonb', prosrc => 'jsonb_to_tsvector_byid' }, 9005{ oid => '4212', descr => 'transform string values from json to tsvector', 9006 proname => 'to_tsvector', procost => '100', prorettype => 'tsvector', 9007 proargtypes => 'regconfig json', prosrc => 'json_string_to_tsvector_byid' }, 9008{ oid => '4216', descr => 'transform specified values from json to tsvector', 9009 proname => 'json_to_tsvector', procost => '100', prorettype => 'tsvector', 9010 proargtypes => 'regconfig json jsonb', prosrc => 'json_to_tsvector_byid' }, 9011 9012{ oid => '3752', descr => 'trigger for automatic update of tsvector column', 9013 proname => 'tsvector_update_trigger', proisstrict => 'f', provolatile => 'v', 9014 prorettype => 'trigger', proargtypes => '', 9015 prosrc => 'tsvector_update_trigger_byid' }, 9016{ oid => '3753', descr => 'trigger for automatic update of tsvector column', 9017 proname => 'tsvector_update_trigger_column', proisstrict => 'f', 9018 provolatile => 'v', prorettype => 'trigger', proargtypes => '', 9019 prosrc => 'tsvector_update_trigger_bycolumn' }, 9020 9021{ oid => '3759', descr => 'get current tsearch configuration', 9022 proname => 'get_current_ts_config', provolatile => 's', 9023 prorettype => 'regconfig', proargtypes => '', 9024 prosrc => 'get_current_ts_config' }, 9025 9026{ oid => '3736', descr => 'I/O', 9027 proname => 'regconfigin', provolatile => 's', prorettype => 'regconfig', 9028 proargtypes => 'cstring', prosrc => 'regconfigin' }, 9029{ oid => '3737', descr => 'I/O', 9030 proname => 'regconfigout', provolatile => 's', prorettype => 'cstring', 9031 proargtypes => 'regconfig', prosrc => 'regconfigout' }, 9032{ oid => '3738', descr => 'I/O', 9033 proname => 'regconfigrecv', prorettype => 'regconfig', 9034 proargtypes => 'internal', prosrc => 'regconfigrecv' }, 9035{ oid => '3739', descr => 'I/O', 9036 proname => 'regconfigsend', prorettype => 'bytea', proargtypes => 'regconfig', 9037 prosrc => 'regconfigsend' }, 9038 9039{ oid => '3771', descr => 'I/O', 9040 proname => 'regdictionaryin', provolatile => 's', 9041 prorettype => 'regdictionary', proargtypes => 'cstring', 9042 prosrc => 'regdictionaryin' }, 9043{ oid => '3772', descr => 'I/O', 9044 proname => 'regdictionaryout', provolatile => 's', prorettype => 'cstring', 9045 proargtypes => 'regdictionary', prosrc => 'regdictionaryout' }, 9046{ oid => '3773', descr => 'I/O', 9047 proname => 'regdictionaryrecv', prorettype => 'regdictionary', 9048 proargtypes => 'internal', prosrc => 'regdictionaryrecv' }, 9049{ oid => '3774', descr => 'I/O', 9050 proname => 'regdictionarysend', prorettype => 'bytea', 9051 proargtypes => 'regdictionary', prosrc => 'regdictionarysend' }, 9052 9053# jsonb 9054{ oid => '3806', descr => 'I/O', 9055 proname => 'jsonb_in', prorettype => 'jsonb', proargtypes => 'cstring', 9056 prosrc => 'jsonb_in' }, 9057{ oid => '3805', descr => 'I/O', 9058 proname => 'jsonb_recv', prorettype => 'jsonb', proargtypes => 'internal', 9059 prosrc => 'jsonb_recv' }, 9060{ oid => '3804', descr => 'I/O', 9061 proname => 'jsonb_out', prorettype => 'cstring', proargtypes => 'jsonb', 9062 prosrc => 'jsonb_out' }, 9063{ oid => '3803', descr => 'I/O', 9064 proname => 'jsonb_send', prorettype => 'bytea', proargtypes => 'jsonb', 9065 prosrc => 'jsonb_send' }, 9066 9067{ oid => '3263', descr => 'map text array of key value pairs to jsonb object', 9068 proname => 'jsonb_object', prorettype => 'jsonb', proargtypes => '_text', 9069 prosrc => 'jsonb_object' }, 9070{ oid => '3264', descr => 'map text array of key value pairs to jsonb object', 9071 proname => 'jsonb_object', prorettype => 'jsonb', 9072 proargtypes => '_text _text', prosrc => 'jsonb_object_two_arg' }, 9073{ oid => '3787', descr => 'map input to jsonb', 9074 proname => 'to_jsonb', provolatile => 's', prorettype => 'jsonb', 9075 proargtypes => 'anyelement', prosrc => 'to_jsonb' }, 9076{ oid => '3265', descr => 'jsonb aggregate transition function', 9077 proname => 'jsonb_agg_transfn', proisstrict => 'f', provolatile => 's', 9078 prorettype => 'internal', proargtypes => 'internal anyelement', 9079 prosrc => 'jsonb_agg_transfn' }, 9080{ oid => '3266', descr => 'jsonb aggregate final function', 9081 proname => 'jsonb_agg_finalfn', proisstrict => 'f', provolatile => 's', 9082 prorettype => 'jsonb', proargtypes => 'internal', 9083 prosrc => 'jsonb_agg_finalfn' }, 9084{ oid => '3267', descr => 'aggregate input into jsonb', 9085 proname => 'jsonb_agg', prokind => 'a', proisstrict => 'f', 9086 provolatile => 's', prorettype => 'jsonb', proargtypes => 'anyelement', 9087 prosrc => 'aggregate_dummy' }, 9088{ oid => '3268', descr => 'jsonb object aggregate transition function', 9089 proname => 'jsonb_object_agg_transfn', proisstrict => 'f', provolatile => 's', 9090 prorettype => 'internal', proargtypes => 'internal any any', 9091 prosrc => 'jsonb_object_agg_transfn' }, 9092{ oid => '3269', descr => 'jsonb object aggregate final function', 9093 proname => 'jsonb_object_agg_finalfn', proisstrict => 'f', provolatile => 's', 9094 prorettype => 'jsonb', proargtypes => 'internal', 9095 prosrc => 'jsonb_object_agg_finalfn' }, 9096{ oid => '3270', descr => 'aggregate inputs into jsonb object', 9097 proname => 'jsonb_object_agg', prokind => 'a', proisstrict => 'f', 9098 prorettype => 'jsonb', proargtypes => 'any any', 9099 prosrc => 'aggregate_dummy' }, 9100{ oid => '3271', descr => 'build a jsonb array from any inputs', 9101 proname => 'jsonb_build_array', provariadic => 'any', proisstrict => 'f', 9102 provolatile => 's', prorettype => 'jsonb', proargtypes => 'any', 9103 proallargtypes => '{any}', proargmodes => '{v}', 9104 prosrc => 'jsonb_build_array' }, 9105{ oid => '3272', descr => 'build an empty jsonb array', 9106 proname => 'jsonb_build_array', proisstrict => 'f', provolatile => 's', 9107 prorettype => 'jsonb', proargtypes => '', 9108 prosrc => 'jsonb_build_array_noargs' }, 9109{ oid => '3273', 9110 descr => 'build a jsonb object from pairwise key/value inputs', 9111 proname => 'jsonb_build_object', provariadic => 'any', proisstrict => 'f', 9112 provolatile => 's', prorettype => 'jsonb', proargtypes => 'any', 9113 proallargtypes => '{any}', proargmodes => '{v}', 9114 prosrc => 'jsonb_build_object' }, 9115{ oid => '3274', descr => 'build an empty jsonb object', 9116 proname => 'jsonb_build_object', proisstrict => 'f', provolatile => 's', 9117 prorettype => 'jsonb', proargtypes => '', 9118 prosrc => 'jsonb_build_object_noargs' }, 9119{ oid => '3262', descr => 'remove object fields with null values from jsonb', 9120 proname => 'jsonb_strip_nulls', prorettype => 'jsonb', proargtypes => 'jsonb', 9121 prosrc => 'jsonb_strip_nulls' }, 9122 9123{ oid => '3478', 9124 proname => 'jsonb_object_field', prorettype => 'jsonb', 9125 proargtypes => 'jsonb text', proargnames => '{from_json, field_name}', 9126 prosrc => 'jsonb_object_field' }, 9127{ oid => '3214', 9128 proname => 'jsonb_object_field_text', prorettype => 'text', 9129 proargtypes => 'jsonb text', proargnames => '{from_json, field_name}', 9130 prosrc => 'jsonb_object_field_text' }, 9131{ oid => '3215', 9132 proname => 'jsonb_array_element', prorettype => 'jsonb', 9133 proargtypes => 'jsonb int4', proargnames => '{from_json, element_index}', 9134 prosrc => 'jsonb_array_element' }, 9135{ oid => '3216', 9136 proname => 'jsonb_array_element_text', prorettype => 'text', 9137 proargtypes => 'jsonb int4', proargnames => '{from_json, element_index}', 9138 prosrc => 'jsonb_array_element_text' }, 9139{ oid => '3217', descr => 'get value from jsonb with path elements', 9140 proname => 'jsonb_extract_path', provariadic => 'text', prorettype => 'jsonb', 9141 proargtypes => 'jsonb _text', proallargtypes => '{jsonb,_text}', 9142 proargmodes => '{i,v}', proargnames => '{from_json,path_elems}', 9143 prosrc => 'jsonb_extract_path' }, 9144{ oid => '3940', descr => 'get value from jsonb as text with path elements', 9145 proname => 'jsonb_extract_path_text', provariadic => 'text', 9146 prorettype => 'text', proargtypes => 'jsonb _text', 9147 proallargtypes => '{jsonb,_text}', proargmodes => '{i,v}', 9148 proargnames => '{from_json,path_elems}', 9149 prosrc => 'jsonb_extract_path_text' }, 9150{ oid => '3219', descr => 'elements of a jsonb array', 9151 proname => 'jsonb_array_elements', prorows => '100', proretset => 't', 9152 prorettype => 'jsonb', proargtypes => 'jsonb', 9153 proallargtypes => '{jsonb,jsonb}', proargmodes => '{i,o}', 9154 proargnames => '{from_json,value}', prosrc => 'jsonb_array_elements' }, 9155{ oid => '3465', descr => 'elements of jsonb array', 9156 proname => 'jsonb_array_elements_text', prorows => '100', proretset => 't', 9157 prorettype => 'text', proargtypes => 'jsonb', 9158 proallargtypes => '{jsonb,text}', proargmodes => '{i,o}', 9159 proargnames => '{from_json,value}', prosrc => 'jsonb_array_elements_text' }, 9160{ oid => '3207', descr => 'length of jsonb array', 9161 proname => 'jsonb_array_length', prorettype => 'int4', proargtypes => 'jsonb', 9162 prosrc => 'jsonb_array_length' }, 9163{ oid => '3931', descr => 'get jsonb object keys', 9164 proname => 'jsonb_object_keys', prorows => '100', proretset => 't', 9165 prorettype => 'text', proargtypes => 'jsonb', prosrc => 'jsonb_object_keys' }, 9166{ oid => '3208', descr => 'key value pairs of a jsonb object', 9167 proname => 'jsonb_each', prorows => '100', proretset => 't', 9168 prorettype => 'record', proargtypes => 'jsonb', 9169 proallargtypes => '{jsonb,text,jsonb}', proargmodes => '{i,o,o}', 9170 proargnames => '{from_json,key,value}', prosrc => 'jsonb_each' }, 9171{ oid => '3932', descr => 'key value pairs of a jsonb object', 9172 proname => 'jsonb_each_text', prorows => '100', proretset => 't', 9173 prorettype => 'record', proargtypes => 'jsonb', 9174 proallargtypes => '{jsonb,text,text}', proargmodes => '{i,o,o}', 9175 proargnames => '{from_json,key,value}', prosrc => 'jsonb_each_text' }, 9176{ oid => '3209', descr => 'get record fields from a jsonb object', 9177 proname => 'jsonb_populate_record', proisstrict => 'f', provolatile => 's', 9178 prorettype => 'anyelement', proargtypes => 'anyelement jsonb', 9179 prosrc => 'jsonb_populate_record' }, 9180{ oid => '3475', 9181 descr => 'get set of records with fields from a jsonb array of objects', 9182 proname => 'jsonb_populate_recordset', prorows => '100', proisstrict => 'f', 9183 proretset => 't', provolatile => 's', prorettype => 'anyelement', 9184 proargtypes => 'anyelement jsonb', prosrc => 'jsonb_populate_recordset' }, 9185{ oid => '3490', descr => 'get record fields from a jsonb object', 9186 proname => 'jsonb_to_record', provolatile => 's', prorettype => 'record', 9187 proargtypes => 'jsonb', prosrc => 'jsonb_to_record' }, 9188{ oid => '3491', 9189 descr => 'get set of records with fields from a jsonb array of objects', 9190 proname => 'jsonb_to_recordset', prorows => '100', proisstrict => 'f', 9191 proretset => 't', provolatile => 's', prorettype => 'record', 9192 proargtypes => 'jsonb', prosrc => 'jsonb_to_recordset' }, 9193{ oid => '3210', descr => 'get the type of a jsonb value', 9194 proname => 'jsonb_typeof', prorettype => 'text', proargtypes => 'jsonb', 9195 prosrc => 'jsonb_typeof' }, 9196{ oid => '4038', 9197 proname => 'jsonb_ne', prorettype => 'bool', proargtypes => 'jsonb jsonb', 9198 prosrc => 'jsonb_ne' }, 9199{ oid => '4039', 9200 proname => 'jsonb_lt', prorettype => 'bool', proargtypes => 'jsonb jsonb', 9201 prosrc => 'jsonb_lt' }, 9202{ oid => '4040', 9203 proname => 'jsonb_gt', prorettype => 'bool', proargtypes => 'jsonb jsonb', 9204 prosrc => 'jsonb_gt' }, 9205{ oid => '4041', 9206 proname => 'jsonb_le', prorettype => 'bool', proargtypes => 'jsonb jsonb', 9207 prosrc => 'jsonb_le' }, 9208{ oid => '4042', 9209 proname => 'jsonb_ge', prorettype => 'bool', proargtypes => 'jsonb jsonb', 9210 prosrc => 'jsonb_ge' }, 9211{ oid => '4043', 9212 proname => 'jsonb_eq', prorettype => 'bool', proargtypes => 'jsonb jsonb', 9213 prosrc => 'jsonb_eq' }, 9214{ oid => '4044', descr => 'less-equal-greater', 9215 proname => 'jsonb_cmp', prorettype => 'int4', proargtypes => 'jsonb jsonb', 9216 prosrc => 'jsonb_cmp' }, 9217{ oid => '4045', descr => 'hash', 9218 proname => 'jsonb_hash', prorettype => 'int4', proargtypes => 'jsonb', 9219 prosrc => 'jsonb_hash' }, 9220{ oid => '3416', descr => 'hash', 9221 proname => 'jsonb_hash_extended', prorettype => 'int8', 9222 proargtypes => 'jsonb int8', prosrc => 'jsonb_hash_extended' }, 9223{ oid => '4046', 9224 proname => 'jsonb_contains', prorettype => 'bool', 9225 proargtypes => 'jsonb jsonb', prosrc => 'jsonb_contains' }, 9226{ oid => '4047', 9227 proname => 'jsonb_exists', prorettype => 'bool', proargtypes => 'jsonb text', 9228 prosrc => 'jsonb_exists' }, 9229{ oid => '4048', 9230 proname => 'jsonb_exists_any', prorettype => 'bool', 9231 proargtypes => 'jsonb _text', prosrc => 'jsonb_exists_any' }, 9232{ oid => '4049', 9233 proname => 'jsonb_exists_all', prorettype => 'bool', 9234 proargtypes => 'jsonb _text', prosrc => 'jsonb_exists_all' }, 9235{ oid => '4050', 9236 proname => 'jsonb_contained', prorettype => 'bool', 9237 proargtypes => 'jsonb jsonb', prosrc => 'jsonb_contained' }, 9238{ oid => '3480', descr => 'GIN support', 9239 proname => 'gin_compare_jsonb', prorettype => 'int4', 9240 proargtypes => 'text text', prosrc => 'gin_compare_jsonb' }, 9241{ oid => '3482', descr => 'GIN support', 9242 proname => 'gin_extract_jsonb', prorettype => 'internal', 9243 proargtypes => 'jsonb internal internal', prosrc => 'gin_extract_jsonb' }, 9244{ oid => '3483', descr => 'GIN support', 9245 proname => 'gin_extract_jsonb_query', prorettype => 'internal', 9246 proargtypes => 'jsonb internal int2 internal internal internal internal', 9247 prosrc => 'gin_extract_jsonb_query' }, 9248{ oid => '3484', descr => 'GIN support', 9249 proname => 'gin_consistent_jsonb', prorettype => 'bool', 9250 proargtypes => 'internal int2 jsonb int4 internal internal internal internal', 9251 prosrc => 'gin_consistent_jsonb' }, 9252{ oid => '3488', descr => 'GIN support', 9253 proname => 'gin_triconsistent_jsonb', prorettype => 'char', 9254 proargtypes => 'internal int2 jsonb int4 internal internal internal', 9255 prosrc => 'gin_triconsistent_jsonb' }, 9256{ oid => '3485', descr => 'GIN support', 9257 proname => 'gin_extract_jsonb_path', prorettype => 'internal', 9258 proargtypes => 'jsonb internal internal', 9259 prosrc => 'gin_extract_jsonb_path' }, 9260{ oid => '3486', descr => 'GIN support', 9261 proname => 'gin_extract_jsonb_query_path', prorettype => 'internal', 9262 proargtypes => 'jsonb internal int2 internal internal internal internal', 9263 prosrc => 'gin_extract_jsonb_query_path' }, 9264{ oid => '3487', descr => 'GIN support', 9265 proname => 'gin_consistent_jsonb_path', prorettype => 'bool', 9266 proargtypes => 'internal int2 jsonb int4 internal internal internal internal', 9267 prosrc => 'gin_consistent_jsonb_path' }, 9268{ oid => '3489', descr => 'GIN support', 9269 proname => 'gin_triconsistent_jsonb_path', prorettype => 'char', 9270 proargtypes => 'internal int2 jsonb int4 internal internal internal', 9271 prosrc => 'gin_triconsistent_jsonb_path' }, 9272{ oid => '3301', 9273 proname => 'jsonb_concat', prorettype => 'jsonb', 9274 proargtypes => 'jsonb jsonb', prosrc => 'jsonb_concat' }, 9275{ oid => '3302', 9276 proname => 'jsonb_delete', prorettype => 'jsonb', proargtypes => 'jsonb text', 9277 prosrc => 'jsonb_delete' }, 9278{ oid => '3303', 9279 proname => 'jsonb_delete', prorettype => 'jsonb', proargtypes => 'jsonb int4', 9280 prosrc => 'jsonb_delete_idx' }, 9281{ oid => '3343', 9282 proname => 'jsonb_delete', provariadic => 'text', prorettype => 'jsonb', 9283 proargtypes => 'jsonb _text', proallargtypes => '{jsonb,_text}', 9284 proargmodes => '{i,v}', proargnames => '{from_json,path_elems}', 9285 prosrc => 'jsonb_delete_array' }, 9286{ oid => '3304', 9287 proname => 'jsonb_delete_path', prorettype => 'jsonb', 9288 proargtypes => 'jsonb _text', prosrc => 'jsonb_delete_path' }, 9289{ oid => '3305', descr => 'Set part of a jsonb', 9290 proname => 'jsonb_set', prorettype => 'jsonb', 9291 proargtypes => 'jsonb _text jsonb bool', prosrc => 'jsonb_set' }, 9292{ oid => '3306', descr => 'Indented text from jsonb', 9293 proname => 'jsonb_pretty', prorettype => 'text', proargtypes => 'jsonb', 9294 prosrc => 'jsonb_pretty' }, 9295{ oid => '3579', descr => 'Insert value into a jsonb', 9296 proname => 'jsonb_insert', prorettype => 'jsonb', 9297 proargtypes => 'jsonb _text jsonb bool', prosrc => 'jsonb_insert' }, 9298 9299# txid 9300{ oid => '2939', descr => 'I/O', 9301 proname => 'txid_snapshot_in', prorettype => 'txid_snapshot', 9302 proargtypes => 'cstring', prosrc => 'txid_snapshot_in' }, 9303{ oid => '2940', descr => 'I/O', 9304 proname => 'txid_snapshot_out', prorettype => 'cstring', 9305 proargtypes => 'txid_snapshot', prosrc => 'txid_snapshot_out' }, 9306{ oid => '2941', descr => 'I/O', 9307 proname => 'txid_snapshot_recv', prorettype => 'txid_snapshot', 9308 proargtypes => 'internal', prosrc => 'txid_snapshot_recv' }, 9309{ oid => '2942', descr => 'I/O', 9310 proname => 'txid_snapshot_send', prorettype => 'bytea', 9311 proargtypes => 'txid_snapshot', prosrc => 'txid_snapshot_send' }, 9312{ oid => '2943', descr => 'get current transaction ID', 9313 proname => 'txid_current', provolatile => 's', proparallel => 'u', 9314 prorettype => 'int8', proargtypes => '', prosrc => 'txid_current' }, 9315{ oid => '3348', descr => 'get current transaction ID', 9316 proname => 'txid_current_if_assigned', provolatile => 's', proparallel => 'u', 9317 prorettype => 'int8', proargtypes => '', 9318 prosrc => 'txid_current_if_assigned' }, 9319{ oid => '2944', descr => 'get current snapshot', 9320 proname => 'txid_current_snapshot', provolatile => 's', 9321 prorettype => 'txid_snapshot', proargtypes => '', 9322 prosrc => 'txid_current_snapshot' }, 9323{ oid => '2945', descr => 'get xmin of snapshot', 9324 proname => 'txid_snapshot_xmin', prorettype => 'int8', 9325 proargtypes => 'txid_snapshot', prosrc => 'txid_snapshot_xmin' }, 9326{ oid => '2946', descr => 'get xmax of snapshot', 9327 proname => 'txid_snapshot_xmax', prorettype => 'int8', 9328 proargtypes => 'txid_snapshot', prosrc => 'txid_snapshot_xmax' }, 9329{ oid => '2947', descr => 'get set of in-progress txids in snapshot', 9330 proname => 'txid_snapshot_xip', prorows => '50', proretset => 't', 9331 prorettype => 'int8', proargtypes => 'txid_snapshot', 9332 prosrc => 'txid_snapshot_xip' }, 9333{ oid => '2948', descr => 'is txid visible in snapshot?', 9334 proname => 'txid_visible_in_snapshot', prorettype => 'bool', 9335 proargtypes => 'int8 txid_snapshot', prosrc => 'txid_visible_in_snapshot' }, 9336{ oid => '3360', descr => 'commit status of transaction', 9337 proname => 'txid_status', provolatile => 'v', prorettype => 'text', 9338 proargtypes => 'int8', prosrc => 'txid_status' }, 9339 9340# record comparison using normal comparison rules 9341{ oid => '2981', 9342 proname => 'record_eq', prorettype => 'bool', proargtypes => 'record record', 9343 prosrc => 'record_eq' }, 9344{ oid => '2982', 9345 proname => 'record_ne', prorettype => 'bool', proargtypes => 'record record', 9346 prosrc => 'record_ne' }, 9347{ oid => '2983', 9348 proname => 'record_lt', prorettype => 'bool', proargtypes => 'record record', 9349 prosrc => 'record_lt' }, 9350{ oid => '2984', 9351 proname => 'record_gt', prorettype => 'bool', proargtypes => 'record record', 9352 prosrc => 'record_gt' }, 9353{ oid => '2985', 9354 proname => 'record_le', prorettype => 'bool', proargtypes => 'record record', 9355 prosrc => 'record_le' }, 9356{ oid => '2986', 9357 proname => 'record_ge', prorettype => 'bool', proargtypes => 'record record', 9358 prosrc => 'record_ge' }, 9359{ oid => '2987', descr => 'less-equal-greater', 9360 proname => 'btrecordcmp', prorettype => 'int4', 9361 proargtypes => 'record record', prosrc => 'btrecordcmp' }, 9362 9363# record comparison using raw byte images 9364{ oid => '3181', 9365 proname => 'record_image_eq', prorettype => 'bool', 9366 proargtypes => 'record record', prosrc => 'record_image_eq' }, 9367{ oid => '3182', 9368 proname => 'record_image_ne', prorettype => 'bool', 9369 proargtypes => 'record record', prosrc => 'record_image_ne' }, 9370{ oid => '3183', 9371 proname => 'record_image_lt', prorettype => 'bool', 9372 proargtypes => 'record record', prosrc => 'record_image_lt' }, 9373{ oid => '3184', 9374 proname => 'record_image_gt', prorettype => 'bool', 9375 proargtypes => 'record record', prosrc => 'record_image_gt' }, 9376{ oid => '3185', 9377 proname => 'record_image_le', prorettype => 'bool', 9378 proargtypes => 'record record', prosrc => 'record_image_le' }, 9379{ oid => '3186', 9380 proname => 'record_image_ge', prorettype => 'bool', 9381 proargtypes => 'record record', prosrc => 'record_image_ge' }, 9382{ oid => '3187', descr => 'less-equal-greater based on byte images', 9383 proname => 'btrecordimagecmp', prorettype => 'int4', 9384 proargtypes => 'record record', prosrc => 'btrecordimagecmp' }, 9385 9386# Extensions 9387{ oid => '3082', descr => 'list available extensions', 9388 proname => 'pg_available_extensions', procost => '10', prorows => '100', 9389 proretset => 't', provolatile => 's', prorettype => 'record', 9390 proargtypes => '', proallargtypes => '{name,text,text}', 9391 proargmodes => '{o,o,o}', proargnames => '{name,default_version,comment}', 9392 prosrc => 'pg_available_extensions' }, 9393{ oid => '3083', descr => 'list available extension versions', 9394 proname => 'pg_available_extension_versions', procost => '10', 9395 prorows => '100', proretset => 't', provolatile => 's', 9396 prorettype => 'record', proargtypes => '', 9397 proallargtypes => '{name,text,bool,bool,name,_name,text}', 9398 proargmodes => '{o,o,o,o,o,o,o}', 9399 proargnames => '{name,version,superuser,relocatable,schema,requires,comment}', 9400 prosrc => 'pg_available_extension_versions' }, 9401{ oid => '3084', descr => 'list an extension\'s version update paths', 9402 proname => 'pg_extension_update_paths', procost => '10', prorows => '100', 9403 proretset => 't', provolatile => 's', prorettype => 'record', 9404 proargtypes => 'name', proallargtypes => '{name,text,text,text}', 9405 proargmodes => '{i,o,o,o}', proargnames => '{name,source,target,path}', 9406 prosrc => 'pg_extension_update_paths' }, 9407{ oid => '3086', 9408 descr => 'flag an extension\'s table contents to be emitted by pg_dump', 9409 proname => 'pg_extension_config_dump', provolatile => 'v', proparallel => 'u', 9410 prorettype => 'void', proargtypes => 'regclass text', 9411 prosrc => 'pg_extension_config_dump' }, 9412 9413# SQL-spec window functions 9414{ oid => '3100', descr => 'row number within partition', 9415 proname => 'row_number', prokind => 'w', proisstrict => 'f', 9416 prorettype => 'int8', proargtypes => '', prosrc => 'window_row_number' }, 9417{ oid => '3101', descr => 'integer rank with gaps', 9418 proname => 'rank', prokind => 'w', proisstrict => 'f', prorettype => 'int8', 9419 proargtypes => '', prosrc => 'window_rank' }, 9420{ oid => '3102', descr => 'integer rank without gaps', 9421 proname => 'dense_rank', prokind => 'w', proisstrict => 'f', 9422 prorettype => 'int8', proargtypes => '', prosrc => 'window_dense_rank' }, 9423{ oid => '3103', descr => 'fractional rank within partition', 9424 proname => 'percent_rank', prokind => 'w', proisstrict => 'f', 9425 prorettype => 'float8', proargtypes => '', prosrc => 'window_percent_rank' }, 9426{ oid => '3104', descr => 'fractional row number within partition', 9427 proname => 'cume_dist', prokind => 'w', proisstrict => 'f', 9428 prorettype => 'float8', proargtypes => '', prosrc => 'window_cume_dist' }, 9429{ oid => '3105', descr => 'split rows into N groups', 9430 proname => 'ntile', prokind => 'w', prorettype => 'int4', 9431 proargtypes => 'int4', prosrc => 'window_ntile' }, 9432{ oid => '3106', descr => 'fetch the preceding row value', 9433 proname => 'lag', prokind => 'w', prorettype => 'anyelement', 9434 proargtypes => 'anyelement', prosrc => 'window_lag' }, 9435{ oid => '3107', descr => 'fetch the Nth preceding row value', 9436 proname => 'lag', prokind => 'w', prorettype => 'anyelement', 9437 proargtypes => 'anyelement int4', prosrc => 'window_lag_with_offset' }, 9438{ oid => '3108', descr => 'fetch the Nth preceding row value with default', 9439 proname => 'lag', prokind => 'w', prorettype => 'anyelement', 9440 proargtypes => 'anyelement int4 anyelement', 9441 prosrc => 'window_lag_with_offset_and_default' }, 9442{ oid => '3109', descr => 'fetch the following row value', 9443 proname => 'lead', prokind => 'w', prorettype => 'anyelement', 9444 proargtypes => 'anyelement', prosrc => 'window_lead' }, 9445{ oid => '3110', descr => 'fetch the Nth following row value', 9446 proname => 'lead', prokind => 'w', prorettype => 'anyelement', 9447 proargtypes => 'anyelement int4', prosrc => 'window_lead_with_offset' }, 9448{ oid => '3111', descr => 'fetch the Nth following row value with default', 9449 proname => 'lead', prokind => 'w', prorettype => 'anyelement', 9450 proargtypes => 'anyelement int4 anyelement', 9451 prosrc => 'window_lead_with_offset_and_default' }, 9452{ oid => '3112', descr => 'fetch the first row value', 9453 proname => 'first_value', prokind => 'w', prorettype => 'anyelement', 9454 proargtypes => 'anyelement', prosrc => 'window_first_value' }, 9455{ oid => '3113', descr => 'fetch the last row value', 9456 proname => 'last_value', prokind => 'w', prorettype => 'anyelement', 9457 proargtypes => 'anyelement', prosrc => 'window_last_value' }, 9458{ oid => '3114', descr => 'fetch the Nth row value', 9459 proname => 'nth_value', prokind => 'w', prorettype => 'anyelement', 9460 proargtypes => 'anyelement int4', prosrc => 'window_nth_value' }, 9461 9462# functions for range types 9463{ oid => '3832', descr => 'I/O', 9464 proname => 'anyrange_in', provolatile => 's', prorettype => 'anyrange', 9465 proargtypes => 'cstring oid int4', prosrc => 'anyrange_in' }, 9466{ oid => '3833', descr => 'I/O', 9467 proname => 'anyrange_out', provolatile => 's', prorettype => 'cstring', 9468 proargtypes => 'anyrange', prosrc => 'anyrange_out' }, 9469{ oid => '3834', descr => 'I/O', 9470 proname => 'range_in', provolatile => 's', prorettype => 'anyrange', 9471 proargtypes => 'cstring oid int4', prosrc => 'range_in' }, 9472{ oid => '3835', descr => 'I/O', 9473 proname => 'range_out', provolatile => 's', prorettype => 'cstring', 9474 proargtypes => 'anyrange', prosrc => 'range_out' }, 9475{ oid => '3836', descr => 'I/O', 9476 proname => 'range_recv', provolatile => 's', prorettype => 'anyrange', 9477 proargtypes => 'internal oid int4', prosrc => 'range_recv' }, 9478{ oid => '3837', descr => 'I/O', 9479 proname => 'range_send', provolatile => 's', prorettype => 'bytea', 9480 proargtypes => 'anyrange', prosrc => 'range_send' }, 9481{ oid => '3848', descr => 'lower bound of range', 9482 proname => 'lower', prorettype => 'anyelement', proargtypes => 'anyrange', 9483 prosrc => 'range_lower' }, 9484{ oid => '3849', descr => 'upper bound of range', 9485 proname => 'upper', prorettype => 'anyelement', proargtypes => 'anyrange', 9486 prosrc => 'range_upper' }, 9487{ oid => '3850', descr => 'is the range empty?', 9488 proname => 'isempty', prorettype => 'bool', proargtypes => 'anyrange', 9489 prosrc => 'range_empty' }, 9490{ oid => '3851', descr => 'is the range\'s lower bound inclusive?', 9491 proname => 'lower_inc', prorettype => 'bool', proargtypes => 'anyrange', 9492 prosrc => 'range_lower_inc' }, 9493{ oid => '3852', descr => 'is the range\'s upper bound inclusive?', 9494 proname => 'upper_inc', prorettype => 'bool', proargtypes => 'anyrange', 9495 prosrc => 'range_upper_inc' }, 9496{ oid => '3853', descr => 'is the range\'s lower bound infinite?', 9497 proname => 'lower_inf', prorettype => 'bool', proargtypes => 'anyrange', 9498 prosrc => 'range_lower_inf' }, 9499{ oid => '3854', descr => 'is the range\'s upper bound infinite?', 9500 proname => 'upper_inf', prorettype => 'bool', proargtypes => 'anyrange', 9501 prosrc => 'range_upper_inf' }, 9502{ oid => '3855', 9503 proname => 'range_eq', prorettype => 'bool', 9504 proargtypes => 'anyrange anyrange', prosrc => 'range_eq' }, 9505{ oid => '3856', 9506 proname => 'range_ne', prorettype => 'bool', 9507 proargtypes => 'anyrange anyrange', prosrc => 'range_ne' }, 9508{ oid => '3857', 9509 proname => 'range_overlaps', prorettype => 'bool', 9510 proargtypes => 'anyrange anyrange', prosrc => 'range_overlaps' }, 9511{ oid => '3858', 9512 proname => 'range_contains_elem', prorettype => 'bool', 9513 proargtypes => 'anyrange anyelement', prosrc => 'range_contains_elem' }, 9514{ oid => '3859', 9515 proname => 'range_contains', prorettype => 'bool', 9516 proargtypes => 'anyrange anyrange', prosrc => 'range_contains' }, 9517{ oid => '3860', 9518 proname => 'elem_contained_by_range', prorettype => 'bool', 9519 proargtypes => 'anyelement anyrange', prosrc => 'elem_contained_by_range' }, 9520{ oid => '3861', 9521 proname => 'range_contained_by', prorettype => 'bool', 9522 proargtypes => 'anyrange anyrange', prosrc => 'range_contained_by' }, 9523{ oid => '3862', 9524 proname => 'range_adjacent', prorettype => 'bool', 9525 proargtypes => 'anyrange anyrange', prosrc => 'range_adjacent' }, 9526{ oid => '3863', 9527 proname => 'range_before', prorettype => 'bool', 9528 proargtypes => 'anyrange anyrange', prosrc => 'range_before' }, 9529{ oid => '3864', 9530 proname => 'range_after', prorettype => 'bool', 9531 proargtypes => 'anyrange anyrange', prosrc => 'range_after' }, 9532{ oid => '3865', 9533 proname => 'range_overleft', prorettype => 'bool', 9534 proargtypes => 'anyrange anyrange', prosrc => 'range_overleft' }, 9535{ oid => '3866', 9536 proname => 'range_overright', prorettype => 'bool', 9537 proargtypes => 'anyrange anyrange', prosrc => 'range_overright' }, 9538{ oid => '3867', 9539 proname => 'range_union', prorettype => 'anyrange', 9540 proargtypes => 'anyrange anyrange', prosrc => 'range_union' }, 9541{ oid => '4057', 9542 descr => 'the smallest range which includes both of the given ranges', 9543 proname => 'range_merge', prorettype => 'anyrange', 9544 proargtypes => 'anyrange anyrange', prosrc => 'range_merge' }, 9545{ oid => '3868', 9546 proname => 'range_intersect', prorettype => 'anyrange', 9547 proargtypes => 'anyrange anyrange', prosrc => 'range_intersect' }, 9548{ oid => '3869', 9549 proname => 'range_minus', prorettype => 'anyrange', 9550 proargtypes => 'anyrange anyrange', prosrc => 'range_minus' }, 9551{ oid => '3870', descr => 'less-equal-greater', 9552 proname => 'range_cmp', prorettype => 'int4', 9553 proargtypes => 'anyrange anyrange', prosrc => 'range_cmp' }, 9554{ oid => '3871', 9555 proname => 'range_lt', prorettype => 'bool', 9556 proargtypes => 'anyrange anyrange', prosrc => 'range_lt' }, 9557{ oid => '3872', 9558 proname => 'range_le', prorettype => 'bool', 9559 proargtypes => 'anyrange anyrange', prosrc => 'range_le' }, 9560{ oid => '3873', 9561 proname => 'range_ge', prorettype => 'bool', 9562 proargtypes => 'anyrange anyrange', prosrc => 'range_ge' }, 9563{ oid => '3874', 9564 proname => 'range_gt', prorettype => 'bool', 9565 proargtypes => 'anyrange anyrange', prosrc => 'range_gt' }, 9566{ oid => '3875', descr => 'GiST support', 9567 proname => 'range_gist_consistent', prorettype => 'bool', 9568 proargtypes => 'internal anyrange int2 oid internal', 9569 prosrc => 'range_gist_consistent' }, 9570{ oid => '3876', descr => 'GiST support', 9571 proname => 'range_gist_union', prorettype => 'anyrange', 9572 proargtypes => 'internal internal', prosrc => 'range_gist_union' }, 9573{ oid => '3879', descr => 'GiST support', 9574 proname => 'range_gist_penalty', prorettype => 'internal', 9575 proargtypes => 'internal internal internal', prosrc => 'range_gist_penalty' }, 9576{ oid => '3880', descr => 'GiST support', 9577 proname => 'range_gist_picksplit', prorettype => 'internal', 9578 proargtypes => 'internal internal', prosrc => 'range_gist_picksplit' }, 9579{ oid => '3881', descr => 'GiST support', 9580 proname => 'range_gist_same', prorettype => 'internal', 9581 proargtypes => 'anyrange anyrange internal', prosrc => 'range_gist_same' }, 9582{ oid => '3902', descr => 'hash a range', 9583 proname => 'hash_range', prorettype => 'int4', proargtypes => 'anyrange', 9584 prosrc => 'hash_range' }, 9585{ oid => '3417', descr => 'hash a range', 9586 proname => 'hash_range_extended', prorettype => 'int8', 9587 proargtypes => 'anyrange int8', prosrc => 'hash_range_extended' }, 9588{ oid => '3916', descr => 'range typanalyze', 9589 proname => 'range_typanalyze', provolatile => 's', prorettype => 'bool', 9590 proargtypes => 'internal', prosrc => 'range_typanalyze' }, 9591{ oid => '3169', descr => 'restriction selectivity for range operators', 9592 proname => 'rangesel', provolatile => 's', prorettype => 'float8', 9593 proargtypes => 'internal oid internal int4', prosrc => 'rangesel' }, 9594 9595{ oid => '3914', descr => 'convert an int4 range to canonical form', 9596 proname => 'int4range_canonical', prorettype => 'int4range', 9597 proargtypes => 'int4range', prosrc => 'int4range_canonical' }, 9598{ oid => '3928', descr => 'convert an int8 range to canonical form', 9599 proname => 'int8range_canonical', prorettype => 'int8range', 9600 proargtypes => 'int8range', prosrc => 'int8range_canonical' }, 9601{ oid => '3915', descr => 'convert a date range to canonical form', 9602 proname => 'daterange_canonical', prorettype => 'daterange', 9603 proargtypes => 'daterange', prosrc => 'daterange_canonical' }, 9604{ oid => '3922', descr => 'float8 difference of two int4 values', 9605 proname => 'int4range_subdiff', prorettype => 'float8', 9606 proargtypes => 'int4 int4', prosrc => 'int4range_subdiff' }, 9607{ oid => '3923', descr => 'float8 difference of two int8 values', 9608 proname => 'int8range_subdiff', prorettype => 'float8', 9609 proargtypes => 'int8 int8', prosrc => 'int8range_subdiff' }, 9610{ oid => '3924', descr => 'float8 difference of two numeric values', 9611 proname => 'numrange_subdiff', prorettype => 'float8', 9612 proargtypes => 'numeric numeric', prosrc => 'numrange_subdiff' }, 9613{ oid => '3925', descr => 'float8 difference of two date values', 9614 proname => 'daterange_subdiff', prorettype => 'float8', 9615 proargtypes => 'date date', prosrc => 'daterange_subdiff' }, 9616{ oid => '3929', descr => 'float8 difference of two timestamp values', 9617 proname => 'tsrange_subdiff', prorettype => 'float8', 9618 proargtypes => 'timestamp timestamp', prosrc => 'tsrange_subdiff' }, 9619{ oid => '3930', 9620 descr => 'float8 difference of two timestamp with time zone values', 9621 proname => 'tstzrange_subdiff', prorettype => 'float8', 9622 proargtypes => 'timestamptz timestamptz', prosrc => 'tstzrange_subdiff' }, 9623 9624{ oid => '3840', descr => 'int4range constructor', 9625 proname => 'int4range', proisstrict => 'f', prorettype => 'int4range', 9626 proargtypes => 'int4 int4', prosrc => 'range_constructor2' }, 9627{ oid => '3841', descr => 'int4range constructor', 9628 proname => 'int4range', proisstrict => 'f', prorettype => 'int4range', 9629 proargtypes => 'int4 int4 text', prosrc => 'range_constructor3' }, 9630{ oid => '3844', descr => 'numrange constructor', 9631 proname => 'numrange', proisstrict => 'f', prorettype => 'numrange', 9632 proargtypes => 'numeric numeric', prosrc => 'range_constructor2' }, 9633{ oid => '3845', descr => 'numrange constructor', 9634 proname => 'numrange', proisstrict => 'f', prorettype => 'numrange', 9635 proargtypes => 'numeric numeric text', prosrc => 'range_constructor3' }, 9636{ oid => '3933', descr => 'tsrange constructor', 9637 proname => 'tsrange', proisstrict => 'f', prorettype => 'tsrange', 9638 proargtypes => 'timestamp timestamp', prosrc => 'range_constructor2' }, 9639{ oid => '3934', descr => 'tsrange constructor', 9640 proname => 'tsrange', proisstrict => 'f', prorettype => 'tsrange', 9641 proargtypes => 'timestamp timestamp text', prosrc => 'range_constructor3' }, 9642{ oid => '3937', descr => 'tstzrange constructor', 9643 proname => 'tstzrange', proisstrict => 'f', prorettype => 'tstzrange', 9644 proargtypes => 'timestamptz timestamptz', prosrc => 'range_constructor2' }, 9645{ oid => '3938', descr => 'tstzrange constructor', 9646 proname => 'tstzrange', proisstrict => 'f', prorettype => 'tstzrange', 9647 proargtypes => 'timestamptz timestamptz text', 9648 prosrc => 'range_constructor3' }, 9649{ oid => '3941', descr => 'daterange constructor', 9650 proname => 'daterange', proisstrict => 'f', prorettype => 'daterange', 9651 proargtypes => 'date date', prosrc => 'range_constructor2' }, 9652{ oid => '3942', descr => 'daterange constructor', 9653 proname => 'daterange', proisstrict => 'f', prorettype => 'daterange', 9654 proargtypes => 'date date text', prosrc => 'range_constructor3' }, 9655{ oid => '3945', descr => 'int8range constructor', 9656 proname => 'int8range', proisstrict => 'f', prorettype => 'int8range', 9657 proargtypes => 'int8 int8', prosrc => 'range_constructor2' }, 9658{ oid => '3946', descr => 'int8range constructor', 9659 proname => 'int8range', proisstrict => 'f', prorettype => 'int8range', 9660 proargtypes => 'int8 int8 text', prosrc => 'range_constructor3' }, 9661 9662# date, time, timestamp constructors 9663{ oid => '3846', descr => 'construct date', 9664 proname => 'make_date', prorettype => 'date', proargtypes => 'int4 int4 int4', 9665 proargnames => '{year,month,day}', prosrc => 'make_date' }, 9666{ oid => '3847', descr => 'construct time', 9667 proname => 'make_time', prorettype => 'time', 9668 proargtypes => 'int4 int4 float8', proargnames => '{hour,min,sec}', 9669 prosrc => 'make_time' }, 9670{ oid => '3461', descr => 'construct timestamp', 9671 proname => 'make_timestamp', prorettype => 'timestamp', 9672 proargtypes => 'int4 int4 int4 int4 int4 float8', 9673 proargnames => '{year,month,mday,hour,min,sec}', prosrc => 'make_timestamp' }, 9674{ oid => '3462', descr => 'construct timestamp with time zone', 9675 proname => 'make_timestamptz', provolatile => 's', 9676 prorettype => 'timestamptz', proargtypes => 'int4 int4 int4 int4 int4 float8', 9677 proargnames => '{year,month,mday,hour,min,sec}', 9678 prosrc => 'make_timestamptz' }, 9679{ oid => '3463', descr => 'construct timestamp with time zone', 9680 proname => 'make_timestamptz', provolatile => 's', 9681 prorettype => 'timestamptz', 9682 proargtypes => 'int4 int4 int4 int4 int4 float8 text', 9683 proargnames => '{year,month,mday,hour,min,sec,timezone}', 9684 prosrc => 'make_timestamptz_at_timezone' }, 9685{ oid => '3464', descr => 'construct interval', 9686 proname => 'make_interval', prorettype => 'interval', 9687 proargtypes => 'int4 int4 int4 int4 int4 int4 float8', 9688 proargnames => '{years,months,weeks,days,hours,mins,secs}', 9689 prosrc => 'make_interval' }, 9690 9691# spgist opclasses 9692{ oid => '4018', descr => 'SP-GiST support for quad tree over point', 9693 proname => 'spg_quad_config', prorettype => 'void', 9694 proargtypes => 'internal internal', prosrc => 'spg_quad_config' }, 9695{ oid => '4019', descr => 'SP-GiST support for quad tree over point', 9696 proname => 'spg_quad_choose', prorettype => 'void', 9697 proargtypes => 'internal internal', prosrc => 'spg_quad_choose' }, 9698{ oid => '4020', descr => 'SP-GiST support for quad tree over point', 9699 proname => 'spg_quad_picksplit', prorettype => 'void', 9700 proargtypes => 'internal internal', prosrc => 'spg_quad_picksplit' }, 9701{ oid => '4021', descr => 'SP-GiST support for quad tree over point', 9702 proname => 'spg_quad_inner_consistent', prorettype => 'void', 9703 proargtypes => 'internal internal', prosrc => 'spg_quad_inner_consistent' }, 9704{ oid => '4022', 9705 descr => 'SP-GiST support for quad tree and k-d tree over point', 9706 proname => 'spg_quad_leaf_consistent', prorettype => 'bool', 9707 proargtypes => 'internal internal', prosrc => 'spg_quad_leaf_consistent' }, 9708 9709{ oid => '4023', descr => 'SP-GiST support for k-d tree over point', 9710 proname => 'spg_kd_config', prorettype => 'void', 9711 proargtypes => 'internal internal', prosrc => 'spg_kd_config' }, 9712{ oid => '4024', descr => 'SP-GiST support for k-d tree over point', 9713 proname => 'spg_kd_choose', prorettype => 'void', 9714 proargtypes => 'internal internal', prosrc => 'spg_kd_choose' }, 9715{ oid => '4025', descr => 'SP-GiST support for k-d tree over point', 9716 proname => 'spg_kd_picksplit', prorettype => 'void', 9717 proargtypes => 'internal internal', prosrc => 'spg_kd_picksplit' }, 9718{ oid => '4026', descr => 'SP-GiST support for k-d tree over point', 9719 proname => 'spg_kd_inner_consistent', prorettype => 'void', 9720 proargtypes => 'internal internal', prosrc => 'spg_kd_inner_consistent' }, 9721 9722{ oid => '4027', descr => 'SP-GiST support for radix tree over text', 9723 proname => 'spg_text_config', prorettype => 'void', 9724 proargtypes => 'internal internal', prosrc => 'spg_text_config' }, 9725{ oid => '4028', descr => 'SP-GiST support for radix tree over text', 9726 proname => 'spg_text_choose', prorettype => 'void', 9727 proargtypes => 'internal internal', prosrc => 'spg_text_choose' }, 9728{ oid => '4029', descr => 'SP-GiST support for radix tree over text', 9729 proname => 'spg_text_picksplit', prorettype => 'void', 9730 proargtypes => 'internal internal', prosrc => 'spg_text_picksplit' }, 9731{ oid => '4030', descr => 'SP-GiST support for radix tree over text', 9732 proname => 'spg_text_inner_consistent', prorettype => 'void', 9733 proargtypes => 'internal internal', prosrc => 'spg_text_inner_consistent' }, 9734{ oid => '4031', descr => 'SP-GiST support for radix tree over text', 9735 proname => 'spg_text_leaf_consistent', prorettype => 'bool', 9736 proargtypes => 'internal internal', prosrc => 'spg_text_leaf_consistent' }, 9737 9738{ oid => '3469', descr => 'SP-GiST support for quad tree over range', 9739 proname => 'spg_range_quad_config', prorettype => 'void', 9740 proargtypes => 'internal internal', prosrc => 'spg_range_quad_config' }, 9741{ oid => '3470', descr => 'SP-GiST support for quad tree over range', 9742 proname => 'spg_range_quad_choose', prorettype => 'void', 9743 proargtypes => 'internal internal', prosrc => 'spg_range_quad_choose' }, 9744{ oid => '3471', descr => 'SP-GiST support for quad tree over range', 9745 proname => 'spg_range_quad_picksplit', prorettype => 'void', 9746 proargtypes => 'internal internal', prosrc => 'spg_range_quad_picksplit' }, 9747{ oid => '3472', descr => 'SP-GiST support for quad tree over range', 9748 proname => 'spg_range_quad_inner_consistent', prorettype => 'void', 9749 proargtypes => 'internal internal', 9750 prosrc => 'spg_range_quad_inner_consistent' }, 9751{ oid => '3473', descr => 'SP-GiST support for quad tree over range', 9752 proname => 'spg_range_quad_leaf_consistent', prorettype => 'bool', 9753 proargtypes => 'internal internal', 9754 prosrc => 'spg_range_quad_leaf_consistent' }, 9755 9756{ oid => '5012', descr => 'SP-GiST support for quad tree over box', 9757 proname => 'spg_box_quad_config', prorettype => 'void', 9758 proargtypes => 'internal internal', prosrc => 'spg_box_quad_config' }, 9759{ oid => '5013', descr => 'SP-GiST support for quad tree over box', 9760 proname => 'spg_box_quad_choose', prorettype => 'void', 9761 proargtypes => 'internal internal', prosrc => 'spg_box_quad_choose' }, 9762{ oid => '5014', descr => 'SP-GiST support for quad tree over box', 9763 proname => 'spg_box_quad_picksplit', prorettype => 'void', 9764 proargtypes => 'internal internal', prosrc => 'spg_box_quad_picksplit' }, 9765{ oid => '5015', descr => 'SP-GiST support for quad tree over box', 9766 proname => 'spg_box_quad_inner_consistent', prorettype => 'void', 9767 proargtypes => 'internal internal', 9768 prosrc => 'spg_box_quad_inner_consistent' }, 9769{ oid => '5016', descr => 'SP-GiST support for quad tree over box', 9770 proname => 'spg_box_quad_leaf_consistent', prorettype => 'bool', 9771 proargtypes => 'internal internal', 9772 prosrc => 'spg_box_quad_leaf_consistent' }, 9773 9774{ oid => '5010', 9775 descr => 'SP-GiST support for quad tree over 2-D types represented by their bounding boxes', 9776 proname => 'spg_bbox_quad_config', prorettype => 'void', 9777 proargtypes => 'internal internal', prosrc => 'spg_bbox_quad_config' }, 9778{ oid => '5011', descr => 'SP-GiST support for quad tree over polygons', 9779 proname => 'spg_poly_quad_compress', prorettype => 'box', 9780 proargtypes => 'polygon', prosrc => 'spg_poly_quad_compress' }, 9781 9782# replication slots 9783{ oid => '3779', descr => 'create a physical replication slot', 9784 proname => 'pg_create_physical_replication_slot', provolatile => 'v', 9785 proparallel => 'u', prorettype => 'record', proargtypes => 'name bool bool', 9786 proallargtypes => '{name,bool,bool,name,pg_lsn}', 9787 proargmodes => '{i,i,i,o,o}', 9788 proargnames => '{slot_name,immediately_reserve,temporary,slot_name,lsn}', 9789 prosrc => 'pg_create_physical_replication_slot' }, 9790{ oid => '3780', descr => 'drop a replication slot', 9791 proname => 'pg_drop_replication_slot', provolatile => 'v', proparallel => 'u', 9792 prorettype => 'void', proargtypes => 'name', 9793 prosrc => 'pg_drop_replication_slot' }, 9794{ oid => '3781', 9795 descr => 'information about replication slots currently in use', 9796 proname => 'pg_get_replication_slots', prorows => '10', proisstrict => 'f', 9797 proretset => 't', provolatile => 's', prorettype => 'record', 9798 proargtypes => '', 9799 proallargtypes => '{name,name,text,oid,bool,bool,int4,xid,xid,pg_lsn,pg_lsn}', 9800 proargmodes => '{o,o,o,o,o,o,o,o,o,o,o}', 9801 proargnames => '{slot_name,plugin,slot_type,datoid,temporary,active,active_pid,xmin,catalog_xmin,restart_lsn,confirmed_flush_lsn}', 9802 prosrc => 'pg_get_replication_slots' }, 9803{ oid => '3786', descr => 'set up a logical replication slot', 9804 proname => 'pg_create_logical_replication_slot', provolatile => 'v', 9805 proparallel => 'u', prorettype => 'record', proargtypes => 'name name bool', 9806 proallargtypes => '{name,name,bool,text,pg_lsn}', 9807 proargmodes => '{i,i,i,o,o}', 9808 proargnames => '{slot_name,plugin,temporary,slot_name,lsn}', 9809 prosrc => 'pg_create_logical_replication_slot' }, 9810{ oid => '3782', descr => 'get changes from replication slot', 9811 proname => 'pg_logical_slot_get_changes', procost => '1000', 9812 prorows => '1000', provariadic => 'text', proisstrict => 'f', 9813 proretset => 't', provolatile => 'v', proparallel => 'u', 9814 prorettype => 'record', proargtypes => 'name pg_lsn int4 _text', 9815 proallargtypes => '{name,pg_lsn,int4,_text,pg_lsn,xid,text}', 9816 proargmodes => '{i,i,i,v,o,o,o}', 9817 proargnames => '{slot_name,upto_lsn,upto_nchanges,options,lsn,xid,data}', 9818 prosrc => 'pg_logical_slot_get_changes' }, 9819{ oid => '3783', descr => 'get binary changes from replication slot', 9820 proname => 'pg_logical_slot_get_binary_changes', procost => '1000', 9821 prorows => '1000', provariadic => 'text', proisstrict => 'f', 9822 proretset => 't', provolatile => 'v', proparallel => 'u', 9823 prorettype => 'record', proargtypes => 'name pg_lsn int4 _text', 9824 proallargtypes => '{name,pg_lsn,int4,_text,pg_lsn,xid,bytea}', 9825 proargmodes => '{i,i,i,v,o,o,o}', 9826 proargnames => '{slot_name,upto_lsn,upto_nchanges,options,lsn,xid,data}', 9827 prosrc => 'pg_logical_slot_get_binary_changes' }, 9828{ oid => '3784', descr => 'peek at changes from replication slot', 9829 proname => 'pg_logical_slot_peek_changes', procost => '1000', 9830 prorows => '1000', provariadic => 'text', proisstrict => 'f', 9831 proretset => 't', provolatile => 'v', proparallel => 'u', 9832 prorettype => 'record', proargtypes => 'name pg_lsn int4 _text', 9833 proallargtypes => '{name,pg_lsn,int4,_text,pg_lsn,xid,text}', 9834 proargmodes => '{i,i,i,v,o,o,o}', 9835 proargnames => '{slot_name,upto_lsn,upto_nchanges,options,lsn,xid,data}', 9836 prosrc => 'pg_logical_slot_peek_changes' }, 9837{ oid => '3785', descr => 'peek at binary changes from replication slot', 9838 proname => 'pg_logical_slot_peek_binary_changes', procost => '1000', 9839 prorows => '1000', provariadic => 'text', proisstrict => 'f', 9840 proretset => 't', provolatile => 'v', proparallel => 'u', 9841 prorettype => 'record', proargtypes => 'name pg_lsn int4 _text', 9842 proallargtypes => '{name,pg_lsn,int4,_text,pg_lsn,xid,bytea}', 9843 proargmodes => '{i,i,i,v,o,o,o}', 9844 proargnames => '{slot_name,upto_lsn,upto_nchanges,options,lsn,xid,data}', 9845 prosrc => 'pg_logical_slot_peek_binary_changes' }, 9846{ oid => '3878', descr => 'advance logical replication slot', 9847 proname => 'pg_replication_slot_advance', provolatile => 'v', 9848 proparallel => 'u', prorettype => 'record', proargtypes => 'name pg_lsn', 9849 proallargtypes => '{name,pg_lsn,name,pg_lsn}', proargmodes => '{i,i,o,o}', 9850 proargnames => '{slot_name,upto_lsn,slot_name,end_lsn}', 9851 prosrc => 'pg_replication_slot_advance' }, 9852{ oid => '3577', descr => 'emit a textual logical decoding message', 9853 proname => 'pg_logical_emit_message', provolatile => 'v', proparallel => 'u', 9854 prorettype => 'pg_lsn', proargtypes => 'bool text text', 9855 prosrc => 'pg_logical_emit_message_text' }, 9856{ oid => '3578', descr => 'emit a binary logical decoding message', 9857 proname => 'pg_logical_emit_message', provolatile => 'v', proparallel => 'u', 9858 prorettype => 'pg_lsn', proargtypes => 'bool text bytea', 9859 prosrc => 'pg_logical_emit_message_bytea' }, 9860 9861# event triggers 9862{ oid => '3566', descr => 'list objects dropped by the current command', 9863 proname => 'pg_event_trigger_dropped_objects', procost => '10', 9864 prorows => '100', proretset => 't', provolatile => 's', proparallel => 'r', 9865 prorettype => 'record', proargtypes => '', 9866 proallargtypes => '{oid,oid,int4,bool,bool,bool,text,text,text,text,_text,_text}', 9867 proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o}', 9868 proargnames => '{classid, objid, objsubid, original, normal, is_temporary, object_type, schema_name, object_name, object_identity, address_names, address_args}', 9869 prosrc => 'pg_event_trigger_dropped_objects' }, 9870{ oid => '4566', descr => 'return Oid of the table getting rewritten', 9871 proname => 'pg_event_trigger_table_rewrite_oid', provolatile => 's', 9872 proparallel => 'r', prorettype => 'oid', proargtypes => '', 9873 proallargtypes => '{oid}', proargmodes => '{o}', proargnames => '{oid}', 9874 prosrc => 'pg_event_trigger_table_rewrite_oid' }, 9875{ oid => '4567', descr => 'return reason code for table getting rewritten', 9876 proname => 'pg_event_trigger_table_rewrite_reason', provolatile => 's', 9877 proparallel => 'r', prorettype => 'int4', proargtypes => '', 9878 prosrc => 'pg_event_trigger_table_rewrite_reason' }, 9879{ oid => '4568', 9880 descr => 'list DDL actions being executed by the current command', 9881 proname => 'pg_event_trigger_ddl_commands', procost => '10', prorows => '100', 9882 proretset => 't', provolatile => 's', proparallel => 'r', 9883 prorettype => 'record', proargtypes => '', 9884 proallargtypes => '{oid,oid,int4,text,text,text,text,bool,pg_ddl_command}', 9885 proargmodes => '{o,o,o,o,o,o,o,o,o}', 9886 proargnames => '{classid, objid, objsubid, command_tag, object_type, schema_name, object_identity, in_extension, command}', 9887 prosrc => 'pg_event_trigger_ddl_commands' }, 9888 9889# generic transition functions for ordered-set aggregates 9890{ oid => '3970', descr => 'aggregate transition function', 9891 proname => 'ordered_set_transition', proisstrict => 'f', 9892 prorettype => 'internal', proargtypes => 'internal any', 9893 prosrc => 'ordered_set_transition' }, 9894{ oid => '3971', descr => 'aggregate transition function', 9895 proname => 'ordered_set_transition_multi', provariadic => 'any', 9896 proisstrict => 'f', prorettype => 'internal', proargtypes => 'internal any', 9897 proallargtypes => '{internal,any}', proargmodes => '{i,v}', 9898 prosrc => 'ordered_set_transition_multi' }, 9899 9900# inverse distribution aggregates (and their support functions) 9901{ oid => '3972', descr => 'discrete percentile', 9902 proname => 'percentile_disc', prokind => 'a', proisstrict => 'f', 9903 prorettype => 'anyelement', proargtypes => 'float8 anyelement', 9904 prosrc => 'aggregate_dummy' }, 9905{ oid => '3973', descr => 'aggregate final function', 9906 proname => 'percentile_disc_final', proisstrict => 'f', 9907 prorettype => 'anyelement', proargtypes => 'internal float8 anyelement', 9908 prosrc => 'percentile_disc_final' }, 9909{ oid => '3974', descr => 'continuous distribution percentile', 9910 proname => 'percentile_cont', prokind => 'a', proisstrict => 'f', 9911 prorettype => 'float8', proargtypes => 'float8 float8', 9912 prosrc => 'aggregate_dummy' }, 9913{ oid => '3975', descr => 'aggregate final function', 9914 proname => 'percentile_cont_float8_final', proisstrict => 'f', 9915 prorettype => 'float8', proargtypes => 'internal float8', 9916 prosrc => 'percentile_cont_float8_final' }, 9917{ oid => '3976', descr => 'continuous distribution percentile', 9918 proname => 'percentile_cont', prokind => 'a', proisstrict => 'f', 9919 prorettype => 'interval', proargtypes => 'float8 interval', 9920 prosrc => 'aggregate_dummy' }, 9921{ oid => '3977', descr => 'aggregate final function', 9922 proname => 'percentile_cont_interval_final', proisstrict => 'f', 9923 prorettype => 'interval', proargtypes => 'internal float8', 9924 prosrc => 'percentile_cont_interval_final' }, 9925{ oid => '3978', descr => 'multiple discrete percentiles', 9926 proname => 'percentile_disc', prokind => 'a', proisstrict => 'f', 9927 prorettype => 'anyarray', proargtypes => '_float8 anyelement', 9928 prosrc => 'aggregate_dummy' }, 9929{ oid => '3979', descr => 'aggregate final function', 9930 proname => 'percentile_disc_multi_final', proisstrict => 'f', 9931 prorettype => 'anyarray', proargtypes => 'internal _float8 anyelement', 9932 prosrc => 'percentile_disc_multi_final' }, 9933{ oid => '3980', descr => 'multiple continuous percentiles', 9934 proname => 'percentile_cont', prokind => 'a', proisstrict => 'f', 9935 prorettype => '_float8', proargtypes => '_float8 float8', 9936 prosrc => 'aggregate_dummy' }, 9937{ oid => '3981', descr => 'aggregate final function', 9938 proname => 'percentile_cont_float8_multi_final', proisstrict => 'f', 9939 prorettype => '_float8', proargtypes => 'internal _float8', 9940 prosrc => 'percentile_cont_float8_multi_final' }, 9941{ oid => '3982', descr => 'multiple continuous percentiles', 9942 proname => 'percentile_cont', prokind => 'a', proisstrict => 'f', 9943 prorettype => '_interval', proargtypes => '_float8 interval', 9944 prosrc => 'aggregate_dummy' }, 9945{ oid => '3983', descr => 'aggregate final function', 9946 proname => 'percentile_cont_interval_multi_final', proisstrict => 'f', 9947 prorettype => '_interval', proargtypes => 'internal _float8', 9948 prosrc => 'percentile_cont_interval_multi_final' }, 9949{ oid => '3984', descr => 'most common value', 9950 proname => 'mode', prokind => 'a', proisstrict => 'f', 9951 prorettype => 'anyelement', proargtypes => 'anyelement', 9952 prosrc => 'aggregate_dummy' }, 9953{ oid => '3985', descr => 'aggregate final function', 9954 proname => 'mode_final', proisstrict => 'f', prorettype => 'anyelement', 9955 proargtypes => 'internal anyelement', prosrc => 'mode_final' }, 9956 9957# hypothetical-set aggregates (and their support functions) 9958{ oid => '3986', descr => 'rank of hypothetical row', 9959 proname => 'rank', provariadic => 'any', prokind => 'a', proisstrict => 'f', 9960 prorettype => 'int8', proargtypes => 'any', proallargtypes => '{any}', 9961 proargmodes => '{v}', prosrc => 'aggregate_dummy' }, 9962{ oid => '3987', descr => 'aggregate final function', 9963 proname => 'rank_final', provariadic => 'any', proisstrict => 'f', 9964 prorettype => 'int8', proargtypes => 'internal any', 9965 proallargtypes => '{internal,any}', proargmodes => '{i,v}', 9966 prosrc => 'hypothetical_rank_final' }, 9967{ oid => '3988', descr => 'fractional rank of hypothetical row', 9968 proname => 'percent_rank', provariadic => 'any', prokind => 'a', 9969 proisstrict => 'f', prorettype => 'float8', proargtypes => 'any', 9970 proallargtypes => '{any}', proargmodes => '{v}', 9971 prosrc => 'aggregate_dummy' }, 9972{ oid => '3989', descr => 'aggregate final function', 9973 proname => 'percent_rank_final', provariadic => 'any', proisstrict => 'f', 9974 prorettype => 'float8', proargtypes => 'internal any', 9975 proallargtypes => '{internal,any}', proargmodes => '{i,v}', 9976 prosrc => 'hypothetical_percent_rank_final' }, 9977{ oid => '3990', descr => 'cumulative distribution of hypothetical row', 9978 proname => 'cume_dist', provariadic => 'any', prokind => 'a', 9979 proisstrict => 'f', prorettype => 'float8', proargtypes => 'any', 9980 proallargtypes => '{any}', proargmodes => '{v}', 9981 prosrc => 'aggregate_dummy' }, 9982{ oid => '3991', descr => 'aggregate final function', 9983 proname => 'cume_dist_final', provariadic => 'any', proisstrict => 'f', 9984 prorettype => 'float8', proargtypes => 'internal any', 9985 proallargtypes => '{internal,any}', proargmodes => '{i,v}', 9986 prosrc => 'hypothetical_cume_dist_final' }, 9987{ oid => '3992', descr => 'rank of hypothetical row without gaps', 9988 proname => 'dense_rank', provariadic => 'any', prokind => 'a', 9989 proisstrict => 'f', prorettype => 'int8', proargtypes => 'any', 9990 proallargtypes => '{any}', proargmodes => '{v}', 9991 prosrc => 'aggregate_dummy' }, 9992{ oid => '3993', descr => 'aggregate final function', 9993 proname => 'dense_rank_final', provariadic => 'any', proisstrict => 'f', 9994 prorettype => 'int8', proargtypes => 'internal any', 9995 proallargtypes => '{internal,any}', proargmodes => '{i,v}', 9996 prosrc => 'hypothetical_dense_rank_final' }, 9997 9998# pg_upgrade support 9999{ oid => '3582', descr => 'for use by pg_upgrade', 10000 proname => 'binary_upgrade_set_next_pg_type_oid', provolatile => 'v', 10001 proparallel => 'r', prorettype => 'void', proargtypes => 'oid', 10002 prosrc => 'binary_upgrade_set_next_pg_type_oid' }, 10003{ oid => '3584', descr => 'for use by pg_upgrade', 10004 proname => 'binary_upgrade_set_next_array_pg_type_oid', provolatile => 'v', 10005 proparallel => 'r', prorettype => 'void', proargtypes => 'oid', 10006 prosrc => 'binary_upgrade_set_next_array_pg_type_oid' }, 10007{ oid => '3585', descr => 'for use by pg_upgrade', 10008 proname => 'binary_upgrade_set_next_toast_pg_type_oid', provolatile => 'v', 10009 proparallel => 'r', prorettype => 'void', proargtypes => 'oid', 10010 prosrc => 'binary_upgrade_set_next_toast_pg_type_oid' }, 10011{ oid => '3586', descr => 'for use by pg_upgrade', 10012 proname => 'binary_upgrade_set_next_heap_pg_class_oid', provolatile => 'v', 10013 proparallel => 'r', prorettype => 'void', proargtypes => 'oid', 10014 prosrc => 'binary_upgrade_set_next_heap_pg_class_oid' }, 10015{ oid => '3587', descr => 'for use by pg_upgrade', 10016 proname => 'binary_upgrade_set_next_index_pg_class_oid', provolatile => 'v', 10017 proparallel => 'r', prorettype => 'void', proargtypes => 'oid', 10018 prosrc => 'binary_upgrade_set_next_index_pg_class_oid' }, 10019{ oid => '3588', descr => 'for use by pg_upgrade', 10020 proname => 'binary_upgrade_set_next_toast_pg_class_oid', provolatile => 'v', 10021 proparallel => 'r', prorettype => 'void', proargtypes => 'oid', 10022 prosrc => 'binary_upgrade_set_next_toast_pg_class_oid' }, 10023{ oid => '3589', descr => 'for use by pg_upgrade', 10024 proname => 'binary_upgrade_set_next_pg_enum_oid', provolatile => 'v', 10025 proparallel => 'r', prorettype => 'void', proargtypes => 'oid', 10026 prosrc => 'binary_upgrade_set_next_pg_enum_oid' }, 10027{ oid => '3590', descr => 'for use by pg_upgrade', 10028 proname => 'binary_upgrade_set_next_pg_authid_oid', provolatile => 'v', 10029 proparallel => 'r', prorettype => 'void', proargtypes => 'oid', 10030 prosrc => 'binary_upgrade_set_next_pg_authid_oid' }, 10031{ oid => '3591', descr => 'for use by pg_upgrade', 10032 proname => 'binary_upgrade_create_empty_extension', proisstrict => 'f', 10033 provolatile => 'v', proparallel => 'u', prorettype => 'void', 10034 proargtypes => 'text text bool text _oid _text _text', 10035 prosrc => 'binary_upgrade_create_empty_extension' }, 10036{ oid => '4083', descr => 'for use by pg_upgrade', 10037 proname => 'binary_upgrade_set_record_init_privs', provolatile => 'v', 10038 proparallel => 'r', prorettype => 'void', proargtypes => 'bool', 10039 prosrc => 'binary_upgrade_set_record_init_privs' }, 10040{ oid => '4101', descr => 'for use by pg_upgrade', 10041 proname => 'binary_upgrade_set_missing_value', provolatile => 'v', 10042 proparallel => 'u', prorettype => 'void', proargtypes => 'oid text text', 10043 prosrc => 'binary_upgrade_set_missing_value' }, 10044 10045# replication/origin.h 10046{ oid => '6003', descr => 'create a replication origin', 10047 proname => 'pg_replication_origin_create', provolatile => 'v', 10048 proparallel => 'u', prorettype => 'oid', proargtypes => 'text', 10049 prosrc => 'pg_replication_origin_create' }, 10050 10051{ oid => '6004', descr => 'drop replication origin identified by its name', 10052 proname => 'pg_replication_origin_drop', provolatile => 'v', 10053 proparallel => 'u', prorettype => 'void', proargtypes => 'text', 10054 prosrc => 'pg_replication_origin_drop' }, 10055 10056{ oid => '6005', 10057 descr => 'translate the replication origin\'s name to its id', 10058 proname => 'pg_replication_origin_oid', provolatile => 's', 10059 prorettype => 'oid', proargtypes => 'text', 10060 prosrc => 'pg_replication_origin_oid' }, 10061 10062{ oid => '6006', 10063 descr => 'configure session to maintain replication progress tracking for the passed in origin', 10064 proname => 'pg_replication_origin_session_setup', provolatile => 'v', 10065 proparallel => 'u', prorettype => 'void', proargtypes => 'text', 10066 prosrc => 'pg_replication_origin_session_setup' }, 10067 10068{ oid => '6007', descr => 'teardown configured replication progress tracking', 10069 proname => 'pg_replication_origin_session_reset', provolatile => 'v', 10070 proparallel => 'u', prorettype => 'void', proargtypes => '', 10071 prosrc => 'pg_replication_origin_session_reset' }, 10072 10073{ oid => '6008', 10074 descr => 'is a replication origin configured in this session', 10075 proname => 'pg_replication_origin_session_is_setup', provolatile => 'v', 10076 proparallel => 'r', prorettype => 'bool', proargtypes => '', 10077 prosrc => 'pg_replication_origin_session_is_setup' }, 10078 10079{ oid => '6009', 10080 descr => 'get the replication progress of the current session', 10081 proname => 'pg_replication_origin_session_progress', provolatile => 'v', 10082 proparallel => 'u', prorettype => 'pg_lsn', proargtypes => 'bool', 10083 prosrc => 'pg_replication_origin_session_progress' }, 10084 10085{ oid => '6010', descr => 'setup the transaction\'s origin lsn and timestamp', 10086 proname => 'pg_replication_origin_xact_setup', provolatile => 'v', 10087 proparallel => 'r', prorettype => 'void', proargtypes => 'pg_lsn timestamptz', 10088 prosrc => 'pg_replication_origin_xact_setup' }, 10089 10090{ oid => '6011', descr => 'reset the transaction\'s origin lsn and timestamp', 10091 proname => 'pg_replication_origin_xact_reset', provolatile => 'v', 10092 proparallel => 'r', prorettype => 'void', proargtypes => '', 10093 prosrc => 'pg_replication_origin_xact_reset' }, 10094 10095{ oid => '6012', 10096 descr => 'advance replication origin to specific location', 10097 proname => 'pg_replication_origin_advance', provolatile => 'v', 10098 proparallel => 'u', prorettype => 'void', proargtypes => 'text pg_lsn', 10099 prosrc => 'pg_replication_origin_advance' }, 10100 10101{ oid => '6013', 10102 descr => 'get an individual replication origin\'s replication progress', 10103 proname => 'pg_replication_origin_progress', provolatile => 'v', 10104 proparallel => 'u', prorettype => 'pg_lsn', proargtypes => 'text bool', 10105 prosrc => 'pg_replication_origin_progress' }, 10106 10107{ oid => '6014', descr => 'get progress for all replication origins', 10108 proname => 'pg_show_replication_origin_status', prorows => '100', 10109 proisstrict => 'f', proretset => 't', provolatile => 'v', proparallel => 'r', 10110 prorettype => 'record', proargtypes => '', 10111 proallargtypes => '{oid,text,pg_lsn,pg_lsn}', proargmodes => '{o,o,o,o}', 10112 proargnames => '{local_id, external_id, remote_lsn, local_lsn}', 10113 prosrc => 'pg_show_replication_origin_status' }, 10114 10115# publications 10116{ oid => '6119', descr => 'get OIDs of tables in a publication', 10117 proname => 'pg_get_publication_tables', prorows => '1000', proretset => 't', 10118 provolatile => 's', prorettype => 'oid', proargtypes => 'text', 10119 proallargtypes => '{text,oid}', proargmodes => '{i,o}', 10120 proargnames => '{pubname,relid}', prosrc => 'pg_get_publication_tables' }, 10121{ oid => '6121', 10122 descr => 'returns whether a relation can be part of a publication', 10123 proname => 'pg_relation_is_publishable', provolatile => 's', 10124 prorettype => 'bool', proargtypes => 'regclass', 10125 prosrc => 'pg_relation_is_publishable' }, 10126 10127# rls 10128{ oid => '3298', 10129 descr => 'row security for current context active on table by table oid', 10130 proname => 'row_security_active', provolatile => 's', prorettype => 'bool', 10131 proargtypes => 'oid', prosrc => 'row_security_active' }, 10132{ oid => '3299', 10133 descr => 'row security for current context active on table by table name', 10134 proname => 'row_security_active', provolatile => 's', prorettype => 'bool', 10135 proargtypes => 'text', prosrc => 'row_security_active_name' }, 10136 10137# pg_config 10138{ oid => '3400', descr => 'pg_config binary as a function', 10139 proname => 'pg_config', prorows => '23', proretset => 't', proparallel => 'r', 10140 prorettype => 'record', proargtypes => '', proallargtypes => '{text,text}', 10141 proargmodes => '{o,o}', proargnames => '{name,setting}', 10142 prosrc => 'pg_config' }, 10143 10144# pg_controldata related functions 10145{ oid => '3441', 10146 descr => 'pg_controldata general state information as a function', 10147 proname => 'pg_control_system', provolatile => 'v', prorettype => 'record', 10148 proargtypes => '', proallargtypes => '{int4,int4,int8,timestamptz}', 10149 proargmodes => '{o,o,o,o}', 10150 proargnames => '{pg_control_version,catalog_version_no,system_identifier,pg_control_last_modified}', 10151 prosrc => 'pg_control_system' }, 10152 10153{ oid => '3442', 10154 descr => 'pg_controldata checkpoint state information as a function', 10155 proname => 'pg_control_checkpoint', provolatile => 'v', 10156 prorettype => 'record', proargtypes => '', 10157 proallargtypes => '{pg_lsn,pg_lsn,text,int4,int4,bool,text,oid,xid,xid,xid,oid,xid,xid,oid,xid,xid,timestamptz}', 10158 proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o}', 10159 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}', 10160 prosrc => 'pg_control_checkpoint' }, 10161 10162{ oid => '3443', 10163 descr => 'pg_controldata recovery state information as a function', 10164 proname => 'pg_control_recovery', provolatile => 'v', prorettype => 'record', 10165 proargtypes => '', proallargtypes => '{pg_lsn,int4,pg_lsn,pg_lsn,bool}', 10166 proargmodes => '{o,o,o,o,o}', 10167 proargnames => '{min_recovery_end_lsn,min_recovery_end_timeline,backup_start_lsn,backup_end_lsn,end_of_backup_record_required}', 10168 prosrc => 'pg_control_recovery' }, 10169 10170{ oid => '3444', 10171 descr => 'pg_controldata init state information as a function', 10172 proname => 'pg_control_init', provolatile => 'v', prorettype => 'record', 10173 proargtypes => '', 10174 proallargtypes => '{int4,int4,int4,int4,int4,int4,int4,int4,int4,bool,bool,int4}', 10175 proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o}', 10176 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,float4_pass_by_value,float8_pass_by_value,data_page_checksum_version}', 10177 prosrc => 'pg_control_init' }, 10178 10179# collation management functions 10180{ oid => '3445', descr => 'import collations from operating system', 10181 proname => 'pg_import_system_collations', procost => '100', 10182 provolatile => 'v', proparallel => 'u', prorettype => 'int4', 10183 proargtypes => 'regnamespace', prosrc => 'pg_import_system_collations' }, 10184 10185{ oid => '3448', 10186 descr => 'get actual version of collation from operating system', 10187 proname => 'pg_collation_actual_version', procost => '100', 10188 provolatile => 'v', prorettype => 'text', proargtypes => 'oid', 10189 prosrc => 'pg_collation_actual_version' }, 10190 10191# system management/monitoring related functions 10192{ oid => '3353', descr => 'list files in the log directory', 10193 proname => 'pg_ls_logdir', procost => '10', prorows => '20', proretset => 't', 10194 provolatile => 'v', prorettype => 'record', proargtypes => '', 10195 proallargtypes => '{text,int8,timestamptz}', proargmodes => '{o,o,o}', 10196 proargnames => '{name,size,modification}', prosrc => 'pg_ls_logdir' }, 10197{ oid => '3354', descr => 'list of files in the WAL directory', 10198 proname => 'pg_ls_waldir', procost => '10', prorows => '20', proretset => 't', 10199 provolatile => 'v', prorettype => 'record', proargtypes => '', 10200 proallargtypes => '{text,int8,timestamptz}', proargmodes => '{o,o,o}', 10201 proargnames => '{name,size,modification}', prosrc => 'pg_ls_waldir' }, 10202 10203# hash partitioning constraint function 10204{ oid => '5028', descr => 'hash partition CHECK constraint', 10205 proname => 'satisfies_hash_partition', provariadic => 'any', 10206 proisstrict => 'f', prorettype => 'bool', proargtypes => 'oid int4 int4 any', 10207 proargmodes => '{i,i,i,v}', prosrc => 'satisfies_hash_partition' }, 10208 10209] 10210