1#---------------------------------------------------------------------- 2# 3# pg_proc.dat 4# Initial contents of the pg_proc system catalog. 5# 6# Portions Copyright (c) 1996-2019, 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', prosupport => 'textregexeq_support', 193 prorettype => 'bool', proargtypes => 'name text', prosrc => 'nameregexeq' }, 194{ oid => '1252', 195 proname => 'nameregexne', prorettype => 'bool', proargtypes => 'name text', 196 prosrc => 'nameregexne' }, 197{ oid => '1254', 198 proname => 'textregexeq', prosupport => 'textregexeq_support', 199 prorettype => 'bool', proargtypes => 'text text', prosrc => 'textregexeq' }, 200{ oid => '1256', 201 proname => 'textregexne', prorettype => 'bool', proargtypes => 'text text', 202 prosrc => 'textregexne' }, 203{ oid => '1364', descr => 'planner support for textregexeq', 204 proname => 'textregexeq_support', prorettype => 'internal', 205 proargtypes => 'internal', prosrc => 'textregexeq_support' }, 206 207{ oid => '1257', descr => 'length', 208 proname => 'textlen', prorettype => 'int4', proargtypes => 'text', 209 prosrc => 'textlen' }, 210{ oid => '1258', 211 proname => 'textcat', prorettype => 'text', proargtypes => 'text text', 212 prosrc => 'textcat' }, 213 214{ oid => '84', 215 proname => 'boolne', proleakproof => 't', prorettype => 'bool', 216 proargtypes => 'bool bool', prosrc => 'boolne' }, 217{ oid => '89', descr => 'PostgreSQL version string', 218 proname => 'version', provolatile => 's', prorettype => 'text', 219 proargtypes => '', prosrc => 'pgsql_version' }, 220 221{ oid => '86', descr => 'I/O', 222 proname => 'pg_ddl_command_in', prorettype => 'pg_ddl_command', 223 proargtypes => 'cstring', prosrc => 'pg_ddl_command_in' }, 224{ oid => '87', descr => 'I/O', 225 proname => 'pg_ddl_command_out', prorettype => 'cstring', 226 proargtypes => 'pg_ddl_command', prosrc => 'pg_ddl_command_out' }, 227{ oid => '88', descr => 'I/O', 228 proname => 'pg_ddl_command_recv', prorettype => 'pg_ddl_command', 229 proargtypes => 'internal', prosrc => 'pg_ddl_command_recv' }, 230{ oid => '90', descr => 'I/O', 231 proname => 'pg_ddl_command_send', prorettype => 'bytea', 232 proargtypes => 'pg_ddl_command', prosrc => 'pg_ddl_command_send' }, 233 234# OIDS 100 - 199 235 236{ oid => '101', descr => 'restriction selectivity of = and related operators', 237 proname => 'eqsel', provolatile => 's', prorettype => 'float8', 238 proargtypes => 'internal oid internal int4', prosrc => 'eqsel' }, 239{ oid => '102', 240 descr => 'restriction selectivity of <> and related operators', 241 proname => 'neqsel', provolatile => 's', prorettype => 'float8', 242 proargtypes => 'internal oid internal int4', prosrc => 'neqsel' }, 243{ oid => '103', 244 descr => 'restriction selectivity of < and related operators on scalar datatypes', 245 proname => 'scalarltsel', provolatile => 's', prorettype => 'float8', 246 proargtypes => 'internal oid internal int4', prosrc => 'scalarltsel' }, 247{ oid => '104', 248 descr => 'restriction selectivity of > and related operators on scalar datatypes', 249 proname => 'scalargtsel', provolatile => 's', prorettype => 'float8', 250 proargtypes => 'internal oid internal int4', prosrc => 'scalargtsel' }, 251{ oid => '105', descr => 'join selectivity of = and related operators', 252 proname => 'eqjoinsel', provolatile => 's', prorettype => 'float8', 253 proargtypes => 'internal oid internal int2 internal', prosrc => 'eqjoinsel' }, 254{ oid => '106', descr => 'join selectivity of <> and related operators', 255 proname => 'neqjoinsel', provolatile => 's', prorettype => 'float8', 256 proargtypes => 'internal oid internal int2 internal', 257 prosrc => 'neqjoinsel' }, 258{ oid => '107', 259 descr => 'join selectivity of < and related operators on scalar datatypes', 260 proname => 'scalarltjoinsel', provolatile => 's', prorettype => 'float8', 261 proargtypes => 'internal oid internal int2 internal', 262 prosrc => 'scalarltjoinsel' }, 263{ oid => '108', 264 descr => 'join selectivity of > and related operators on scalar datatypes', 265 proname => 'scalargtjoinsel', provolatile => 's', prorettype => 'float8', 266 proargtypes => 'internal oid internal int2 internal', 267 prosrc => 'scalargtjoinsel' }, 268 269{ oid => '336', 270 descr => 'restriction selectivity of <= and related operators on scalar datatypes', 271 proname => 'scalarlesel', provolatile => 's', prorettype => 'float8', 272 proargtypes => 'internal oid internal int4', prosrc => 'scalarlesel' }, 273{ oid => '337', 274 descr => 'restriction selectivity of >= and related operators on scalar datatypes', 275 proname => 'scalargesel', provolatile => 's', prorettype => 'float8', 276 proargtypes => 'internal oid internal int4', prosrc => 'scalargesel' }, 277{ oid => '386', 278 descr => 'join selectivity of <= and related operators on scalar datatypes', 279 proname => 'scalarlejoinsel', provolatile => 's', prorettype => 'float8', 280 proargtypes => 'internal oid internal int2 internal', 281 prosrc => 'scalarlejoinsel' }, 282{ oid => '398', 283 descr => 'join selectivity of >= and related operators on scalar datatypes', 284 proname => 'scalargejoinsel', provolatile => 's', prorettype => 'float8', 285 proargtypes => 'internal oid internal int2 internal', 286 prosrc => 'scalargejoinsel' }, 287 288{ oid => '109', descr => 'I/O', 289 proname => 'unknownin', prorettype => 'unknown', proargtypes => 'cstring', 290 prosrc => 'unknownin' }, 291{ oid => '110', descr => 'I/O', 292 proname => 'unknownout', prorettype => 'cstring', proargtypes => 'unknown', 293 prosrc => 'unknownout' }, 294{ oid => '111', 295 proname => 'numeric_fac', prorettype => 'numeric', proargtypes => 'int8', 296 prosrc => 'numeric_fac' }, 297 298{ oid => '115', 299 proname => 'box_above_eq', prorettype => 'bool', proargtypes => 'box box', 300 prosrc => 'box_above_eq' }, 301{ oid => '116', 302 proname => 'box_below_eq', prorettype => 'bool', proargtypes => 'box box', 303 prosrc => 'box_below_eq' }, 304 305{ oid => '117', descr => 'I/O', 306 proname => 'point_in', prorettype => 'point', proargtypes => 'cstring', 307 prosrc => 'point_in' }, 308{ oid => '118', descr => 'I/O', 309 proname => 'point_out', prorettype => 'cstring', proargtypes => 'point', 310 prosrc => 'point_out' }, 311{ oid => '119', descr => 'I/O', 312 proname => 'lseg_in', prorettype => 'lseg', proargtypes => 'cstring', 313 prosrc => 'lseg_in' }, 314{ oid => '120', descr => 'I/O', 315 proname => 'lseg_out', prorettype => 'cstring', proargtypes => 'lseg', 316 prosrc => 'lseg_out' }, 317{ oid => '121', descr => 'I/O', 318 proname => 'path_in', prorettype => 'path', proargtypes => 'cstring', 319 prosrc => 'path_in' }, 320{ oid => '122', descr => 'I/O', 321 proname => 'path_out', prorettype => 'cstring', proargtypes => 'path', 322 prosrc => 'path_out' }, 323{ oid => '123', descr => 'I/O', 324 proname => 'box_in', prorettype => 'box', proargtypes => 'cstring', 325 prosrc => 'box_in' }, 326{ oid => '124', descr => 'I/O', 327 proname => 'box_out', prorettype => 'cstring', proargtypes => 'box', 328 prosrc => 'box_out' }, 329{ oid => '125', 330 proname => 'box_overlap', prorettype => 'bool', proargtypes => 'box box', 331 prosrc => 'box_overlap' }, 332{ oid => '126', 333 proname => 'box_ge', prorettype => 'bool', proargtypes => 'box box', 334 prosrc => 'box_ge' }, 335{ oid => '127', 336 proname => 'box_gt', prorettype => 'bool', proargtypes => 'box box', 337 prosrc => 'box_gt' }, 338{ oid => '128', 339 proname => 'box_eq', prorettype => 'bool', proargtypes => 'box box', 340 prosrc => 'box_eq' }, 341{ oid => '129', 342 proname => 'box_lt', prorettype => 'bool', proargtypes => 'box box', 343 prosrc => 'box_lt' }, 344{ oid => '130', 345 proname => 'box_le', prorettype => 'bool', proargtypes => 'box box', 346 prosrc => 'box_le' }, 347{ oid => '131', 348 proname => 'point_above', prorettype => 'bool', proargtypes => 'point point', 349 prosrc => 'point_above' }, 350{ oid => '132', 351 proname => 'point_left', prorettype => 'bool', proargtypes => 'point point', 352 prosrc => 'point_left' }, 353{ oid => '133', 354 proname => 'point_right', prorettype => 'bool', proargtypes => 'point point', 355 prosrc => 'point_right' }, 356{ oid => '134', 357 proname => 'point_below', prorettype => 'bool', proargtypes => 'point point', 358 prosrc => 'point_below' }, 359{ oid => '135', 360 proname => 'point_eq', prorettype => 'bool', proargtypes => 'point point', 361 prosrc => 'point_eq' }, 362{ oid => '136', 363 proname => 'on_pb', prorettype => 'bool', proargtypes => 'point box', 364 prosrc => 'on_pb' }, 365{ oid => '137', 366 proname => 'on_ppath', prorettype => 'bool', proargtypes => 'point path', 367 prosrc => 'on_ppath' }, 368{ oid => '138', 369 proname => 'box_center', prorettype => 'point', proargtypes => 'box', 370 prosrc => 'box_center' }, 371{ oid => '139', 372 descr => 'restriction selectivity for area-comparison operators', 373 proname => 'areasel', provolatile => 's', prorettype => 'float8', 374 proargtypes => 'internal oid internal int4', prosrc => 'areasel' }, 375{ oid => '140', descr => 'join selectivity for area-comparison operators', 376 proname => 'areajoinsel', provolatile => 's', prorettype => 'float8', 377 proargtypes => 'internal oid internal int2 internal', 378 prosrc => 'areajoinsel' }, 379{ oid => '141', 380 proname => 'int4mul', prorettype => 'int4', proargtypes => 'int4 int4', 381 prosrc => 'int4mul' }, 382{ oid => '144', 383 proname => 'int4ne', proleakproof => 't', prorettype => 'bool', 384 proargtypes => 'int4 int4', prosrc => 'int4ne' }, 385{ oid => '145', 386 proname => 'int2ne', proleakproof => 't', prorettype => 'bool', 387 proargtypes => 'int2 int2', prosrc => 'int2ne' }, 388{ oid => '146', 389 proname => 'int2gt', proleakproof => 't', prorettype => 'bool', 390 proargtypes => 'int2 int2', prosrc => 'int2gt' }, 391{ oid => '147', 392 proname => 'int4gt', proleakproof => 't', prorettype => 'bool', 393 proargtypes => 'int4 int4', prosrc => 'int4gt' }, 394{ oid => '148', 395 proname => 'int2le', proleakproof => 't', prorettype => 'bool', 396 proargtypes => 'int2 int2', prosrc => 'int2le' }, 397{ oid => '149', 398 proname => 'int4le', proleakproof => 't', prorettype => 'bool', 399 proargtypes => 'int4 int4', prosrc => 'int4le' }, 400{ oid => '150', 401 proname => 'int4ge', proleakproof => 't', prorettype => 'bool', 402 proargtypes => 'int4 int4', prosrc => 'int4ge' }, 403{ oid => '151', 404 proname => 'int2ge', proleakproof => 't', prorettype => 'bool', 405 proargtypes => 'int2 int2', prosrc => 'int2ge' }, 406{ oid => '152', 407 proname => 'int2mul', prorettype => 'int2', proargtypes => 'int2 int2', 408 prosrc => 'int2mul' }, 409{ oid => '153', 410 proname => 'int2div', prorettype => 'int2', proargtypes => 'int2 int2', 411 prosrc => 'int2div' }, 412{ oid => '154', 413 proname => 'int4div', prorettype => 'int4', proargtypes => 'int4 int4', 414 prosrc => 'int4div' }, 415{ oid => '155', 416 proname => 'int2mod', prorettype => 'int2', proargtypes => 'int2 int2', 417 prosrc => 'int2mod' }, 418{ oid => '156', 419 proname => 'int4mod', prorettype => 'int4', proargtypes => 'int4 int4', 420 prosrc => 'int4mod' }, 421{ oid => '157', 422 proname => 'textne', proleakproof => 't', prorettype => 'bool', 423 proargtypes => 'text text', prosrc => 'textne' }, 424{ oid => '158', 425 proname => 'int24eq', proleakproof => 't', prorettype => 'bool', 426 proargtypes => 'int2 int4', prosrc => 'int24eq' }, 427{ oid => '159', 428 proname => 'int42eq', proleakproof => 't', prorettype => 'bool', 429 proargtypes => 'int4 int2', prosrc => 'int42eq' }, 430{ oid => '160', 431 proname => 'int24lt', proleakproof => 't', prorettype => 'bool', 432 proargtypes => 'int2 int4', prosrc => 'int24lt' }, 433{ oid => '161', 434 proname => 'int42lt', proleakproof => 't', prorettype => 'bool', 435 proargtypes => 'int4 int2', prosrc => 'int42lt' }, 436{ oid => '162', 437 proname => 'int24gt', proleakproof => 't', prorettype => 'bool', 438 proargtypes => 'int2 int4', prosrc => 'int24gt' }, 439{ oid => '163', 440 proname => 'int42gt', proleakproof => 't', prorettype => 'bool', 441 proargtypes => 'int4 int2', prosrc => 'int42gt' }, 442{ oid => '164', 443 proname => 'int24ne', proleakproof => 't', prorettype => 'bool', 444 proargtypes => 'int2 int4', prosrc => 'int24ne' }, 445{ oid => '165', 446 proname => 'int42ne', proleakproof => 't', prorettype => 'bool', 447 proargtypes => 'int4 int2', prosrc => 'int42ne' }, 448{ oid => '166', 449 proname => 'int24le', proleakproof => 't', prorettype => 'bool', 450 proargtypes => 'int2 int4', prosrc => 'int24le' }, 451{ oid => '167', 452 proname => 'int42le', proleakproof => 't', prorettype => 'bool', 453 proargtypes => 'int4 int2', prosrc => 'int42le' }, 454{ oid => '168', 455 proname => 'int24ge', proleakproof => 't', prorettype => 'bool', 456 proargtypes => 'int2 int4', prosrc => 'int24ge' }, 457{ oid => '169', 458 proname => 'int42ge', proleakproof => 't', prorettype => 'bool', 459 proargtypes => 'int4 int2', prosrc => 'int42ge' }, 460{ oid => '170', 461 proname => 'int24mul', prorettype => 'int4', proargtypes => 'int2 int4', 462 prosrc => 'int24mul' }, 463{ oid => '171', 464 proname => 'int42mul', prorettype => 'int4', proargtypes => 'int4 int2', 465 prosrc => 'int42mul' }, 466{ oid => '172', 467 proname => 'int24div', prorettype => 'int4', proargtypes => 'int2 int4', 468 prosrc => 'int24div' }, 469{ oid => '173', 470 proname => 'int42div', prorettype => 'int4', proargtypes => 'int4 int2', 471 prosrc => 'int42div' }, 472{ oid => '176', 473 proname => 'int2pl', prorettype => 'int2', proargtypes => 'int2 int2', 474 prosrc => 'int2pl' }, 475{ oid => '177', 476 proname => 'int4pl', prorettype => 'int4', proargtypes => 'int4 int4', 477 prosrc => 'int4pl' }, 478{ oid => '178', 479 proname => 'int24pl', prorettype => 'int4', proargtypes => 'int2 int4', 480 prosrc => 'int24pl' }, 481{ oid => '179', 482 proname => 'int42pl', prorettype => 'int4', proargtypes => 'int4 int2', 483 prosrc => 'int42pl' }, 484{ oid => '180', 485 proname => 'int2mi', prorettype => 'int2', proargtypes => 'int2 int2', 486 prosrc => 'int2mi' }, 487{ oid => '181', 488 proname => 'int4mi', prorettype => 'int4', proargtypes => 'int4 int4', 489 prosrc => 'int4mi' }, 490{ oid => '182', 491 proname => 'int24mi', prorettype => 'int4', proargtypes => 'int2 int4', 492 prosrc => 'int24mi' }, 493{ oid => '183', 494 proname => 'int42mi', prorettype => 'int4', proargtypes => 'int4 int2', 495 prosrc => 'int42mi' }, 496{ oid => '184', 497 proname => 'oideq', proleakproof => 't', prorettype => 'bool', 498 proargtypes => 'oid oid', prosrc => 'oideq' }, 499{ oid => '185', 500 proname => 'oidne', proleakproof => 't', prorettype => 'bool', 501 proargtypes => 'oid oid', prosrc => 'oidne' }, 502{ oid => '186', 503 proname => 'box_same', prorettype => 'bool', proargtypes => 'box box', 504 prosrc => 'box_same' }, 505{ oid => '187', 506 proname => 'box_contain', prorettype => 'bool', proargtypes => 'box box', 507 prosrc => 'box_contain' }, 508{ oid => '188', 509 proname => 'box_left', prorettype => 'bool', proargtypes => 'box box', 510 prosrc => 'box_left' }, 511{ oid => '189', 512 proname => 'box_overleft', prorettype => 'bool', proargtypes => 'box box', 513 prosrc => 'box_overleft' }, 514{ oid => '190', 515 proname => 'box_overright', prorettype => 'bool', proargtypes => 'box box', 516 prosrc => 'box_overright' }, 517{ oid => '191', 518 proname => 'box_right', prorettype => 'bool', proargtypes => 'box box', 519 prosrc => 'box_right' }, 520{ oid => '192', 521 proname => 'box_contained', prorettype => 'bool', proargtypes => 'box box', 522 prosrc => 'box_contained' }, 523{ oid => '193', 524 proname => 'box_contain_pt', prorettype => 'bool', proargtypes => 'box point', 525 prosrc => 'box_contain_pt' }, 526 527{ oid => '195', descr => 'I/O', 528 proname => 'pg_node_tree_in', prorettype => 'pg_node_tree', 529 proargtypes => 'cstring', prosrc => 'pg_node_tree_in' }, 530{ oid => '196', descr => 'I/O', 531 proname => 'pg_node_tree_out', prorettype => 'cstring', 532 proargtypes => 'pg_node_tree', prosrc => 'pg_node_tree_out' }, 533{ oid => '197', descr => 'I/O', 534 proname => 'pg_node_tree_recv', provolatile => 's', 535 prorettype => 'pg_node_tree', proargtypes => 'internal', 536 prosrc => 'pg_node_tree_recv' }, 537{ oid => '198', descr => 'I/O', 538 proname => 'pg_node_tree_send', provolatile => 's', prorettype => 'bytea', 539 proargtypes => 'pg_node_tree', prosrc => 'pg_node_tree_send' }, 540 541# OIDS 200 - 299 542 543{ oid => '200', descr => 'I/O', 544 proname => 'float4in', prorettype => 'float4', proargtypes => 'cstring', 545 prosrc => 'float4in' }, 546{ oid => '201', descr => 'I/O', 547 proname => 'float4out', prorettype => 'cstring', proargtypes => 'float4', 548 prosrc => 'float4out' }, 549{ oid => '202', 550 proname => 'float4mul', prorettype => 'float4', 551 proargtypes => 'float4 float4', prosrc => 'float4mul' }, 552{ oid => '203', 553 proname => 'float4div', prorettype => 'float4', 554 proargtypes => 'float4 float4', prosrc => 'float4div' }, 555{ oid => '204', 556 proname => 'float4pl', prorettype => 'float4', proargtypes => 'float4 float4', 557 prosrc => 'float4pl' }, 558{ oid => '205', 559 proname => 'float4mi', prorettype => 'float4', proargtypes => 'float4 float4', 560 prosrc => 'float4mi' }, 561{ oid => '206', 562 proname => 'float4um', prorettype => 'float4', proargtypes => 'float4', 563 prosrc => 'float4um' }, 564{ oid => '207', 565 proname => 'float4abs', prorettype => 'float4', proargtypes => 'float4', 566 prosrc => 'float4abs' }, 567{ oid => '208', descr => 'aggregate transition function', 568 proname => 'float4_accum', prorettype => '_float8', 569 proargtypes => '_float8 float4', prosrc => 'float4_accum' }, 570{ oid => '209', descr => 'larger of two', 571 proname => 'float4larger', prorettype => 'float4', 572 proargtypes => 'float4 float4', prosrc => 'float4larger' }, 573{ oid => '211', descr => 'smaller of two', 574 proname => 'float4smaller', prorettype => 'float4', 575 proargtypes => 'float4 float4', prosrc => 'float4smaller' }, 576 577{ oid => '212', 578 proname => 'int4um', prorettype => 'int4', proargtypes => 'int4', 579 prosrc => 'int4um' }, 580{ oid => '213', 581 proname => 'int2um', prorettype => 'int2', proargtypes => 'int2', 582 prosrc => 'int2um' }, 583 584{ oid => '214', descr => 'I/O', 585 proname => 'float8in', prorettype => 'float8', proargtypes => 'cstring', 586 prosrc => 'float8in' }, 587{ oid => '215', descr => 'I/O', 588 proname => 'float8out', prorettype => 'cstring', proargtypes => 'float8', 589 prosrc => 'float8out' }, 590{ oid => '216', 591 proname => 'float8mul', prorettype => 'float8', 592 proargtypes => 'float8 float8', prosrc => 'float8mul' }, 593{ oid => '217', 594 proname => 'float8div', prorettype => 'float8', 595 proargtypes => 'float8 float8', prosrc => 'float8div' }, 596{ oid => '218', 597 proname => 'float8pl', prorettype => 'float8', proargtypes => 'float8 float8', 598 prosrc => 'float8pl' }, 599{ oid => '219', 600 proname => 'float8mi', prorettype => 'float8', proargtypes => 'float8 float8', 601 prosrc => 'float8mi' }, 602{ oid => '220', 603 proname => 'float8um', prorettype => 'float8', proargtypes => 'float8', 604 prosrc => 'float8um' }, 605{ oid => '221', 606 proname => 'float8abs', prorettype => 'float8', proargtypes => 'float8', 607 prosrc => 'float8abs' }, 608{ oid => '222', descr => 'aggregate transition function', 609 proname => 'float8_accum', prorettype => '_float8', 610 proargtypes => '_float8 float8', prosrc => 'float8_accum' }, 611{ oid => '276', descr => 'aggregate combine function', 612 proname => 'float8_combine', prorettype => '_float8', 613 proargtypes => '_float8 _float8', prosrc => 'float8_combine' }, 614{ oid => '223', descr => 'larger of two', 615 proname => 'float8larger', prorettype => 'float8', 616 proargtypes => 'float8 float8', prosrc => 'float8larger' }, 617{ oid => '224', descr => 'smaller of two', 618 proname => 'float8smaller', prorettype => 'float8', 619 proargtypes => 'float8 float8', prosrc => 'float8smaller' }, 620 621{ oid => '225', 622 proname => 'lseg_center', prorettype => 'point', proargtypes => 'lseg', 623 prosrc => 'lseg_center' }, 624{ oid => '226', 625 proname => 'path_center', prorettype => 'point', proargtypes => 'path', 626 prosrc => 'path_center' }, 627{ oid => '227', 628 proname => 'poly_center', prorettype => 'point', proargtypes => 'polygon', 629 prosrc => 'poly_center' }, 630 631{ oid => '228', descr => 'round to nearest integer', 632 proname => 'dround', prorettype => 'float8', proargtypes => 'float8', 633 prosrc => 'dround' }, 634{ oid => '229', descr => 'truncate to integer', 635 proname => 'dtrunc', prorettype => 'float8', proargtypes => 'float8', 636 prosrc => 'dtrunc' }, 637{ oid => '2308', descr => 'nearest integer >= value', 638 proname => 'ceil', prorettype => 'float8', proargtypes => 'float8', 639 prosrc => 'dceil' }, 640{ oid => '2320', descr => 'nearest integer >= value', 641 proname => 'ceiling', prorettype => 'float8', proargtypes => 'float8', 642 prosrc => 'dceil' }, 643{ oid => '2309', descr => 'nearest integer <= value', 644 proname => 'floor', prorettype => 'float8', proargtypes => 'float8', 645 prosrc => 'dfloor' }, 646{ oid => '2310', descr => 'sign of value', 647 proname => 'sign', prorettype => 'float8', proargtypes => 'float8', 648 prosrc => 'dsign' }, 649{ oid => '230', 650 proname => 'dsqrt', prorettype => 'float8', proargtypes => 'float8', 651 prosrc => 'dsqrt' }, 652{ oid => '231', 653 proname => 'dcbrt', prorettype => 'float8', proargtypes => 'float8', 654 prosrc => 'dcbrt' }, 655{ oid => '232', 656 proname => 'dpow', prorettype => 'float8', proargtypes => 'float8 float8', 657 prosrc => 'dpow' }, 658{ oid => '233', descr => 'natural exponential (e^x)', 659 proname => 'dexp', prorettype => 'float8', proargtypes => 'float8', 660 prosrc => 'dexp' }, 661{ oid => '234', descr => 'natural logarithm', 662 proname => 'dlog1', prorettype => 'float8', proargtypes => 'float8', 663 prosrc => 'dlog1' }, 664{ oid => '235', descr => 'convert int2 to float8', 665 proname => 'float8', prorettype => 'float8', proargtypes => 'int2', 666 prosrc => 'i2tod' }, 667{ oid => '236', descr => 'convert int2 to float4', 668 proname => 'float4', prorettype => 'float4', proargtypes => 'int2', 669 prosrc => 'i2tof' }, 670{ oid => '237', descr => 'convert float8 to int2', 671 proname => 'int2', prorettype => 'int2', proargtypes => 'float8', 672 prosrc => 'dtoi2' }, 673{ oid => '238', descr => 'convert float4 to int2', 674 proname => 'int2', prorettype => 'int2', proargtypes => 'float4', 675 prosrc => 'ftoi2' }, 676{ oid => '239', 677 proname => 'line_distance', prorettype => 'float8', 678 proargtypes => 'line line', prosrc => 'line_distance' }, 679 680{ oid => '240', 681 proname => 'nameeqtext', proleakproof => 't', prorettype => 'bool', 682 proargtypes => 'name text', prosrc => 'nameeqtext' }, 683{ oid => '241', 684 proname => 'namelttext', proleakproof => 't', prorettype => 'bool', 685 proargtypes => 'name text', prosrc => 'namelttext' }, 686{ oid => '242', 687 proname => 'nameletext', proleakproof => 't', prorettype => 'bool', 688 proargtypes => 'name text', prosrc => 'nameletext' }, 689{ oid => '243', 690 proname => 'namegetext', proleakproof => 't', prorettype => 'bool', 691 proargtypes => 'name text', prosrc => 'namegetext' }, 692{ oid => '244', 693 proname => 'namegttext', proleakproof => 't', prorettype => 'bool', 694 proargtypes => 'name text', prosrc => 'namegttext' }, 695{ oid => '245', 696 proname => 'namenetext', proleakproof => 't', prorettype => 'bool', 697 proargtypes => 'name text', prosrc => 'namenetext' }, 698{ oid => '246', descr => 'less-equal-greater', 699 proname => 'btnametextcmp', proleakproof => 't', prorettype => 'int4', 700 proargtypes => 'name text', prosrc => 'btnametextcmp' }, 701{ oid => '247', 702 proname => 'texteqname', proleakproof => 't', prorettype => 'bool', 703 proargtypes => 'text name', prosrc => 'texteqname' }, 704{ oid => '248', 705 proname => 'textltname', proleakproof => 't', prorettype => 'bool', 706 proargtypes => 'text name', prosrc => 'textltname' }, 707{ oid => '249', 708 proname => 'textlename', proleakproof => 't', prorettype => 'bool', 709 proargtypes => 'text name', prosrc => 'textlename' }, 710{ oid => '250', 711 proname => 'textgename', proleakproof => 't', prorettype => 'bool', 712 proargtypes => 'text name', prosrc => 'textgename' }, 713{ oid => '251', 714 proname => 'textgtname', proleakproof => 't', prorettype => 'bool', 715 proargtypes => 'text name', prosrc => 'textgtname' }, 716{ oid => '252', 717 proname => 'textnename', proleakproof => 't', prorettype => 'bool', 718 proargtypes => 'text name', prosrc => 'textnename' }, 719{ oid => '253', descr => 'less-equal-greater', 720 proname => 'bttextnamecmp', proleakproof => 't', prorettype => 'int4', 721 proargtypes => 'text name', prosrc => 'bttextnamecmp' }, 722 723{ oid => '266', descr => 'concatenate name and oid', 724 proname => 'nameconcatoid', prorettype => 'name', proargtypes => 'name oid', 725 prosrc => 'nameconcatoid' }, 726 727{ oid => '274', 728 descr => 'current date and time - increments during transactions', 729 proname => 'timeofday', provolatile => 'v', prorettype => 'text', 730 proargtypes => '', prosrc => 'timeofday' }, 731 732{ oid => '277', 733 proname => 'inter_sl', prorettype => 'bool', proargtypes => 'lseg line', 734 prosrc => 'inter_sl' }, 735{ oid => '278', 736 proname => 'inter_lb', prorettype => 'bool', proargtypes => 'line box', 737 prosrc => 'inter_lb' }, 738 739{ oid => '279', 740 proname => 'float48mul', prorettype => 'float8', 741 proargtypes => 'float4 float8', prosrc => 'float48mul' }, 742{ oid => '280', 743 proname => 'float48div', prorettype => 'float8', 744 proargtypes => 'float4 float8', prosrc => 'float48div' }, 745{ oid => '281', 746 proname => 'float48pl', prorettype => 'float8', 747 proargtypes => 'float4 float8', prosrc => 'float48pl' }, 748{ oid => '282', 749 proname => 'float48mi', prorettype => 'float8', 750 proargtypes => 'float4 float8', prosrc => 'float48mi' }, 751{ oid => '283', 752 proname => 'float84mul', prorettype => 'float8', 753 proargtypes => 'float8 float4', prosrc => 'float84mul' }, 754{ oid => '284', 755 proname => 'float84div', prorettype => 'float8', 756 proargtypes => 'float8 float4', prosrc => 'float84div' }, 757{ oid => '285', 758 proname => 'float84pl', prorettype => 'float8', 759 proargtypes => 'float8 float4', prosrc => 'float84pl' }, 760{ oid => '286', 761 proname => 'float84mi', prorettype => 'float8', 762 proargtypes => 'float8 float4', prosrc => 'float84mi' }, 763 764{ oid => '287', 765 proname => 'float4eq', proleakproof => 't', prorettype => 'bool', 766 proargtypes => 'float4 float4', prosrc => 'float4eq' }, 767{ oid => '288', 768 proname => 'float4ne', proleakproof => 't', prorettype => 'bool', 769 proargtypes => 'float4 float4', prosrc => 'float4ne' }, 770{ oid => '289', 771 proname => 'float4lt', proleakproof => 't', prorettype => 'bool', 772 proargtypes => 'float4 float4', prosrc => 'float4lt' }, 773{ oid => '290', 774 proname => 'float4le', proleakproof => 't', prorettype => 'bool', 775 proargtypes => 'float4 float4', prosrc => 'float4le' }, 776{ oid => '291', 777 proname => 'float4gt', proleakproof => 't', prorettype => 'bool', 778 proargtypes => 'float4 float4', prosrc => 'float4gt' }, 779{ oid => '292', 780 proname => 'float4ge', proleakproof => 't', prorettype => 'bool', 781 proargtypes => 'float4 float4', prosrc => 'float4ge' }, 782 783{ oid => '293', 784 proname => 'float8eq', proleakproof => 't', prorettype => 'bool', 785 proargtypes => 'float8 float8', prosrc => 'float8eq' }, 786{ oid => '294', 787 proname => 'float8ne', proleakproof => 't', prorettype => 'bool', 788 proargtypes => 'float8 float8', prosrc => 'float8ne' }, 789{ oid => '295', 790 proname => 'float8lt', proleakproof => 't', prorettype => 'bool', 791 proargtypes => 'float8 float8', prosrc => 'float8lt' }, 792{ oid => '296', 793 proname => 'float8le', proleakproof => 't', prorettype => 'bool', 794 proargtypes => 'float8 float8', prosrc => 'float8le' }, 795{ oid => '297', 796 proname => 'float8gt', proleakproof => 't', prorettype => 'bool', 797 proargtypes => 'float8 float8', prosrc => 'float8gt' }, 798{ oid => '298', 799 proname => 'float8ge', proleakproof => 't', prorettype => 'bool', 800 proargtypes => 'float8 float8', prosrc => 'float8ge' }, 801 802{ oid => '299', 803 proname => 'float48eq', proleakproof => 't', prorettype => 'bool', 804 proargtypes => 'float4 float8', prosrc => 'float48eq' }, 805 806# OIDS 300 - 399 807 808{ oid => '300', 809 proname => 'float48ne', proleakproof => 't', prorettype => 'bool', 810 proargtypes => 'float4 float8', prosrc => 'float48ne' }, 811{ oid => '301', 812 proname => 'float48lt', proleakproof => 't', prorettype => 'bool', 813 proargtypes => 'float4 float8', prosrc => 'float48lt' }, 814{ oid => '302', 815 proname => 'float48le', proleakproof => 't', prorettype => 'bool', 816 proargtypes => 'float4 float8', prosrc => 'float48le' }, 817{ oid => '303', 818 proname => 'float48gt', proleakproof => 't', prorettype => 'bool', 819 proargtypes => 'float4 float8', prosrc => 'float48gt' }, 820{ oid => '304', 821 proname => 'float48ge', proleakproof => 't', prorettype => 'bool', 822 proargtypes => 'float4 float8', prosrc => 'float48ge' }, 823{ oid => '305', 824 proname => 'float84eq', proleakproof => 't', prorettype => 'bool', 825 proargtypes => 'float8 float4', prosrc => 'float84eq' }, 826{ oid => '306', 827 proname => 'float84ne', proleakproof => 't', prorettype => 'bool', 828 proargtypes => 'float8 float4', prosrc => 'float84ne' }, 829{ oid => '307', 830 proname => 'float84lt', proleakproof => 't', prorettype => 'bool', 831 proargtypes => 'float8 float4', prosrc => 'float84lt' }, 832{ oid => '308', 833 proname => 'float84le', proleakproof => 't', prorettype => 'bool', 834 proargtypes => 'float8 float4', prosrc => 'float84le' }, 835{ oid => '309', 836 proname => 'float84gt', proleakproof => 't', prorettype => 'bool', 837 proargtypes => 'float8 float4', prosrc => 'float84gt' }, 838{ oid => '310', 839 proname => 'float84ge', proleakproof => 't', prorettype => 'bool', 840 proargtypes => 'float8 float4', prosrc => 'float84ge' }, 841{ oid => '320', descr => 'bucket number of operand in equal-width histogram', 842 proname => 'width_bucket', prorettype => 'int4', 843 proargtypes => 'float8 float8 float8 int4', prosrc => 'width_bucket_float8' }, 844 845{ oid => '311', descr => 'convert float4 to float8', 846 proname => 'float8', prorettype => 'float8', proargtypes => 'float4', 847 prosrc => 'ftod' }, 848{ oid => '312', descr => 'convert float8 to float4', 849 proname => 'float4', prorettype => 'float4', proargtypes => 'float8', 850 prosrc => 'dtof' }, 851{ oid => '313', descr => 'convert int2 to int4', 852 proname => 'int4', prorettype => 'int4', proargtypes => 'int2', 853 prosrc => 'i2toi4' }, 854{ oid => '314', descr => 'convert int4 to int2', 855 proname => 'int2', prorettype => 'int2', proargtypes => 'int4', 856 prosrc => 'i4toi2' }, 857{ oid => '316', descr => 'convert int4 to float8', 858 proname => 'float8', prorettype => 'float8', proargtypes => 'int4', 859 prosrc => 'i4tod' }, 860{ oid => '317', descr => 'convert float8 to int4', 861 proname => 'int4', prorettype => 'int4', proargtypes => 'float8', 862 prosrc => 'dtoi4' }, 863{ oid => '318', descr => 'convert int4 to float4', 864 proname => 'float4', prorettype => 'float4', proargtypes => 'int4', 865 prosrc => 'i4tof' }, 866{ oid => '319', descr => 'convert float4 to int4', 867 proname => 'int4', prorettype => 'int4', proargtypes => 'float4', 868 prosrc => 'ftoi4' }, 869 870# Table access method handlers 871{ oid => '3', oid_symbol => 'HEAP_TABLE_AM_HANDLER_OID', 872 descr => 'row-oriented heap table access method handler', 873 proname => 'heap_tableam_handler', provolatile => 'v', 874 prorettype => 'table_am_handler', proargtypes => 'internal', 875 prosrc => 'heap_tableam_handler' }, 876 877# Index access method handlers 878{ oid => '330', descr => 'btree index access method handler', 879 proname => 'bthandler', provolatile => 'v', prorettype => 'index_am_handler', 880 proargtypes => 'internal', prosrc => 'bthandler' }, 881{ oid => '331', descr => 'hash index access method handler', 882 proname => 'hashhandler', provolatile => 'v', 883 prorettype => 'index_am_handler', proargtypes => 'internal', 884 prosrc => 'hashhandler' }, 885{ oid => '332', descr => 'gist index access method handler', 886 proname => 'gisthandler', provolatile => 'v', 887 prorettype => 'index_am_handler', proargtypes => 'internal', 888 prosrc => 'gisthandler' }, 889{ oid => '333', descr => 'gin index access method handler', 890 proname => 'ginhandler', provolatile => 'v', prorettype => 'index_am_handler', 891 proargtypes => 'internal', prosrc => 'ginhandler' }, 892{ oid => '334', descr => 'spgist index access method handler', 893 proname => 'spghandler', provolatile => 'v', prorettype => 'index_am_handler', 894 proargtypes => 'internal', prosrc => 'spghandler' }, 895{ oid => '335', descr => 'brin index access method handler', 896 proname => 'brinhandler', provolatile => 'v', 897 prorettype => 'index_am_handler', proargtypes => 'internal', 898 prosrc => 'brinhandler' }, 899{ oid => '3952', descr => 'brin: standalone scan new table pages', 900 proname => 'brin_summarize_new_values', provolatile => 'v', 901 proparallel => 'u', prorettype => 'int4', proargtypes => 'regclass', 902 prosrc => 'brin_summarize_new_values' }, 903{ oid => '3999', descr => 'brin: standalone scan new table pages', 904 proname => 'brin_summarize_range', provolatile => 'v', proparallel => 'u', 905 prorettype => 'int4', proargtypes => 'regclass int8', 906 prosrc => 'brin_summarize_range' }, 907{ oid => '4014', descr => 'brin: desummarize page range', 908 proname => 'brin_desummarize_range', provolatile => 'v', proparallel => 'u', 909 prorettype => 'void', proargtypes => 'regclass int8', 910 prosrc => 'brin_desummarize_range' }, 911 912{ oid => '338', descr => 'validate an operator class', 913 proname => 'amvalidate', provolatile => 'v', prorettype => 'bool', 914 proargtypes => 'oid', prosrc => 'amvalidate' }, 915 916{ oid => '636', descr => 'test property of an index access method', 917 proname => 'pg_indexam_has_property', provolatile => 's', 918 prorettype => 'bool', proargtypes => 'oid text', 919 prosrc => 'pg_indexam_has_property' }, 920{ oid => '637', descr => 'test property of an index', 921 proname => 'pg_index_has_property', provolatile => 's', prorettype => 'bool', 922 proargtypes => 'regclass text', prosrc => 'pg_index_has_property' }, 923{ oid => '638', descr => 'test property of an index column', 924 proname => 'pg_index_column_has_property', provolatile => 's', 925 prorettype => 'bool', proargtypes => 'regclass int4 text', 926 prosrc => 'pg_index_column_has_property' }, 927{ oid => '676', descr => 'return name of given index build phase', 928 proname => 'pg_indexam_progress_phasename', prorettype => 'text', 929 proargtypes => 'oid int8', prosrc => 'pg_indexam_progress_phasename' }, 930 931{ oid => '339', 932 proname => 'poly_same', prorettype => 'bool', 933 proargtypes => 'polygon polygon', prosrc => 'poly_same' }, 934{ oid => '340', 935 proname => 'poly_contain', prorettype => 'bool', 936 proargtypes => 'polygon polygon', prosrc => 'poly_contain' }, 937{ oid => '341', 938 proname => 'poly_left', prorettype => 'bool', 939 proargtypes => 'polygon polygon', prosrc => 'poly_left' }, 940{ oid => '342', 941 proname => 'poly_overleft', prorettype => 'bool', 942 proargtypes => 'polygon polygon', prosrc => 'poly_overleft' }, 943{ oid => '343', 944 proname => 'poly_overright', prorettype => 'bool', 945 proargtypes => 'polygon polygon', prosrc => 'poly_overright' }, 946{ oid => '344', 947 proname => 'poly_right', prorettype => 'bool', 948 proargtypes => 'polygon polygon', prosrc => 'poly_right' }, 949{ oid => '345', 950 proname => 'poly_contained', prorettype => 'bool', 951 proargtypes => 'polygon polygon', prosrc => 'poly_contained' }, 952{ oid => '346', 953 proname => 'poly_overlap', prorettype => 'bool', 954 proargtypes => 'polygon polygon', prosrc => 'poly_overlap' }, 955{ oid => '347', descr => 'I/O', 956 proname => 'poly_in', prorettype => 'polygon', proargtypes => 'cstring', 957 prosrc => 'poly_in' }, 958{ oid => '348', descr => 'I/O', 959 proname => 'poly_out', prorettype => 'cstring', proargtypes => 'polygon', 960 prosrc => 'poly_out' }, 961 962{ oid => '350', descr => 'less-equal-greater', 963 proname => 'btint2cmp', proleakproof => 't', prorettype => 'int4', 964 proargtypes => 'int2 int2', prosrc => 'btint2cmp' }, 965{ oid => '3129', descr => 'sort support', 966 proname => 'btint2sortsupport', prorettype => 'void', 967 proargtypes => 'internal', prosrc => 'btint2sortsupport' }, 968{ oid => '351', descr => 'less-equal-greater', 969 proname => 'btint4cmp', proleakproof => 't', prorettype => 'int4', 970 proargtypes => 'int4 int4', prosrc => 'btint4cmp' }, 971{ oid => '3130', descr => 'sort support', 972 proname => 'btint4sortsupport', prorettype => 'void', 973 proargtypes => 'internal', prosrc => 'btint4sortsupport' }, 974{ oid => '842', descr => 'less-equal-greater', 975 proname => 'btint8cmp', proleakproof => 't', prorettype => 'int4', 976 proargtypes => 'int8 int8', prosrc => 'btint8cmp' }, 977{ oid => '3131', descr => 'sort support', 978 proname => 'btint8sortsupport', prorettype => 'void', 979 proargtypes => 'internal', prosrc => 'btint8sortsupport' }, 980{ oid => '354', descr => 'less-equal-greater', 981 proname => 'btfloat4cmp', proleakproof => 't', prorettype => 'int4', 982 proargtypes => 'float4 float4', prosrc => 'btfloat4cmp' }, 983{ oid => '3132', descr => 'sort support', 984 proname => 'btfloat4sortsupport', prorettype => 'void', 985 proargtypes => 'internal', prosrc => 'btfloat4sortsupport' }, 986{ oid => '355', descr => 'less-equal-greater', 987 proname => 'btfloat8cmp', proleakproof => 't', prorettype => 'int4', 988 proargtypes => 'float8 float8', prosrc => 'btfloat8cmp' }, 989{ oid => '3133', descr => 'sort support', 990 proname => 'btfloat8sortsupport', prorettype => 'void', 991 proargtypes => 'internal', prosrc => 'btfloat8sortsupport' }, 992{ oid => '356', descr => 'less-equal-greater', 993 proname => 'btoidcmp', proleakproof => 't', prorettype => 'int4', 994 proargtypes => 'oid oid', prosrc => 'btoidcmp' }, 995{ oid => '3134', descr => 'sort support', 996 proname => 'btoidsortsupport', prorettype => 'void', 997 proargtypes => 'internal', prosrc => 'btoidsortsupport' }, 998{ oid => '404', descr => 'less-equal-greater', 999 proname => 'btoidvectorcmp', proleakproof => 't', prorettype => 'int4', 1000 proargtypes => 'oidvector oidvector', prosrc => 'btoidvectorcmp' }, 1001{ oid => '358', descr => 'less-equal-greater', 1002 proname => 'btcharcmp', proleakproof => 't', prorettype => 'int4', 1003 proargtypes => 'char char', prosrc => 'btcharcmp' }, 1004{ oid => '359', descr => 'less-equal-greater', 1005 proname => 'btnamecmp', proleakproof => 't', prorettype => 'int4', 1006 proargtypes => 'name name', prosrc => 'btnamecmp' }, 1007{ oid => '3135', descr => 'sort support', 1008 proname => 'btnamesortsupport', prorettype => 'void', 1009 proargtypes => 'internal', prosrc => 'btnamesortsupport' }, 1010{ oid => '360', descr => 'less-equal-greater', 1011 proname => 'bttextcmp', proleakproof => 't', prorettype => 'int4', 1012 proargtypes => 'text text', prosrc => 'bttextcmp' }, 1013{ oid => '3255', descr => 'sort support', 1014 proname => 'bttextsortsupport', prorettype => 'void', 1015 proargtypes => 'internal', prosrc => 'bttextsortsupport' }, 1016{ oid => '377', descr => 'less-equal-greater', 1017 proname => 'cash_cmp', proleakproof => 't', prorettype => 'int4', 1018 proargtypes => 'money money', prosrc => 'cash_cmp' }, 1019{ oid => '382', descr => 'less-equal-greater', 1020 proname => 'btarraycmp', prorettype => 'int4', 1021 proargtypes => 'anyarray anyarray', prosrc => 'btarraycmp' }, 1022{ oid => '4126', descr => 'window RANGE support', 1023 proname => 'in_range', prorettype => 'bool', 1024 proargtypes => 'int8 int8 int8 bool bool', prosrc => 'in_range_int8_int8' }, 1025{ oid => '4127', descr => 'window RANGE support', 1026 proname => 'in_range', prorettype => 'bool', 1027 proargtypes => 'int4 int4 int8 bool bool', prosrc => 'in_range_int4_int8' }, 1028{ oid => '4128', descr => 'window RANGE support', 1029 proname => 'in_range', prorettype => 'bool', 1030 proargtypes => 'int4 int4 int4 bool bool', prosrc => 'in_range_int4_int4' }, 1031{ oid => '4129', descr => 'window RANGE support', 1032 proname => 'in_range', prorettype => 'bool', 1033 proargtypes => 'int4 int4 int2 bool bool', prosrc => 'in_range_int4_int2' }, 1034{ oid => '4130', descr => 'window RANGE support', 1035 proname => 'in_range', prorettype => 'bool', 1036 proargtypes => 'int2 int2 int8 bool bool', prosrc => 'in_range_int2_int8' }, 1037{ oid => '4131', descr => 'window RANGE support', 1038 proname => 'in_range', prorettype => 'bool', 1039 proargtypes => 'int2 int2 int4 bool bool', prosrc => 'in_range_int2_int4' }, 1040{ oid => '4132', descr => 'window RANGE support', 1041 proname => 'in_range', prorettype => 'bool', 1042 proargtypes => 'int2 int2 int2 bool bool', prosrc => 'in_range_int2_int2' }, 1043{ oid => '4139', descr => 'window RANGE support', 1044 proname => 'in_range', prorettype => 'bool', 1045 proargtypes => 'float8 float8 float8 bool bool', 1046 prosrc => 'in_range_float8_float8' }, 1047{ oid => '4140', descr => 'window RANGE support', 1048 proname => 'in_range', prorettype => 'bool', 1049 proargtypes => 'float4 float4 float8 bool bool', 1050 prosrc => 'in_range_float4_float8' }, 1051{ oid => '4141', descr => 'window RANGE support', 1052 proname => 'in_range', prorettype => 'bool', 1053 proargtypes => 'numeric numeric numeric bool bool', 1054 prosrc => 'in_range_numeric_numeric' }, 1055 1056{ oid => '361', 1057 proname => 'lseg_distance', prorettype => 'float8', 1058 proargtypes => 'lseg lseg', prosrc => 'lseg_distance' }, 1059{ oid => '362', 1060 proname => 'lseg_interpt', prorettype => 'point', proargtypes => 'lseg lseg', 1061 prosrc => 'lseg_interpt' }, 1062{ oid => '363', 1063 proname => 'dist_ps', prorettype => 'float8', proargtypes => 'point lseg', 1064 prosrc => 'dist_ps' }, 1065{ oid => '364', 1066 proname => 'dist_pb', prorettype => 'float8', proargtypes => 'point box', 1067 prosrc => 'dist_pb' }, 1068{ oid => '365', 1069 proname => 'dist_sb', prorettype => 'float8', proargtypes => 'lseg box', 1070 prosrc => 'dist_sb' }, 1071{ oid => '366', 1072 proname => 'close_ps', prorettype => 'point', proargtypes => 'point lseg', 1073 prosrc => 'close_ps' }, 1074{ oid => '367', 1075 proname => 'close_pb', prorettype => 'point', proargtypes => 'point box', 1076 prosrc => 'close_pb' }, 1077{ oid => '368', 1078 proname => 'close_sb', prorettype => 'point', proargtypes => 'lseg box', 1079 prosrc => 'close_sb' }, 1080{ oid => '369', 1081 proname => 'on_ps', prorettype => 'bool', proargtypes => 'point lseg', 1082 prosrc => 'on_ps' }, 1083{ oid => '370', 1084 proname => 'path_distance', prorettype => 'float8', 1085 proargtypes => 'path path', prosrc => 'path_distance' }, 1086{ oid => '371', 1087 proname => 'dist_ppath', prorettype => 'float8', proargtypes => 'point path', 1088 prosrc => 'dist_ppath' }, 1089{ oid => '372', 1090 proname => 'on_sb', prorettype => 'bool', proargtypes => 'lseg box', 1091 prosrc => 'on_sb' }, 1092{ oid => '373', 1093 proname => 'inter_sb', prorettype => 'bool', proargtypes => 'lseg box', 1094 prosrc => 'inter_sb' }, 1095 1096# OIDS 400 - 499 1097 1098{ oid => '401', descr => 'convert char(n) to text', 1099 proname => 'text', prorettype => 'text', proargtypes => 'bpchar', 1100 prosrc => 'rtrim1' }, 1101{ oid => '406', descr => 'convert name to text', 1102 proname => 'text', prorettype => 'text', proargtypes => 'name', 1103 prosrc => 'name_text' }, 1104{ oid => '407', descr => 'convert text to name', 1105 proname => 'name', prorettype => 'name', proargtypes => 'text', 1106 prosrc => 'text_name' }, 1107{ oid => '408', descr => 'convert name to char(n)', 1108 proname => 'bpchar', prorettype => 'bpchar', proargtypes => 'name', 1109 prosrc => 'name_bpchar' }, 1110{ oid => '409', descr => 'convert char(n) to name', 1111 proname => 'name', prorettype => 'name', proargtypes => 'bpchar', 1112 prosrc => 'bpchar_name' }, 1113 1114{ oid => '449', descr => 'hash', 1115 proname => 'hashint2', prorettype => 'int4', proargtypes => 'int2', 1116 prosrc => 'hashint2' }, 1117{ oid => '441', descr => 'hash', 1118 proname => 'hashint2extended', prorettype => 'int8', 1119 proargtypes => 'int2 int8', prosrc => 'hashint2extended' }, 1120{ oid => '450', descr => 'hash', 1121 proname => 'hashint4', prorettype => 'int4', proargtypes => 'int4', 1122 prosrc => 'hashint4' }, 1123{ oid => '425', descr => 'hash', 1124 proname => 'hashint4extended', prorettype => 'int8', 1125 proargtypes => 'int4 int8', prosrc => 'hashint4extended' }, 1126{ oid => '949', descr => 'hash', 1127 proname => 'hashint8', prorettype => 'int4', proargtypes => 'int8', 1128 prosrc => 'hashint8' }, 1129{ oid => '442', descr => 'hash', 1130 proname => 'hashint8extended', prorettype => 'int8', 1131 proargtypes => 'int8 int8', prosrc => 'hashint8extended' }, 1132{ oid => '451', descr => 'hash', 1133 proname => 'hashfloat4', prorettype => 'int4', proargtypes => 'float4', 1134 prosrc => 'hashfloat4' }, 1135{ oid => '443', descr => 'hash', 1136 proname => 'hashfloat4extended', prorettype => 'int8', 1137 proargtypes => 'float4 int8', prosrc => 'hashfloat4extended' }, 1138{ oid => '452', descr => 'hash', 1139 proname => 'hashfloat8', prorettype => 'int4', proargtypes => 'float8', 1140 prosrc => 'hashfloat8' }, 1141{ oid => '444', descr => 'hash', 1142 proname => 'hashfloat8extended', prorettype => 'int8', 1143 proargtypes => 'float8 int8', prosrc => 'hashfloat8extended' }, 1144{ oid => '453', descr => 'hash', 1145 proname => 'hashoid', prorettype => 'int4', proargtypes => 'oid', 1146 prosrc => 'hashoid' }, 1147{ oid => '445', descr => 'hash', 1148 proname => 'hashoidextended', prorettype => 'int8', proargtypes => 'oid int8', 1149 prosrc => 'hashoidextended' }, 1150{ oid => '454', descr => 'hash', 1151 proname => 'hashchar', prorettype => 'int4', proargtypes => 'char', 1152 prosrc => 'hashchar' }, 1153{ oid => '446', descr => 'hash', 1154 proname => 'hashcharextended', prorettype => 'int8', 1155 proargtypes => 'char int8', prosrc => 'hashcharextended' }, 1156{ oid => '455', descr => 'hash', 1157 proname => 'hashname', prorettype => 'int4', proargtypes => 'name', 1158 prosrc => 'hashname' }, 1159{ oid => '447', descr => 'hash', 1160 proname => 'hashnameextended', prorettype => 'int8', 1161 proargtypes => 'name int8', prosrc => 'hashnameextended' }, 1162{ oid => '400', descr => 'hash', 1163 proname => 'hashtext', prorettype => 'int4', proargtypes => 'text', 1164 prosrc => 'hashtext' }, 1165{ oid => '448', descr => 'hash', 1166 proname => 'hashtextextended', prorettype => 'int8', 1167 proargtypes => 'text int8', prosrc => 'hashtextextended' }, 1168{ oid => '456', descr => 'hash', 1169 proname => 'hashvarlena', prorettype => 'int4', proargtypes => 'internal', 1170 prosrc => 'hashvarlena' }, 1171{ oid => '772', descr => 'hash', 1172 proname => 'hashvarlenaextended', prorettype => 'int8', 1173 proargtypes => 'internal int8', prosrc => 'hashvarlenaextended' }, 1174{ oid => '457', descr => 'hash', 1175 proname => 'hashoidvector', prorettype => 'int4', proargtypes => 'oidvector', 1176 prosrc => 'hashoidvector' }, 1177{ oid => '776', descr => 'hash', 1178 proname => 'hashoidvectorextended', prorettype => 'int8', 1179 proargtypes => 'oidvector int8', prosrc => 'hashoidvectorextended' }, 1180{ oid => '329', descr => 'hash', 1181 proname => 'hash_aclitem', prorettype => 'int4', proargtypes => 'aclitem', 1182 prosrc => 'hash_aclitem' }, 1183{ oid => '777', descr => 'hash', 1184 proname => 'hash_aclitem_extended', prorettype => 'int8', 1185 proargtypes => 'aclitem int8', prosrc => 'hash_aclitem_extended' }, 1186{ oid => '399', descr => 'hash', 1187 proname => 'hashmacaddr', prorettype => 'int4', proargtypes => 'macaddr', 1188 prosrc => 'hashmacaddr' }, 1189{ oid => '778', descr => 'hash', 1190 proname => 'hashmacaddrextended', prorettype => 'int8', 1191 proargtypes => 'macaddr int8', prosrc => 'hashmacaddrextended' }, 1192{ oid => '422', descr => 'hash', 1193 proname => 'hashinet', prorettype => 'int4', proargtypes => 'inet', 1194 prosrc => 'hashinet' }, 1195{ oid => '779', descr => 'hash', 1196 proname => 'hashinetextended', prorettype => 'int8', 1197 proargtypes => 'inet int8', prosrc => 'hashinetextended' }, 1198{ oid => '432', descr => 'hash', 1199 proname => 'hash_numeric', prorettype => 'int4', proargtypes => 'numeric', 1200 prosrc => 'hash_numeric' }, 1201{ oid => '780', descr => 'hash', 1202 proname => 'hash_numeric_extended', prorettype => 'int8', 1203 proargtypes => 'numeric int8', prosrc => 'hash_numeric_extended' }, 1204{ oid => '328', descr => 'hash', 1205 proname => 'hashmacaddr8', prorettype => 'int4', proargtypes => 'macaddr8', 1206 prosrc => 'hashmacaddr8' }, 1207{ oid => '781', descr => 'hash', 1208 proname => 'hashmacaddr8extended', prorettype => 'int8', 1209 proargtypes => 'macaddr8 int8', prosrc => 'hashmacaddr8extended' }, 1210 1211{ oid => '438', descr => 'count the number of NULL arguments', 1212 proname => 'num_nulls', provariadic => 'any', proisstrict => 'f', 1213 prorettype => 'int4', proargtypes => 'any', proallargtypes => '{any}', 1214 proargmodes => '{v}', prosrc => 'pg_num_nulls' }, 1215{ oid => '440', descr => 'count the number of non-NULL arguments', 1216 proname => 'num_nonnulls', provariadic => 'any', proisstrict => 'f', 1217 prorettype => 'int4', proargtypes => 'any', proallargtypes => '{any}', 1218 proargmodes => '{v}', prosrc => 'pg_num_nonnulls' }, 1219 1220{ oid => '458', descr => 'larger of two', 1221 proname => 'text_larger', proleakproof => 't', prorettype => 'text', 1222 proargtypes => 'text text', prosrc => 'text_larger' }, 1223{ oid => '459', descr => 'smaller of two', 1224 proname => 'text_smaller', proleakproof => 't', prorettype => 'text', 1225 proargtypes => 'text text', prosrc => 'text_smaller' }, 1226 1227{ oid => '460', descr => 'I/O', 1228 proname => 'int8in', prorettype => 'int8', proargtypes => 'cstring', 1229 prosrc => 'int8in' }, 1230{ oid => '461', descr => 'I/O', 1231 proname => 'int8out', prorettype => 'cstring', proargtypes => 'int8', 1232 prosrc => 'int8out' }, 1233{ oid => '462', 1234 proname => 'int8um', prorettype => 'int8', proargtypes => 'int8', 1235 prosrc => 'int8um' }, 1236{ oid => '463', 1237 proname => 'int8pl', prorettype => 'int8', proargtypes => 'int8 int8', 1238 prosrc => 'int8pl' }, 1239{ oid => '464', 1240 proname => 'int8mi', prorettype => 'int8', proargtypes => 'int8 int8', 1241 prosrc => 'int8mi' }, 1242{ oid => '465', 1243 proname => 'int8mul', prorettype => 'int8', proargtypes => 'int8 int8', 1244 prosrc => 'int8mul' }, 1245{ oid => '466', 1246 proname => 'int8div', prorettype => 'int8', proargtypes => 'int8 int8', 1247 prosrc => 'int8div' }, 1248{ oid => '467', 1249 proname => 'int8eq', proleakproof => 't', prorettype => 'bool', 1250 proargtypes => 'int8 int8', prosrc => 'int8eq' }, 1251{ oid => '468', 1252 proname => 'int8ne', proleakproof => 't', prorettype => 'bool', 1253 proargtypes => 'int8 int8', prosrc => 'int8ne' }, 1254{ oid => '469', 1255 proname => 'int8lt', proleakproof => 't', prorettype => 'bool', 1256 proargtypes => 'int8 int8', prosrc => 'int8lt' }, 1257{ oid => '470', 1258 proname => 'int8gt', proleakproof => 't', prorettype => 'bool', 1259 proargtypes => 'int8 int8', prosrc => 'int8gt' }, 1260{ oid => '471', 1261 proname => 'int8le', proleakproof => 't', prorettype => 'bool', 1262 proargtypes => 'int8 int8', prosrc => 'int8le' }, 1263{ oid => '472', 1264 proname => 'int8ge', proleakproof => 't', prorettype => 'bool', 1265 proargtypes => 'int8 int8', prosrc => 'int8ge' }, 1266 1267{ oid => '474', 1268 proname => 'int84eq', proleakproof => 't', prorettype => 'bool', 1269 proargtypes => 'int8 int4', prosrc => 'int84eq' }, 1270{ oid => '475', 1271 proname => 'int84ne', proleakproof => 't', prorettype => 'bool', 1272 proargtypes => 'int8 int4', prosrc => 'int84ne' }, 1273{ oid => '476', 1274 proname => 'int84lt', proleakproof => 't', prorettype => 'bool', 1275 proargtypes => 'int8 int4', prosrc => 'int84lt' }, 1276{ oid => '477', 1277 proname => 'int84gt', proleakproof => 't', prorettype => 'bool', 1278 proargtypes => 'int8 int4', prosrc => 'int84gt' }, 1279{ oid => '478', 1280 proname => 'int84le', proleakproof => 't', prorettype => 'bool', 1281 proargtypes => 'int8 int4', prosrc => 'int84le' }, 1282{ oid => '479', 1283 proname => 'int84ge', proleakproof => 't', prorettype => 'bool', 1284 proargtypes => 'int8 int4', prosrc => 'int84ge' }, 1285 1286{ oid => '480', descr => 'convert int8 to int4', 1287 proname => 'int4', prorettype => 'int4', proargtypes => 'int8', 1288 prosrc => 'int84' }, 1289{ oid => '481', descr => 'convert int4 to int8', 1290 proname => 'int8', prorettype => 'int8', proargtypes => 'int4', 1291 prosrc => 'int48' }, 1292{ oid => '482', descr => 'convert int8 to float8', 1293 proname => 'float8', prorettype => 'float8', proargtypes => 'int8', 1294 prosrc => 'i8tod' }, 1295{ oid => '483', descr => 'convert float8 to int8', 1296 proname => 'int8', prorettype => 'int8', proargtypes => 'float8', 1297 prosrc => 'dtoi8' }, 1298 1299# OIDS 500 - 599 1300 1301# OIDS 600 - 699 1302 1303{ oid => '626', descr => 'hash', 1304 proname => 'hash_array', prorettype => 'int4', proargtypes => 'anyarray', 1305 prosrc => 'hash_array' }, 1306{ oid => '782', descr => 'hash', 1307 proname => 'hash_array_extended', prorettype => 'int8', 1308 proargtypes => 'anyarray int8', prosrc => 'hash_array_extended' }, 1309 1310{ oid => '652', descr => 'convert int8 to float4', 1311 proname => 'float4', prorettype => 'float4', proargtypes => 'int8', 1312 prosrc => 'i8tof' }, 1313{ oid => '653', descr => 'convert float4 to int8', 1314 proname => 'int8', prorettype => 'int8', proargtypes => 'float4', 1315 prosrc => 'ftoi8' }, 1316 1317{ oid => '714', descr => 'convert int8 to int2', 1318 proname => 'int2', prorettype => 'int2', proargtypes => 'int8', 1319 prosrc => 'int82' }, 1320{ oid => '754', descr => 'convert int2 to int8', 1321 proname => 'int8', prorettype => 'int8', proargtypes => 'int2', 1322 prosrc => 'int28' }, 1323 1324{ oid => '655', 1325 proname => 'namelt', proleakproof => 't', prorettype => 'bool', 1326 proargtypes => 'name name', prosrc => 'namelt' }, 1327{ oid => '656', 1328 proname => 'namele', proleakproof => 't', prorettype => 'bool', 1329 proargtypes => 'name name', prosrc => 'namele' }, 1330{ oid => '657', 1331 proname => 'namegt', proleakproof => 't', prorettype => 'bool', 1332 proargtypes => 'name name', prosrc => 'namegt' }, 1333{ oid => '658', 1334 proname => 'namege', proleakproof => 't', prorettype => 'bool', 1335 proargtypes => 'name name', prosrc => 'namege' }, 1336{ oid => '659', 1337 proname => 'namene', proleakproof => 't', prorettype => 'bool', 1338 proargtypes => 'name name', prosrc => 'namene' }, 1339 1340{ oid => '668', descr => 'adjust char() to typmod length', 1341 proname => 'bpchar', prorettype => 'bpchar', 1342 proargtypes => 'bpchar int4 bool', prosrc => 'bpchar' }, 1343{ oid => '3097', descr => 'planner support for varchar length coercion', 1344 proname => 'varchar_support', prorettype => 'internal', 1345 proargtypes => 'internal', prosrc => 'varchar_support' }, 1346{ oid => '669', descr => 'adjust varchar() to typmod length', 1347 proname => 'varchar', prosupport => 'varchar_support', 1348 prorettype => 'varchar', proargtypes => 'varchar int4 bool', 1349 prosrc => 'varchar' }, 1350 1351{ oid => '619', 1352 proname => 'oidvectorne', proleakproof => 't', prorettype => 'bool', 1353 proargtypes => 'oidvector oidvector', prosrc => 'oidvectorne' }, 1354{ oid => '677', 1355 proname => 'oidvectorlt', proleakproof => 't', prorettype => 'bool', 1356 proargtypes => 'oidvector oidvector', prosrc => 'oidvectorlt' }, 1357{ oid => '678', 1358 proname => 'oidvectorle', proleakproof => 't', prorettype => 'bool', 1359 proargtypes => 'oidvector oidvector', prosrc => 'oidvectorle' }, 1360{ oid => '679', 1361 proname => 'oidvectoreq', proleakproof => 't', prorettype => 'bool', 1362 proargtypes => 'oidvector oidvector', prosrc => 'oidvectoreq' }, 1363{ oid => '680', 1364 proname => 'oidvectorge', proleakproof => 't', prorettype => 'bool', 1365 proargtypes => 'oidvector oidvector', prosrc => 'oidvectorge' }, 1366{ oid => '681', 1367 proname => 'oidvectorgt', proleakproof => 't', prorettype => 'bool', 1368 proargtypes => 'oidvector oidvector', prosrc => 'oidvectorgt' }, 1369 1370# OIDS 700 - 799 1371{ oid => '710', descr => 'deprecated, use current_user instead', 1372 proname => 'getpgusername', provolatile => 's', prorettype => 'name', 1373 proargtypes => '', prosrc => 'current_user' }, 1374{ oid => '716', 1375 proname => 'oidlt', proleakproof => 't', prorettype => 'bool', 1376 proargtypes => 'oid oid', prosrc => 'oidlt' }, 1377{ oid => '717', 1378 proname => 'oidle', proleakproof => 't', prorettype => 'bool', 1379 proargtypes => 'oid oid', prosrc => 'oidle' }, 1380 1381{ oid => '720', descr => 'octet length', 1382 proname => 'octet_length', prorettype => 'int4', proargtypes => 'bytea', 1383 prosrc => 'byteaoctetlen' }, 1384{ oid => '721', descr => 'get byte', 1385 proname => 'get_byte', prorettype => 'int4', proargtypes => 'bytea int4', 1386 prosrc => 'byteaGetByte' }, 1387{ oid => '722', descr => 'set byte', 1388 proname => 'set_byte', prorettype => 'bytea', 1389 proargtypes => 'bytea int4 int4', prosrc => 'byteaSetByte' }, 1390{ oid => '723', descr => 'get bit', 1391 proname => 'get_bit', prorettype => 'int4', proargtypes => 'bytea int4', 1392 prosrc => 'byteaGetBit' }, 1393{ oid => '724', descr => 'set bit', 1394 proname => 'set_bit', prorettype => 'bytea', proargtypes => 'bytea int4 int4', 1395 prosrc => 'byteaSetBit' }, 1396{ oid => '749', descr => 'substitute portion of string', 1397 proname => 'overlay', prorettype => 'bytea', 1398 proargtypes => 'bytea bytea int4 int4', prosrc => 'byteaoverlay' }, 1399{ oid => '752', descr => 'substitute portion of string', 1400 proname => 'overlay', prorettype => 'bytea', 1401 proargtypes => 'bytea bytea int4', prosrc => 'byteaoverlay_no_len' }, 1402 1403{ oid => '725', 1404 proname => 'dist_pl', prorettype => 'float8', proargtypes => 'point line', 1405 prosrc => 'dist_pl' }, 1406{ oid => '726', 1407 proname => 'dist_lb', prorettype => 'float8', proargtypes => 'line box', 1408 prosrc => 'dist_lb' }, 1409{ oid => '727', 1410 proname => 'dist_sl', prorettype => 'float8', proargtypes => 'lseg line', 1411 prosrc => 'dist_sl' }, 1412{ oid => '728', 1413 proname => 'dist_cpoly', prorettype => 'float8', 1414 proargtypes => 'circle polygon', prosrc => 'dist_cpoly' }, 1415{ oid => '729', 1416 proname => 'poly_distance', prorettype => 'float8', 1417 proargtypes => 'polygon polygon', prosrc => 'poly_distance' }, 1418{ oid => '3275', 1419 proname => 'dist_ppoly', prorettype => 'float8', 1420 proargtypes => 'point polygon', prosrc => 'dist_ppoly' }, 1421{ oid => '3292', 1422 proname => 'dist_polyp', prorettype => 'float8', 1423 proargtypes => 'polygon point', prosrc => 'dist_polyp' }, 1424{ oid => '3290', 1425 proname => 'dist_cpoint', prorettype => 'float8', 1426 proargtypes => 'circle point', prosrc => 'dist_cpoint' }, 1427 1428{ oid => '740', 1429 proname => 'text_lt', proleakproof => 't', prorettype => 'bool', 1430 proargtypes => 'text text', prosrc => 'text_lt' }, 1431{ oid => '741', 1432 proname => 'text_le', proleakproof => 't', prorettype => 'bool', 1433 proargtypes => 'text text', prosrc => 'text_le' }, 1434{ oid => '742', 1435 proname => 'text_gt', proleakproof => 't', prorettype => 'bool', 1436 proargtypes => 'text text', prosrc => 'text_gt' }, 1437{ oid => '743', 1438 proname => 'text_ge', proleakproof => 't', prorettype => 'bool', 1439 proargtypes => 'text text', prosrc => 'text_ge' }, 1440 1441{ oid => '745', descr => 'current user name', 1442 proname => 'current_user', provolatile => 's', prorettype => 'name', 1443 proargtypes => '', prosrc => 'current_user' }, 1444{ oid => '746', descr => 'session user name', 1445 proname => 'session_user', provolatile => 's', prorettype => 'name', 1446 proargtypes => '', prosrc => 'session_user' }, 1447 1448{ oid => '744', 1449 proname => 'array_eq', prorettype => 'bool', 1450 proargtypes => 'anyarray anyarray', prosrc => 'array_eq' }, 1451{ oid => '390', 1452 proname => 'array_ne', prorettype => 'bool', 1453 proargtypes => 'anyarray anyarray', prosrc => 'array_ne' }, 1454{ oid => '391', 1455 proname => 'array_lt', prorettype => 'bool', 1456 proargtypes => 'anyarray anyarray', prosrc => 'array_lt' }, 1457{ oid => '392', 1458 proname => 'array_gt', prorettype => 'bool', 1459 proargtypes => 'anyarray anyarray', prosrc => 'array_gt' }, 1460{ oid => '393', 1461 proname => 'array_le', prorettype => 'bool', 1462 proargtypes => 'anyarray anyarray', prosrc => 'array_le' }, 1463{ oid => '396', 1464 proname => 'array_ge', prorettype => 'bool', 1465 proargtypes => 'anyarray anyarray', prosrc => 'array_ge' }, 1466{ oid => '747', descr => 'array dimensions', 1467 proname => 'array_dims', prorettype => 'text', proargtypes => 'anyarray', 1468 prosrc => 'array_dims' }, 1469{ oid => '748', descr => 'number of array dimensions', 1470 proname => 'array_ndims', prorettype => 'int4', proargtypes => 'anyarray', 1471 prosrc => 'array_ndims' }, 1472{ oid => '750', descr => 'I/O', 1473 proname => 'array_in', provolatile => 's', prorettype => 'anyarray', 1474 proargtypes => 'cstring oid int4', prosrc => 'array_in' }, 1475{ oid => '751', descr => 'I/O', 1476 proname => 'array_out', provolatile => 's', prorettype => 'cstring', 1477 proargtypes => 'anyarray', prosrc => 'array_out' }, 1478{ oid => '2091', descr => 'array lower dimension', 1479 proname => 'array_lower', prorettype => 'int4', 1480 proargtypes => 'anyarray int4', prosrc => 'array_lower' }, 1481{ oid => '2092', descr => 'array upper dimension', 1482 proname => 'array_upper', prorettype => 'int4', 1483 proargtypes => 'anyarray int4', prosrc => 'array_upper' }, 1484{ oid => '2176', descr => 'array length', 1485 proname => 'array_length', prorettype => 'int4', 1486 proargtypes => 'anyarray int4', prosrc => 'array_length' }, 1487{ oid => '3179', descr => 'array cardinality', 1488 proname => 'cardinality', prorettype => 'int4', proargtypes => 'anyarray', 1489 prosrc => 'array_cardinality' }, 1490{ oid => '378', descr => 'append element onto end of array', 1491 proname => 'array_append', proisstrict => 'f', prorettype => 'anyarray', 1492 proargtypes => 'anyarray anyelement', prosrc => 'array_append' }, 1493{ oid => '379', descr => 'prepend element onto front of array', 1494 proname => 'array_prepend', proisstrict => 'f', prorettype => 'anyarray', 1495 proargtypes => 'anyelement anyarray', prosrc => 'array_prepend' }, 1496{ oid => '383', 1497 proname => 'array_cat', proisstrict => 'f', prorettype => 'anyarray', 1498 proargtypes => 'anyarray anyarray', prosrc => 'array_cat' }, 1499{ oid => '394', descr => 'split delimited text into text[]', 1500 proname => 'string_to_array', proisstrict => 'f', prorettype => '_text', 1501 proargtypes => 'text text', prosrc => 'text_to_array' }, 1502{ oid => '395', 1503 descr => 'concatenate array elements, using delimiter, into text', 1504 proname => 'array_to_string', provolatile => 's', prorettype => 'text', 1505 proargtypes => 'anyarray text', prosrc => 'array_to_text' }, 1506{ oid => '376', descr => 'split delimited text into text[], with null string', 1507 proname => 'string_to_array', proisstrict => 'f', prorettype => '_text', 1508 proargtypes => 'text text text', prosrc => 'text_to_array_null' }, 1509{ oid => '384', 1510 descr => 'concatenate array elements, using delimiter and null string, into text', 1511 proname => 'array_to_string', proisstrict => 'f', provolatile => 's', 1512 prorettype => 'text', proargtypes => 'anyarray text text', 1513 prosrc => 'array_to_text_null' }, 1514{ oid => '515', descr => 'larger of two', 1515 proname => 'array_larger', prorettype => 'anyarray', 1516 proargtypes => 'anyarray anyarray', prosrc => 'array_larger' }, 1517{ oid => '516', descr => 'smaller of two', 1518 proname => 'array_smaller', prorettype => 'anyarray', 1519 proargtypes => 'anyarray anyarray', prosrc => 'array_smaller' }, 1520{ oid => '3277', descr => 'returns an offset of value in array', 1521 proname => 'array_position', proisstrict => 'f', prorettype => 'int4', 1522 proargtypes => 'anyarray anyelement', prosrc => 'array_position' }, 1523{ oid => '3278', 1524 descr => 'returns an offset of value in array with start index', 1525 proname => 'array_position', proisstrict => 'f', prorettype => 'int4', 1526 proargtypes => 'anyarray anyelement int4', prosrc => 'array_position_start' }, 1527{ oid => '3279', 1528 descr => 'returns an array of offsets of some value in array', 1529 proname => 'array_positions', proisstrict => 'f', prorettype => '_int4', 1530 proargtypes => 'anyarray anyelement', prosrc => 'array_positions' }, 1531{ oid => '1191', descr => 'array subscripts generator', 1532 proname => 'generate_subscripts', prorows => '1000', proretset => 't', 1533 prorettype => 'int4', proargtypes => 'anyarray int4 bool', 1534 prosrc => 'generate_subscripts' }, 1535{ oid => '1192', descr => 'array subscripts generator', 1536 proname => 'generate_subscripts', prorows => '1000', proretset => 't', 1537 prorettype => 'int4', proargtypes => 'anyarray int4', 1538 prosrc => 'generate_subscripts_nodir' }, 1539{ oid => '1193', descr => 'array constructor with value', 1540 proname => 'array_fill', proisstrict => 'f', prorettype => 'anyarray', 1541 proargtypes => 'anyelement _int4', prosrc => 'array_fill' }, 1542{ oid => '1286', descr => 'array constructor with value', 1543 proname => 'array_fill', proisstrict => 'f', prorettype => 'anyarray', 1544 proargtypes => 'anyelement _int4 _int4', 1545 prosrc => 'array_fill_with_lower_bounds' }, 1546{ oid => '2331', descr => 'expand array to set of rows', 1547 proname => 'unnest', prorows => '100', prosupport => 'array_unnest_support', 1548 proretset => 't', prorettype => 'anyelement', proargtypes => 'anyarray', 1549 prosrc => 'array_unnest' }, 1550{ oid => '3996', descr => 'planner support for array_unnest', 1551 proname => 'array_unnest_support', prorettype => 'internal', 1552 proargtypes => 'internal', prosrc => 'array_unnest_support' }, 1553{ oid => '3167', 1554 descr => 'remove any occurrences of an element from an array', 1555 proname => 'array_remove', proisstrict => 'f', prorettype => 'anyarray', 1556 proargtypes => 'anyarray anyelement', prosrc => 'array_remove' }, 1557{ oid => '3168', descr => 'replace any occurrences of an element in an array', 1558 proname => 'array_replace', proisstrict => 'f', prorettype => 'anyarray', 1559 proargtypes => 'anyarray anyelement anyelement', prosrc => 'array_replace' }, 1560{ oid => '2333', descr => 'aggregate transition function', 1561 proname => 'array_agg_transfn', proisstrict => 'f', prorettype => 'internal', 1562 proargtypes => 'internal anynonarray', prosrc => 'array_agg_transfn' }, 1563{ oid => '2334', descr => 'aggregate final function', 1564 proname => 'array_agg_finalfn', proisstrict => 'f', prorettype => 'anyarray', 1565 proargtypes => 'internal anynonarray', prosrc => 'array_agg_finalfn' }, 1566{ oid => '2335', descr => 'concatenate aggregate input into an array', 1567 proname => 'array_agg', prokind => 'a', proisstrict => 'f', 1568 prorettype => 'anyarray', proargtypes => 'anynonarray', 1569 prosrc => 'aggregate_dummy' }, 1570{ oid => '4051', descr => 'aggregate transition function', 1571 proname => 'array_agg_array_transfn', proisstrict => 'f', 1572 prorettype => 'internal', proargtypes => 'internal anyarray', 1573 prosrc => 'array_agg_array_transfn' }, 1574{ oid => '4052', descr => 'aggregate final function', 1575 proname => 'array_agg_array_finalfn', proisstrict => 'f', 1576 prorettype => 'anyarray', proargtypes => 'internal anyarray', 1577 prosrc => 'array_agg_array_finalfn' }, 1578{ oid => '4053', descr => 'concatenate aggregate input into an array', 1579 proname => 'array_agg', prokind => 'a', proisstrict => 'f', 1580 prorettype => 'anyarray', proargtypes => 'anyarray', 1581 prosrc => 'aggregate_dummy' }, 1582{ oid => '3218', 1583 descr => 'bucket number of operand given a sorted array of bucket lower bounds', 1584 proname => 'width_bucket', prorettype => 'int4', 1585 proargtypes => 'anyelement anyarray', prosrc => 'width_bucket_array' }, 1586{ oid => '3816', descr => 'array typanalyze', 1587 proname => 'array_typanalyze', provolatile => 's', prorettype => 'bool', 1588 proargtypes => 'internal', prosrc => 'array_typanalyze' }, 1589{ oid => '3817', 1590 descr => 'restriction selectivity for array-containment operators', 1591 proname => 'arraycontsel', provolatile => 's', prorettype => 'float8', 1592 proargtypes => 'internal oid internal int4', prosrc => 'arraycontsel' }, 1593{ oid => '3818', descr => 'join selectivity for array-containment operators', 1594 proname => 'arraycontjoinsel', provolatile => 's', prorettype => 'float8', 1595 proargtypes => 'internal oid internal int2 internal', 1596 prosrc => 'arraycontjoinsel' }, 1597 1598{ oid => '764', descr => 'large object import', 1599 proname => 'lo_import', provolatile => 'v', proparallel => 'u', 1600 prorettype => 'oid', proargtypes => 'text', prosrc => 'be_lo_import' }, 1601{ oid => '767', descr => 'large object import', 1602 proname => 'lo_import', provolatile => 'v', proparallel => 'u', 1603 prorettype => 'oid', proargtypes => 'text oid', 1604 prosrc => 'be_lo_import_with_oid' }, 1605{ oid => '765', descr => 'large object export', 1606 proname => 'lo_export', provolatile => 'v', proparallel => 'u', 1607 prorettype => 'int4', proargtypes => 'oid text', prosrc => 'be_lo_export' }, 1608 1609{ oid => '766', descr => 'increment', 1610 proname => 'int4inc', prorettype => 'int4', proargtypes => 'int4', 1611 prosrc => 'int4inc' }, 1612{ oid => '768', descr => 'larger of two', 1613 proname => 'int4larger', prorettype => 'int4', proargtypes => 'int4 int4', 1614 prosrc => 'int4larger' }, 1615{ oid => '769', descr => 'smaller of two', 1616 proname => 'int4smaller', prorettype => 'int4', proargtypes => 'int4 int4', 1617 prosrc => 'int4smaller' }, 1618{ oid => '770', descr => 'larger of two', 1619 proname => 'int2larger', prorettype => 'int2', proargtypes => 'int2 int2', 1620 prosrc => 'int2larger' }, 1621{ oid => '771', descr => 'smaller of two', 1622 proname => 'int2smaller', prorettype => 'int2', proargtypes => 'int2 int2', 1623 prosrc => 'int2smaller' }, 1624 1625# OIDS 800 - 899 1626 1627{ oid => '846', 1628 proname => 'cash_mul_flt4', prorettype => 'money', 1629 proargtypes => 'money float4', prosrc => 'cash_mul_flt4' }, 1630{ oid => '847', 1631 proname => 'cash_div_flt4', prorettype => 'money', 1632 proargtypes => 'money float4', prosrc => 'cash_div_flt4' }, 1633{ oid => '848', 1634 proname => 'flt4_mul_cash', prorettype => 'money', 1635 proargtypes => 'float4 money', prosrc => 'flt4_mul_cash' }, 1636 1637{ oid => '849', descr => 'position of substring', 1638 proname => 'position', prorettype => 'int4', proargtypes => 'text text', 1639 prosrc => 'textpos' }, 1640{ oid => '850', 1641 proname => 'textlike', prosupport => 'textlike_support', prorettype => 'bool', 1642 proargtypes => 'text text', prosrc => 'textlike' }, 1643{ oid => '1023', descr => 'planner support for textlike', 1644 proname => 'textlike_support', prorettype => 'internal', 1645 proargtypes => 'internal', prosrc => 'textlike_support' }, 1646{ oid => '851', 1647 proname => 'textnlike', prorettype => 'bool', proargtypes => 'text text', 1648 prosrc => 'textnlike' }, 1649 1650{ oid => '852', 1651 proname => 'int48eq', proleakproof => 't', prorettype => 'bool', 1652 proargtypes => 'int4 int8', prosrc => 'int48eq' }, 1653{ oid => '853', 1654 proname => 'int48ne', proleakproof => 't', prorettype => 'bool', 1655 proargtypes => 'int4 int8', prosrc => 'int48ne' }, 1656{ oid => '854', 1657 proname => 'int48lt', proleakproof => 't', prorettype => 'bool', 1658 proargtypes => 'int4 int8', prosrc => 'int48lt' }, 1659{ oid => '855', 1660 proname => 'int48gt', proleakproof => 't', prorettype => 'bool', 1661 proargtypes => 'int4 int8', prosrc => 'int48gt' }, 1662{ oid => '856', 1663 proname => 'int48le', proleakproof => 't', prorettype => 'bool', 1664 proargtypes => 'int4 int8', prosrc => 'int48le' }, 1665{ oid => '857', 1666 proname => 'int48ge', proleakproof => 't', prorettype => 'bool', 1667 proargtypes => 'int4 int8', prosrc => 'int48ge' }, 1668 1669{ oid => '858', 1670 proname => 'namelike', prosupport => 'textlike_support', prorettype => 'bool', 1671 proargtypes => 'name text', prosrc => 'namelike' }, 1672{ oid => '859', 1673 proname => 'namenlike', prorettype => 'bool', proargtypes => 'name text', 1674 prosrc => 'namenlike' }, 1675 1676{ oid => '860', descr => 'convert char to char(n)', 1677 proname => 'bpchar', prorettype => 'bpchar', proargtypes => 'char', 1678 prosrc => 'char_bpchar' }, 1679 1680{ oid => '861', descr => 'name of the current database', 1681 proname => 'current_database', provolatile => 's', prorettype => 'name', 1682 proargtypes => '', prosrc => 'current_database' }, 1683{ oid => '817', descr => 'get the currently executing query', 1684 proname => 'current_query', proisstrict => 'f', provolatile => 'v', 1685 proparallel => 'r', prorettype => 'text', proargtypes => '', 1686 prosrc => 'current_query' }, 1687 1688{ oid => '3399', 1689 proname => 'int8_mul_cash', prorettype => 'money', 1690 proargtypes => 'int8 money', prosrc => 'int8_mul_cash' }, 1691{ oid => '862', 1692 proname => 'int4_mul_cash', prorettype => 'money', 1693 proargtypes => 'int4 money', prosrc => 'int4_mul_cash' }, 1694{ oid => '863', 1695 proname => 'int2_mul_cash', prorettype => 'money', 1696 proargtypes => 'int2 money', prosrc => 'int2_mul_cash' }, 1697{ oid => '3344', 1698 proname => 'cash_mul_int8', prorettype => 'money', 1699 proargtypes => 'money int8', prosrc => 'cash_mul_int8' }, 1700{ oid => '3345', 1701 proname => 'cash_div_int8', prorettype => 'money', 1702 proargtypes => 'money int8', prosrc => 'cash_div_int8' }, 1703{ oid => '864', 1704 proname => 'cash_mul_int4', prorettype => 'money', 1705 proargtypes => 'money int4', prosrc => 'cash_mul_int4' }, 1706{ oid => '865', 1707 proname => 'cash_div_int4', prorettype => 'money', 1708 proargtypes => 'money int4', prosrc => 'cash_div_int4' }, 1709{ oid => '866', 1710 proname => 'cash_mul_int2', prorettype => 'money', 1711 proargtypes => 'money int2', prosrc => 'cash_mul_int2' }, 1712{ oid => '867', 1713 proname => 'cash_div_int2', prorettype => 'money', 1714 proargtypes => 'money int2', prosrc => 'cash_div_int2' }, 1715 1716{ oid => '886', descr => 'I/O', 1717 proname => 'cash_in', provolatile => 's', prorettype => 'money', 1718 proargtypes => 'cstring', prosrc => 'cash_in' }, 1719{ oid => '887', descr => 'I/O', 1720 proname => 'cash_out', provolatile => 's', prorettype => 'cstring', 1721 proargtypes => 'money', prosrc => 'cash_out' }, 1722{ oid => '888', 1723 proname => 'cash_eq', proleakproof => 't', prorettype => 'bool', 1724 proargtypes => 'money money', prosrc => 'cash_eq' }, 1725{ oid => '889', 1726 proname => 'cash_ne', proleakproof => 't', prorettype => 'bool', 1727 proargtypes => 'money money', prosrc => 'cash_ne' }, 1728{ oid => '890', 1729 proname => 'cash_lt', proleakproof => 't', prorettype => 'bool', 1730 proargtypes => 'money money', prosrc => 'cash_lt' }, 1731{ oid => '891', 1732 proname => 'cash_le', proleakproof => 't', prorettype => 'bool', 1733 proargtypes => 'money money', prosrc => 'cash_le' }, 1734{ oid => '892', 1735 proname => 'cash_gt', proleakproof => 't', prorettype => 'bool', 1736 proargtypes => 'money money', prosrc => 'cash_gt' }, 1737{ oid => '893', 1738 proname => 'cash_ge', proleakproof => 't', prorettype => 'bool', 1739 proargtypes => 'money money', prosrc => 'cash_ge' }, 1740{ oid => '894', 1741 proname => 'cash_pl', prorettype => 'money', proargtypes => 'money money', 1742 prosrc => 'cash_pl' }, 1743{ oid => '895', 1744 proname => 'cash_mi', prorettype => 'money', proargtypes => 'money money', 1745 prosrc => 'cash_mi' }, 1746{ oid => '896', 1747 proname => 'cash_mul_flt8', prorettype => 'money', 1748 proargtypes => 'money float8', prosrc => 'cash_mul_flt8' }, 1749{ oid => '897', 1750 proname => 'cash_div_flt8', prorettype => 'money', 1751 proargtypes => 'money float8', prosrc => 'cash_div_flt8' }, 1752{ oid => '898', descr => 'larger of two', 1753 proname => 'cashlarger', prorettype => 'money', proargtypes => 'money money', 1754 prosrc => 'cashlarger' }, 1755{ oid => '899', descr => 'smaller of two', 1756 proname => 'cashsmaller', prorettype => 'money', proargtypes => 'money money', 1757 prosrc => 'cashsmaller' }, 1758{ oid => '919', 1759 proname => 'flt8_mul_cash', prorettype => 'money', 1760 proargtypes => 'float8 money', prosrc => 'flt8_mul_cash' }, 1761{ oid => '935', descr => 'output money amount as words', 1762 proname => 'cash_words', prorettype => 'text', proargtypes => 'money', 1763 prosrc => 'cash_words' }, 1764{ oid => '3822', 1765 proname => 'cash_div_cash', prorettype => 'float8', 1766 proargtypes => 'money money', prosrc => 'cash_div_cash' }, 1767{ oid => '3823', descr => 'convert money to numeric', 1768 proname => 'numeric', provolatile => 's', prorettype => 'numeric', 1769 proargtypes => 'money', prosrc => 'cash_numeric' }, 1770{ oid => '3824', descr => 'convert numeric to money', 1771 proname => 'money', provolatile => 's', prorettype => 'money', 1772 proargtypes => 'numeric', prosrc => 'numeric_cash' }, 1773{ oid => '3811', descr => 'convert int4 to money', 1774 proname => 'money', provolatile => 's', prorettype => 'money', 1775 proargtypes => 'int4', prosrc => 'int4_cash' }, 1776{ oid => '3812', descr => 'convert int8 to money', 1777 proname => 'money', provolatile => 's', prorettype => 'money', 1778 proargtypes => 'int8', prosrc => 'int8_cash' }, 1779 1780# OIDS 900 - 999 1781 1782{ oid => '940', descr => 'modulus', 1783 proname => 'mod', prorettype => 'int2', proargtypes => 'int2 int2', 1784 prosrc => 'int2mod' }, 1785{ oid => '941', descr => 'modulus', 1786 proname => 'mod', prorettype => 'int4', proargtypes => 'int4 int4', 1787 prosrc => 'int4mod' }, 1788 1789{ oid => '945', 1790 proname => 'int8mod', prorettype => 'int8', proargtypes => 'int8 int8', 1791 prosrc => 'int8mod' }, 1792{ oid => '947', descr => 'modulus', 1793 proname => 'mod', prorettype => 'int8', proargtypes => 'int8 int8', 1794 prosrc => 'int8mod' }, 1795 1796{ oid => '944', descr => 'convert text to char', 1797 proname => 'char', prorettype => 'char', proargtypes => 'text', 1798 prosrc => 'text_char' }, 1799{ oid => '946', descr => 'convert char to text', 1800 proname => 'text', prorettype => 'text', proargtypes => 'char', 1801 prosrc => 'char_text' }, 1802 1803{ oid => '952', descr => 'large object open', 1804 proname => 'lo_open', provolatile => 'v', proparallel => 'u', 1805 prorettype => 'int4', proargtypes => 'oid int4', prosrc => 'be_lo_open' }, 1806{ oid => '953', descr => 'large object close', 1807 proname => 'lo_close', provolatile => 'v', proparallel => 'u', 1808 prorettype => 'int4', proargtypes => 'int4', prosrc => 'be_lo_close' }, 1809{ oid => '954', descr => 'large object read', 1810 proname => 'loread', provolatile => 'v', proparallel => 'u', 1811 prorettype => 'bytea', proargtypes => 'int4 int4', prosrc => 'be_loread' }, 1812{ oid => '955', descr => 'large object write', 1813 proname => 'lowrite', provolatile => 'v', proparallel => 'u', 1814 prorettype => 'int4', proargtypes => 'int4 bytea', prosrc => 'be_lowrite' }, 1815{ oid => '956', descr => 'large object seek', 1816 proname => 'lo_lseek', provolatile => 'v', proparallel => 'u', 1817 prorettype => 'int4', proargtypes => 'int4 int4 int4', 1818 prosrc => 'be_lo_lseek' }, 1819{ oid => '3170', descr => 'large object seek (64 bit)', 1820 proname => 'lo_lseek64', provolatile => 'v', proparallel => 'u', 1821 prorettype => 'int8', proargtypes => 'int4 int8 int4', 1822 prosrc => 'be_lo_lseek64' }, 1823{ oid => '957', descr => 'large object create', 1824 proname => 'lo_creat', provolatile => 'v', proparallel => 'u', 1825 prorettype => 'oid', proargtypes => 'int4', prosrc => 'be_lo_creat' }, 1826{ oid => '715', descr => 'large object create', 1827 proname => 'lo_create', provolatile => 'v', proparallel => 'u', 1828 prorettype => 'oid', proargtypes => 'oid', prosrc => 'be_lo_create' }, 1829{ oid => '958', descr => 'large object position', 1830 proname => 'lo_tell', provolatile => 'v', proparallel => 'u', 1831 prorettype => 'int4', proargtypes => 'int4', prosrc => 'be_lo_tell' }, 1832{ oid => '3171', descr => 'large object position (64 bit)', 1833 proname => 'lo_tell64', provolatile => 'v', proparallel => 'u', 1834 prorettype => 'int8', proargtypes => 'int4', prosrc => 'be_lo_tell64' }, 1835{ oid => '1004', descr => 'truncate large object', 1836 proname => 'lo_truncate', provolatile => 'v', proparallel => 'u', 1837 prorettype => 'int4', proargtypes => 'int4 int4', 1838 prosrc => 'be_lo_truncate' }, 1839{ oid => '3172', descr => 'truncate large object (64 bit)', 1840 proname => 'lo_truncate64', provolatile => 'v', proparallel => 'u', 1841 prorettype => 'int4', proargtypes => 'int4 int8', 1842 prosrc => 'be_lo_truncate64' }, 1843 1844{ oid => '3457', descr => 'create new large object with given content', 1845 proname => 'lo_from_bytea', provolatile => 'v', proparallel => 'u', 1846 prorettype => 'oid', proargtypes => 'oid bytea', 1847 prosrc => 'be_lo_from_bytea' }, 1848{ oid => '3458', descr => 'read entire large object', 1849 proname => 'lo_get', provolatile => 'v', proparallel => 'u', 1850 prorettype => 'bytea', proargtypes => 'oid', prosrc => 'be_lo_get' }, 1851{ oid => '3459', descr => 'read large object from offset for length', 1852 proname => 'lo_get', provolatile => 'v', proparallel => 'u', 1853 prorettype => 'bytea', proargtypes => 'oid int8 int4', 1854 prosrc => 'be_lo_get_fragment' }, 1855{ oid => '3460', descr => 'write data at offset', 1856 proname => 'lo_put', provolatile => 'v', proparallel => 'u', 1857 prorettype => 'void', proargtypes => 'oid int8 bytea', 1858 prosrc => 'be_lo_put' }, 1859 1860{ oid => '959', 1861 proname => 'on_pl', prorettype => 'bool', proargtypes => 'point line', 1862 prosrc => 'on_pl' }, 1863{ oid => '960', 1864 proname => 'on_sl', prorettype => 'bool', proargtypes => 'lseg line', 1865 prosrc => 'on_sl' }, 1866{ oid => '961', 1867 proname => 'close_pl', prorettype => 'point', proargtypes => 'point line', 1868 prosrc => 'close_pl' }, 1869{ oid => '962', 1870 proname => 'close_sl', prorettype => 'point', proargtypes => 'lseg line', 1871 prosrc => 'close_sl' }, 1872{ oid => '963', 1873 proname => 'close_lb', prorettype => 'point', proargtypes => 'line box', 1874 prosrc => 'close_lb' }, 1875 1876{ oid => '964', descr => 'large object unlink (delete)', 1877 proname => 'lo_unlink', provolatile => 'v', proparallel => 'u', 1878 prorettype => 'int4', proargtypes => 'oid', prosrc => 'be_lo_unlink' }, 1879 1880{ oid => '973', 1881 proname => 'path_inter', prorettype => 'bool', proargtypes => 'path path', 1882 prosrc => 'path_inter' }, 1883{ oid => '975', descr => 'box area', 1884 proname => 'area', prorettype => 'float8', proargtypes => 'box', 1885 prosrc => 'box_area' }, 1886{ oid => '976', descr => 'box width', 1887 proname => 'width', prorettype => 'float8', proargtypes => 'box', 1888 prosrc => 'box_width' }, 1889{ oid => '977', descr => 'box height', 1890 proname => 'height', prorettype => 'float8', proargtypes => 'box', 1891 prosrc => 'box_height' }, 1892{ oid => '978', 1893 proname => 'box_distance', prorettype => 'float8', proargtypes => 'box box', 1894 prosrc => 'box_distance' }, 1895{ oid => '979', descr => 'area of a closed path', 1896 proname => 'area', prorettype => 'float8', proargtypes => 'path', 1897 prosrc => 'path_area' }, 1898{ oid => '980', 1899 proname => 'box_intersect', prorettype => 'box', proargtypes => 'box box', 1900 prosrc => 'box_intersect' }, 1901{ oid => '4067', descr => 'bounding box of two boxes', 1902 proname => 'bound_box', prorettype => 'box', proargtypes => 'box box', 1903 prosrc => 'boxes_bound_box' }, 1904{ oid => '981', descr => 'box diagonal', 1905 proname => 'diagonal', prorettype => 'lseg', proargtypes => 'box', 1906 prosrc => 'box_diagonal' }, 1907{ oid => '982', 1908 proname => 'path_n_lt', prorettype => 'bool', proargtypes => 'path path', 1909 prosrc => 'path_n_lt' }, 1910{ oid => '983', 1911 proname => 'path_n_gt', prorettype => 'bool', proargtypes => 'path path', 1912 prosrc => 'path_n_gt' }, 1913{ oid => '984', 1914 proname => 'path_n_eq', prorettype => 'bool', proargtypes => 'path path', 1915 prosrc => 'path_n_eq' }, 1916{ oid => '985', 1917 proname => 'path_n_le', prorettype => 'bool', proargtypes => 'path path', 1918 prosrc => 'path_n_le' }, 1919{ oid => '986', 1920 proname => 'path_n_ge', prorettype => 'bool', proargtypes => 'path path', 1921 prosrc => 'path_n_ge' }, 1922{ oid => '987', 1923 proname => 'path_length', prorettype => 'float8', proargtypes => 'path', 1924 prosrc => 'path_length' }, 1925{ oid => '988', 1926 proname => 'point_ne', prorettype => 'bool', proargtypes => 'point point', 1927 prosrc => 'point_ne' }, 1928{ oid => '989', 1929 proname => 'point_vert', prorettype => 'bool', proargtypes => 'point point', 1930 prosrc => 'point_vert' }, 1931{ oid => '990', 1932 proname => 'point_horiz', prorettype => 'bool', proargtypes => 'point point', 1933 prosrc => 'point_horiz' }, 1934{ oid => '991', 1935 proname => 'point_distance', prorettype => 'float8', 1936 proargtypes => 'point point', prosrc => 'point_distance' }, 1937{ oid => '992', descr => 'slope between points', 1938 proname => 'slope', prorettype => 'float8', proargtypes => 'point point', 1939 prosrc => 'point_slope' }, 1940{ oid => '993', descr => 'convert points to line segment', 1941 proname => 'lseg', prorettype => 'lseg', proargtypes => 'point point', 1942 prosrc => 'lseg_construct' }, 1943{ oid => '994', 1944 proname => 'lseg_intersect', prorettype => 'bool', proargtypes => 'lseg lseg', 1945 prosrc => 'lseg_intersect' }, 1946{ oid => '995', 1947 proname => 'lseg_parallel', prorettype => 'bool', proargtypes => 'lseg lseg', 1948 prosrc => 'lseg_parallel' }, 1949{ oid => '996', 1950 proname => 'lseg_perp', prorettype => 'bool', proargtypes => 'lseg lseg', 1951 prosrc => 'lseg_perp' }, 1952{ oid => '997', 1953 proname => 'lseg_vertical', prorettype => 'bool', proargtypes => 'lseg', 1954 prosrc => 'lseg_vertical' }, 1955{ oid => '998', 1956 proname => 'lseg_horizontal', prorettype => 'bool', proargtypes => 'lseg', 1957 prosrc => 'lseg_horizontal' }, 1958{ oid => '999', 1959 proname => 'lseg_eq', proleakproof => 't', prorettype => 'bool', 1960 proargtypes => 'lseg lseg', prosrc => 'lseg_eq' }, 1961 1962# OIDS 1000 - 1999 1963 1964{ oid => '1026', descr => 'adjust timestamp to new time zone', 1965 proname => 'timezone', prorettype => 'timestamp', 1966 proargtypes => 'interval timestamptz', prosrc => 'timestamptz_izone' }, 1967 1968{ oid => '1031', descr => 'I/O', 1969 proname => 'aclitemin', provolatile => 's', prorettype => 'aclitem', 1970 proargtypes => 'cstring', prosrc => 'aclitemin' }, 1971{ oid => '1032', descr => 'I/O', 1972 proname => 'aclitemout', provolatile => 's', prorettype => 'cstring', 1973 proargtypes => 'aclitem', prosrc => 'aclitemout' }, 1974{ oid => '1035', descr => 'add/update ACL item', 1975 proname => 'aclinsert', prorettype => '_aclitem', 1976 proargtypes => '_aclitem aclitem', prosrc => 'aclinsert' }, 1977{ oid => '1036', descr => 'remove ACL item', 1978 proname => 'aclremove', prorettype => '_aclitem', 1979 proargtypes => '_aclitem aclitem', prosrc => 'aclremove' }, 1980{ oid => '1037', descr => 'contains', 1981 proname => 'aclcontains', prorettype => 'bool', 1982 proargtypes => '_aclitem aclitem', prosrc => 'aclcontains' }, 1983{ oid => '1062', 1984 proname => 'aclitemeq', prorettype => 'bool', 1985 proargtypes => 'aclitem aclitem', prosrc => 'aclitem_eq' }, 1986{ oid => '1365', descr => 'make ACL item', 1987 proname => 'makeaclitem', prorettype => 'aclitem', 1988 proargtypes => 'oid oid text bool', prosrc => 'makeaclitem' }, 1989{ oid => '3943', 1990 descr => 'show hardwired default privileges, primarily for use by the information schema', 1991 proname => 'acldefault', prorettype => '_aclitem', proargtypes => 'char oid', 1992 prosrc => 'acldefault_sql' }, 1993{ oid => '1689', 1994 descr => 'convert ACL item array to table, primarily for use by information schema', 1995 proname => 'aclexplode', prorows => '10', proretset => 't', 1996 provolatile => 's', prorettype => 'record', proargtypes => '_aclitem', 1997 proallargtypes => '{_aclitem,oid,oid,text,bool}', 1998 proargmodes => '{i,o,o,o,o}', 1999 proargnames => '{acl,grantor,grantee,privilege_type,is_grantable}', 2000 prosrc => 'aclexplode' }, 2001{ oid => '1044', descr => 'I/O', 2002 proname => 'bpcharin', prorettype => 'bpchar', 2003 proargtypes => 'cstring oid int4', prosrc => 'bpcharin' }, 2004{ oid => '1045', descr => 'I/O', 2005 proname => 'bpcharout', prorettype => 'cstring', proargtypes => 'bpchar', 2006 prosrc => 'bpcharout' }, 2007{ oid => '2913', descr => 'I/O typmod', 2008 proname => 'bpchartypmodin', prorettype => 'int4', proargtypes => '_cstring', 2009 prosrc => 'bpchartypmodin' }, 2010{ oid => '2914', descr => 'I/O typmod', 2011 proname => 'bpchartypmodout', prorettype => 'cstring', proargtypes => 'int4', 2012 prosrc => 'bpchartypmodout' }, 2013{ oid => '1046', descr => 'I/O', 2014 proname => 'varcharin', prorettype => 'varchar', 2015 proargtypes => 'cstring oid int4', prosrc => 'varcharin' }, 2016{ oid => '1047', descr => 'I/O', 2017 proname => 'varcharout', prorettype => 'cstring', proargtypes => 'varchar', 2018 prosrc => 'varcharout' }, 2019{ oid => '2915', descr => 'I/O typmod', 2020 proname => 'varchartypmodin', prorettype => 'int4', proargtypes => '_cstring', 2021 prosrc => 'varchartypmodin' }, 2022{ oid => '2916', descr => 'I/O typmod', 2023 proname => 'varchartypmodout', prorettype => 'cstring', proargtypes => 'int4', 2024 prosrc => 'varchartypmodout' }, 2025{ oid => '1048', 2026 proname => 'bpchareq', proleakproof => 't', prorettype => 'bool', 2027 proargtypes => 'bpchar bpchar', prosrc => 'bpchareq' }, 2028{ oid => '1049', 2029 proname => 'bpcharlt', proleakproof => 't', prorettype => 'bool', 2030 proargtypes => 'bpchar bpchar', prosrc => 'bpcharlt' }, 2031{ oid => '1050', 2032 proname => 'bpcharle', proleakproof => 't', prorettype => 'bool', 2033 proargtypes => 'bpchar bpchar', prosrc => 'bpcharle' }, 2034{ oid => '1051', 2035 proname => 'bpchargt', proleakproof => 't', prorettype => 'bool', 2036 proargtypes => 'bpchar bpchar', prosrc => 'bpchargt' }, 2037{ oid => '1052', 2038 proname => 'bpcharge', proleakproof => 't', prorettype => 'bool', 2039 proargtypes => 'bpchar bpchar', prosrc => 'bpcharge' }, 2040{ oid => '1053', 2041 proname => 'bpcharne', proleakproof => 't', prorettype => 'bool', 2042 proargtypes => 'bpchar bpchar', prosrc => 'bpcharne' }, 2043{ oid => '1063', descr => 'larger of two', 2044 proname => 'bpchar_larger', proleakproof => 't', prorettype => 'bpchar', 2045 proargtypes => 'bpchar bpchar', prosrc => 'bpchar_larger' }, 2046{ oid => '1064', descr => 'smaller of two', 2047 proname => 'bpchar_smaller', proleakproof => 't', prorettype => 'bpchar', 2048 proargtypes => 'bpchar bpchar', prosrc => 'bpchar_smaller' }, 2049{ oid => '1078', descr => 'less-equal-greater', 2050 proname => 'bpcharcmp', proleakproof => 't', prorettype => 'int4', 2051 proargtypes => 'bpchar bpchar', prosrc => 'bpcharcmp' }, 2052{ oid => '3328', descr => 'sort support', 2053 proname => 'bpchar_sortsupport', prorettype => 'void', 2054 proargtypes => 'internal', prosrc => 'bpchar_sortsupport' }, 2055{ oid => '1080', descr => 'hash', 2056 proname => 'hashbpchar', prorettype => 'int4', proargtypes => 'bpchar', 2057 prosrc => 'hashbpchar' }, 2058{ oid => '972', descr => 'hash', 2059 proname => 'hashbpcharextended', prorettype => 'int8', 2060 proargtypes => 'bpchar int8', prosrc => 'hashbpcharextended' }, 2061{ oid => '1081', descr => 'format a type oid and atttypmod to canonical SQL', 2062 proname => 'format_type', proisstrict => 'f', provolatile => 's', 2063 prorettype => 'text', proargtypes => 'oid int4', prosrc => 'format_type' }, 2064{ oid => '1084', descr => 'I/O', 2065 proname => 'date_in', provolatile => 's', prorettype => 'date', 2066 proargtypes => 'cstring', prosrc => 'date_in' }, 2067{ oid => '1085', descr => 'I/O', 2068 proname => 'date_out', provolatile => 's', prorettype => 'cstring', 2069 proargtypes => 'date', prosrc => 'date_out' }, 2070{ oid => '1086', 2071 proname => 'date_eq', proleakproof => 't', prorettype => 'bool', 2072 proargtypes => 'date date', prosrc => 'date_eq' }, 2073{ oid => '1087', 2074 proname => 'date_lt', proleakproof => 't', prorettype => 'bool', 2075 proargtypes => 'date date', prosrc => 'date_lt' }, 2076{ oid => '1088', 2077 proname => 'date_le', proleakproof => 't', prorettype => 'bool', 2078 proargtypes => 'date date', prosrc => 'date_le' }, 2079{ oid => '1089', 2080 proname => 'date_gt', proleakproof => 't', prorettype => 'bool', 2081 proargtypes => 'date date', prosrc => 'date_gt' }, 2082{ oid => '1090', 2083 proname => 'date_ge', proleakproof => 't', prorettype => 'bool', 2084 proargtypes => 'date date', prosrc => 'date_ge' }, 2085{ oid => '1091', 2086 proname => 'date_ne', proleakproof => 't', prorettype => 'bool', 2087 proargtypes => 'date date', prosrc => 'date_ne' }, 2088{ oid => '1092', descr => 'less-equal-greater', 2089 proname => 'date_cmp', proleakproof => 't', prorettype => 'int4', 2090 proargtypes => 'date date', prosrc => 'date_cmp' }, 2091{ oid => '3136', descr => 'sort support', 2092 proname => 'date_sortsupport', prorettype => 'void', 2093 proargtypes => 'internal', prosrc => 'date_sortsupport' }, 2094{ oid => '4133', descr => 'window RANGE support', 2095 proname => 'in_range', prorettype => 'bool', 2096 proargtypes => 'date date interval bool bool', 2097 prosrc => 'in_range_date_interval' }, 2098 2099# OIDS 1100 - 1199 2100 2101{ oid => '1102', 2102 proname => 'time_lt', proleakproof => 't', prorettype => 'bool', 2103 proargtypes => 'time time', prosrc => 'time_lt' }, 2104{ oid => '1103', 2105 proname => 'time_le', proleakproof => 't', prorettype => 'bool', 2106 proargtypes => 'time time', prosrc => 'time_le' }, 2107{ oid => '1104', 2108 proname => 'time_gt', proleakproof => 't', prorettype => 'bool', 2109 proargtypes => 'time time', prosrc => 'time_gt' }, 2110{ oid => '1105', 2111 proname => 'time_ge', proleakproof => 't', prorettype => 'bool', 2112 proargtypes => 'time time', prosrc => 'time_ge' }, 2113{ oid => '1106', 2114 proname => 'time_ne', proleakproof => 't', prorettype => 'bool', 2115 proargtypes => 'time time', prosrc => 'time_ne' }, 2116{ oid => '1107', descr => 'less-equal-greater', 2117 proname => 'time_cmp', proleakproof => 't', prorettype => 'int4', 2118 proargtypes => 'time time', prosrc => 'time_cmp' }, 2119{ oid => '1138', descr => 'larger of two', 2120 proname => 'date_larger', prorettype => 'date', proargtypes => 'date date', 2121 prosrc => 'date_larger' }, 2122{ oid => '1139', descr => 'smaller of two', 2123 proname => 'date_smaller', prorettype => 'date', proargtypes => 'date date', 2124 prosrc => 'date_smaller' }, 2125{ oid => '1140', 2126 proname => 'date_mi', prorettype => 'int4', proargtypes => 'date date', 2127 prosrc => 'date_mi' }, 2128{ oid => '1141', 2129 proname => 'date_pli', prorettype => 'date', proargtypes => 'date int4', 2130 prosrc => 'date_pli' }, 2131{ oid => '1142', 2132 proname => 'date_mii', prorettype => 'date', proargtypes => 'date int4', 2133 prosrc => 'date_mii' }, 2134{ oid => '1143', descr => 'I/O', 2135 proname => 'time_in', provolatile => 's', prorettype => 'time', 2136 proargtypes => 'cstring oid int4', prosrc => 'time_in' }, 2137{ oid => '1144', descr => 'I/O', 2138 proname => 'time_out', prorettype => 'cstring', proargtypes => 'time', 2139 prosrc => 'time_out' }, 2140{ oid => '2909', descr => 'I/O typmod', 2141 proname => 'timetypmodin', prorettype => 'int4', proargtypes => '_cstring', 2142 prosrc => 'timetypmodin' }, 2143{ oid => '2910', descr => 'I/O typmod', 2144 proname => 'timetypmodout', prorettype => 'cstring', proargtypes => 'int4', 2145 prosrc => 'timetypmodout' }, 2146{ oid => '1145', 2147 proname => 'time_eq', proleakproof => 't', prorettype => 'bool', 2148 proargtypes => 'time time', prosrc => 'time_eq' }, 2149 2150{ oid => '1146', 2151 proname => 'circle_add_pt', prorettype => 'circle', 2152 proargtypes => 'circle point', prosrc => 'circle_add_pt' }, 2153{ oid => '1147', 2154 proname => 'circle_sub_pt', prorettype => 'circle', 2155 proargtypes => 'circle point', prosrc => 'circle_sub_pt' }, 2156{ oid => '1148', 2157 proname => 'circle_mul_pt', prorettype => 'circle', 2158 proargtypes => 'circle point', prosrc => 'circle_mul_pt' }, 2159{ oid => '1149', 2160 proname => 'circle_div_pt', prorettype => 'circle', 2161 proargtypes => 'circle point', prosrc => 'circle_div_pt' }, 2162 2163{ oid => '1150', descr => 'I/O', 2164 proname => 'timestamptz_in', provolatile => 's', prorettype => 'timestamptz', 2165 proargtypes => 'cstring oid int4', prosrc => 'timestamptz_in' }, 2166{ oid => '1151', descr => 'I/O', 2167 proname => 'timestamptz_out', provolatile => 's', prorettype => 'cstring', 2168 proargtypes => 'timestamptz', prosrc => 'timestamptz_out' }, 2169{ oid => '2907', descr => 'I/O typmod', 2170 proname => 'timestamptztypmodin', prorettype => 'int4', 2171 proargtypes => '_cstring', prosrc => 'timestamptztypmodin' }, 2172{ oid => '2908', descr => 'I/O typmod', 2173 proname => 'timestamptztypmodout', prorettype => 'cstring', 2174 proargtypes => 'int4', prosrc => 'timestamptztypmodout' }, 2175{ oid => '1152', 2176 proname => 'timestamptz_eq', proleakproof => 't', prorettype => 'bool', 2177 proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_eq' }, 2178{ oid => '1153', 2179 proname => 'timestamptz_ne', proleakproof => 't', prorettype => 'bool', 2180 proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_ne' }, 2181{ oid => '1154', 2182 proname => 'timestamptz_lt', proleakproof => 't', prorettype => 'bool', 2183 proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_lt' }, 2184{ oid => '1155', 2185 proname => 'timestamptz_le', proleakproof => 't', prorettype => 'bool', 2186 proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_le' }, 2187{ oid => '1156', 2188 proname => 'timestamptz_ge', proleakproof => 't', prorettype => 'bool', 2189 proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_ge' }, 2190{ oid => '1157', 2191 proname => 'timestamptz_gt', proleakproof => 't', prorettype => 'bool', 2192 proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_gt' }, 2193{ oid => '1158', descr => 'convert UNIX epoch to timestamptz', 2194 proname => 'to_timestamp', prorettype => 'timestamptz', 2195 proargtypes => 'float8', prosrc => 'float8_timestamptz' }, 2196{ oid => '1159', descr => 'adjust timestamp to new time zone', 2197 proname => 'timezone', prorettype => 'timestamp', 2198 proargtypes => 'text timestamptz', prosrc => 'timestamptz_zone' }, 2199 2200{ oid => '1160', descr => 'I/O', 2201 proname => 'interval_in', provolatile => 's', prorettype => 'interval', 2202 proargtypes => 'cstring oid int4', prosrc => 'interval_in' }, 2203{ oid => '1161', descr => 'I/O', 2204 proname => 'interval_out', prorettype => 'cstring', proargtypes => 'interval', 2205 prosrc => 'interval_out' }, 2206{ oid => '2903', descr => 'I/O typmod', 2207 proname => 'intervaltypmodin', prorettype => 'int4', 2208 proargtypes => '_cstring', prosrc => 'intervaltypmodin' }, 2209{ oid => '2904', descr => 'I/O typmod', 2210 proname => 'intervaltypmodout', prorettype => 'cstring', 2211 proargtypes => 'int4', prosrc => 'intervaltypmodout' }, 2212{ oid => '1162', 2213 proname => 'interval_eq', proleakproof => 't', prorettype => 'bool', 2214 proargtypes => 'interval interval', prosrc => 'interval_eq' }, 2215{ oid => '1163', 2216 proname => 'interval_ne', proleakproof => 't', prorettype => 'bool', 2217 proargtypes => 'interval interval', prosrc => 'interval_ne' }, 2218{ oid => '1164', 2219 proname => 'interval_lt', proleakproof => 't', prorettype => 'bool', 2220 proargtypes => 'interval interval', prosrc => 'interval_lt' }, 2221{ oid => '1165', 2222 proname => 'interval_le', proleakproof => 't', prorettype => 'bool', 2223 proargtypes => 'interval interval', prosrc => 'interval_le' }, 2224{ oid => '1166', 2225 proname => 'interval_ge', proleakproof => 't', prorettype => 'bool', 2226 proargtypes => 'interval interval', prosrc => 'interval_ge' }, 2227{ oid => '1167', 2228 proname => 'interval_gt', proleakproof => 't', prorettype => 'bool', 2229 proargtypes => 'interval interval', prosrc => 'interval_gt' }, 2230{ oid => '1168', 2231 proname => 'interval_um', prorettype => 'interval', proargtypes => 'interval', 2232 prosrc => 'interval_um' }, 2233{ oid => '1169', 2234 proname => 'interval_pl', prorettype => 'interval', 2235 proargtypes => 'interval interval', prosrc => 'interval_pl' }, 2236{ oid => '1170', 2237 proname => 'interval_mi', prorettype => 'interval', 2238 proargtypes => 'interval interval', prosrc => 'interval_mi' }, 2239{ oid => '1171', descr => 'extract field from timestamp with time zone', 2240 proname => 'date_part', provolatile => 's', prorettype => 'float8', 2241 proargtypes => 'text timestamptz', prosrc => 'timestamptz_part' }, 2242{ oid => '1172', descr => 'extract field from interval', 2243 proname => 'date_part', prorettype => 'float8', 2244 proargtypes => 'text interval', prosrc => 'interval_part' }, 2245{ oid => '1174', descr => 'convert date to timestamp with time zone', 2246 proname => 'timestamptz', provolatile => 's', prorettype => 'timestamptz', 2247 proargtypes => 'date', prosrc => 'date_timestamptz' }, 2248{ oid => '2711', 2249 descr => 'promote groups of 24 hours to numbers of days and promote groups of 30 days to numbers of months', 2250 proname => 'justify_interval', prorettype => 'interval', 2251 proargtypes => 'interval', prosrc => 'interval_justify_interval' }, 2252{ oid => '1175', descr => 'promote groups of 24 hours to numbers of days', 2253 proname => 'justify_hours', prorettype => 'interval', 2254 proargtypes => 'interval', prosrc => 'interval_justify_hours' }, 2255{ oid => '1295', descr => 'promote groups of 30 days to numbers of months', 2256 proname => 'justify_days', prorettype => 'interval', 2257 proargtypes => 'interval', prosrc => 'interval_justify_days' }, 2258{ oid => '1176', descr => 'convert date and time to timestamp with time zone', 2259 proname => 'timestamptz', prolang => 'sql', provolatile => 's', 2260 prorettype => 'timestamptz', proargtypes => 'date time', 2261 prosrc => 'select cast(($1 + $2) as timestamp with time zone)' }, 2262{ oid => '1178', descr => 'convert timestamp with time zone to date', 2263 proname => 'date', provolatile => 's', prorettype => 'date', 2264 proargtypes => 'timestamptz', prosrc => 'timestamptz_date' }, 2265{ oid => '1181', 2266 descr => 'age of a transaction ID, in transactions before current transaction', 2267 proname => 'age', provolatile => 's', proparallel => 'r', 2268 prorettype => 'int4', proargtypes => 'xid', prosrc => 'xid_age' }, 2269{ oid => '3939', 2270 descr => 'age of a multi-transaction ID, in multi-transactions before current multi-transaction', 2271 proname => 'mxid_age', provolatile => 's', prorettype => 'int4', 2272 proargtypes => 'xid', prosrc => 'mxid_age' }, 2273 2274{ oid => '1188', 2275 proname => 'timestamptz_mi', prorettype => 'interval', 2276 proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_mi' }, 2277{ oid => '1189', 2278 proname => 'timestamptz_pl_interval', provolatile => 's', 2279 prorettype => 'timestamptz', proargtypes => 'timestamptz interval', 2280 prosrc => 'timestamptz_pl_interval' }, 2281{ oid => '1190', 2282 proname => 'timestamptz_mi_interval', provolatile => 's', 2283 prorettype => 'timestamptz', proargtypes => 'timestamptz interval', 2284 prosrc => 'timestamptz_mi_interval' }, 2285{ oid => '1195', descr => 'smaller of two', 2286 proname => 'timestamptz_smaller', prorettype => 'timestamptz', 2287 proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_smaller' }, 2288{ oid => '1196', descr => 'larger of two', 2289 proname => 'timestamptz_larger', prorettype => 'timestamptz', 2290 proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_larger' }, 2291{ oid => '1197', descr => 'smaller of two', 2292 proname => 'interval_smaller', prorettype => 'interval', 2293 proargtypes => 'interval interval', prosrc => 'interval_smaller' }, 2294{ oid => '1198', descr => 'larger of two', 2295 proname => 'interval_larger', prorettype => 'interval', 2296 proargtypes => 'interval interval', prosrc => 'interval_larger' }, 2297{ oid => '1199', descr => 'date difference preserving months and years', 2298 proname => 'age', prorettype => 'interval', 2299 proargtypes => 'timestamptz timestamptz', prosrc => 'timestamptz_age' }, 2300 2301# OIDS 1200 - 1299 2302 2303{ oid => '3918', descr => 'planner support for interval length coercion', 2304 proname => 'interval_support', prorettype => 'internal', 2305 proargtypes => 'internal', prosrc => 'interval_support' }, 2306{ oid => '1200', descr => 'adjust interval precision', 2307 proname => 'interval', prosupport => 'interval_support', 2308 prorettype => 'interval', proargtypes => 'interval int4', 2309 prosrc => 'interval_scale' }, 2310 2311{ oid => '1215', descr => 'get description for object id and catalog name', 2312 proname => 'obj_description', prolang => 'sql', procost => '100', 2313 provolatile => 's', prorettype => 'text', proargtypes => 'oid name', 2314 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' }, 2315{ oid => '1216', descr => 'get description for table column', 2316 proname => 'col_description', prolang => 'sql', procost => '100', 2317 provolatile => 's', prorettype => 'text', proargtypes => 'oid int4', 2318 prosrc => 'select description from pg_catalog.pg_description where objoid = $1 and classoid = \'pg_catalog.pg_class\'::pg_catalog.regclass and objsubid = $2' }, 2319{ oid => '1993', 2320 descr => 'get description for object id and shared catalog name', 2321 proname => 'shobj_description', prolang => 'sql', procost => '100', 2322 provolatile => 's', prorettype => 'text', proargtypes => 'oid name', 2323 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)' }, 2324 2325{ oid => '1217', 2326 descr => 'truncate timestamp with time zone to specified units', 2327 proname => 'date_trunc', provolatile => 's', prorettype => 'timestamptz', 2328 proargtypes => 'text timestamptz', prosrc => 'timestamptz_trunc' }, 2329{ oid => '1284', 2330 descr => 'truncate timestamp with time zone to specified units in specified time zone', 2331 proname => 'date_trunc', provolatile => 's', prorettype => 'timestamptz', 2332 proargtypes => 'text timestamptz text', prosrc => 'timestamptz_trunc_zone' }, 2333{ oid => '1218', descr => 'truncate interval to specified units', 2334 proname => 'date_trunc', prorettype => 'interval', 2335 proargtypes => 'text interval', prosrc => 'interval_trunc' }, 2336 2337{ oid => '1219', descr => 'increment', 2338 proname => 'int8inc', prorettype => 'int8', proargtypes => 'int8', 2339 prosrc => 'int8inc' }, 2340{ oid => '3546', descr => 'decrement', 2341 proname => 'int8dec', prorettype => 'int8', proargtypes => 'int8', 2342 prosrc => 'int8dec' }, 2343{ oid => '2804', descr => 'increment, ignores second argument', 2344 proname => 'int8inc_any', prorettype => 'int8', proargtypes => 'int8 any', 2345 prosrc => 'int8inc_any' }, 2346{ oid => '3547', descr => 'decrement, ignores second argument', 2347 proname => 'int8dec_any', prorettype => 'int8', proargtypes => 'int8 any', 2348 prosrc => 'int8dec_any' }, 2349{ oid => '1230', 2350 proname => 'int8abs', prorettype => 'int8', proargtypes => 'int8', 2351 prosrc => 'int8abs' }, 2352 2353{ oid => '1236', descr => 'larger of two', 2354 proname => 'int8larger', prorettype => 'int8', proargtypes => 'int8 int8', 2355 prosrc => 'int8larger' }, 2356{ oid => '1237', descr => 'smaller of two', 2357 proname => 'int8smaller', prorettype => 'int8', proargtypes => 'int8 int8', 2358 prosrc => 'int8smaller' }, 2359 2360{ oid => '1238', 2361 proname => 'texticregexeq', prosupport => 'texticregexeq_support', 2362 prorettype => 'bool', proargtypes => 'text text', prosrc => 'texticregexeq' }, 2363{ oid => '1024', descr => 'planner support for texticregexeq', 2364 proname => 'texticregexeq_support', prorettype => 'internal', 2365 proargtypes => 'internal', prosrc => 'texticregexeq_support' }, 2366{ oid => '1239', 2367 proname => 'texticregexne', prorettype => 'bool', proargtypes => 'text text', 2368 prosrc => 'texticregexne' }, 2369{ oid => '1240', 2370 proname => 'nameicregexeq', prosupport => 'texticregexeq_support', 2371 prorettype => 'bool', proargtypes => 'name text', prosrc => 'nameicregexeq' }, 2372{ oid => '1241', 2373 proname => 'nameicregexne', prorettype => 'bool', proargtypes => 'name text', 2374 prosrc => 'nameicregexne' }, 2375 2376{ oid => '1251', 2377 proname => 'int4abs', prorettype => 'int4', proargtypes => 'int4', 2378 prosrc => 'int4abs' }, 2379{ oid => '1253', 2380 proname => 'int2abs', prorettype => 'int2', proargtypes => 'int2', 2381 prosrc => 'int2abs' }, 2382 2383{ oid => '1271', descr => 'intervals overlap?', 2384 proname => 'overlaps', proisstrict => 'f', prorettype => 'bool', 2385 proargtypes => 'timetz timetz timetz timetz', prosrc => 'overlaps_timetz' }, 2386{ oid => '1272', 2387 proname => 'datetime_pl', prorettype => 'timestamp', 2388 proargtypes => 'date time', prosrc => 'datetime_timestamp' }, 2389{ oid => '1273', descr => 'extract field from time with time zone', 2390 proname => 'date_part', prorettype => 'float8', proargtypes => 'text timetz', 2391 prosrc => 'timetz_part' }, 2392{ oid => '1274', 2393 proname => 'int84pl', prorettype => 'int8', proargtypes => 'int8 int4', 2394 prosrc => 'int84pl' }, 2395{ oid => '1275', 2396 proname => 'int84mi', prorettype => 'int8', proargtypes => 'int8 int4', 2397 prosrc => 'int84mi' }, 2398{ oid => '1276', 2399 proname => 'int84mul', prorettype => 'int8', proargtypes => 'int8 int4', 2400 prosrc => 'int84mul' }, 2401{ oid => '1277', 2402 proname => 'int84div', prorettype => 'int8', proargtypes => 'int8 int4', 2403 prosrc => 'int84div' }, 2404{ oid => '1278', 2405 proname => 'int48pl', prorettype => 'int8', proargtypes => 'int4 int8', 2406 prosrc => 'int48pl' }, 2407{ oid => '1279', 2408 proname => 'int48mi', prorettype => 'int8', proargtypes => 'int4 int8', 2409 prosrc => 'int48mi' }, 2410{ oid => '1280', 2411 proname => 'int48mul', prorettype => 'int8', proargtypes => 'int4 int8', 2412 prosrc => 'int48mul' }, 2413{ oid => '1281', 2414 proname => 'int48div', prorettype => 'int8', proargtypes => 'int4 int8', 2415 prosrc => 'int48div' }, 2416 2417{ oid => '837', 2418 proname => 'int82pl', prorettype => 'int8', proargtypes => 'int8 int2', 2419 prosrc => 'int82pl' }, 2420{ oid => '838', 2421 proname => 'int82mi', prorettype => 'int8', proargtypes => 'int8 int2', 2422 prosrc => 'int82mi' }, 2423{ oid => '839', 2424 proname => 'int82mul', prorettype => 'int8', proargtypes => 'int8 int2', 2425 prosrc => 'int82mul' }, 2426{ oid => '840', 2427 proname => 'int82div', prorettype => 'int8', proargtypes => 'int8 int2', 2428 prosrc => 'int82div' }, 2429{ oid => '841', 2430 proname => 'int28pl', prorettype => 'int8', proargtypes => 'int2 int8', 2431 prosrc => 'int28pl' }, 2432{ oid => '942', 2433 proname => 'int28mi', prorettype => 'int8', proargtypes => 'int2 int8', 2434 prosrc => 'int28mi' }, 2435{ oid => '943', 2436 proname => 'int28mul', prorettype => 'int8', proargtypes => 'int2 int8', 2437 prosrc => 'int28mul' }, 2438{ oid => '948', 2439 proname => 'int28div', prorettype => 'int8', proargtypes => 'int2 int8', 2440 prosrc => 'int28div' }, 2441 2442{ oid => '1287', descr => 'convert int8 to oid', 2443 proname => 'oid', prorettype => 'oid', proargtypes => 'int8', 2444 prosrc => 'i8tooid' }, 2445{ oid => '1288', descr => 'convert oid to int8', 2446 proname => 'int8', prorettype => 'int8', proargtypes => 'oid', 2447 prosrc => 'oidtoi8' }, 2448 2449{ oid => '1291', 2450 descr => 'trigger to suppress updates when new and old records match', 2451 proname => 'suppress_redundant_updates_trigger', provolatile => 'v', 2452 prorettype => 'trigger', proargtypes => '', 2453 prosrc => 'suppress_redundant_updates_trigger' }, 2454 2455{ oid => '1292', 2456 proname => 'tideq', proleakproof => 't', prorettype => 'bool', 2457 proargtypes => 'tid tid', prosrc => 'tideq' }, 2458{ oid => '1293', descr => 'latest tid of a tuple', 2459 proname => 'currtid', provolatile => 'v', proparallel => 'u', 2460 prorettype => 'tid', proargtypes => 'oid tid', prosrc => 'currtid_byreloid' }, 2461{ oid => '1294', descr => 'latest tid of a tuple', 2462 proname => 'currtid2', provolatile => 'v', proparallel => 'u', 2463 prorettype => 'tid', proargtypes => 'text tid', 2464 prosrc => 'currtid_byrelname' }, 2465{ oid => '1265', 2466 proname => 'tidne', proleakproof => 't', prorettype => 'bool', 2467 proargtypes => 'tid tid', prosrc => 'tidne' }, 2468{ oid => '2790', 2469 proname => 'tidgt', proleakproof => 't', prorettype => 'bool', 2470 proargtypes => 'tid tid', prosrc => 'tidgt' }, 2471{ oid => '2791', 2472 proname => 'tidlt', proleakproof => 't', prorettype => 'bool', 2473 proargtypes => 'tid tid', prosrc => 'tidlt' }, 2474{ oid => '2792', 2475 proname => 'tidge', proleakproof => 't', prorettype => 'bool', 2476 proargtypes => 'tid tid', prosrc => 'tidge' }, 2477{ oid => '2793', 2478 proname => 'tidle', proleakproof => 't', prorettype => 'bool', 2479 proargtypes => 'tid tid', prosrc => 'tidle' }, 2480{ oid => '2794', descr => 'less-equal-greater', 2481 proname => 'bttidcmp', proleakproof => 't', prorettype => 'int4', 2482 proargtypes => 'tid tid', prosrc => 'bttidcmp' }, 2483{ oid => '2795', descr => 'larger of two', 2484 proname => 'tidlarger', prorettype => 'tid', proargtypes => 'tid tid', 2485 prosrc => 'tidlarger' }, 2486{ oid => '2796', descr => 'smaller of two', 2487 proname => 'tidsmaller', prorettype => 'tid', proargtypes => 'tid tid', 2488 prosrc => 'tidsmaller' }, 2489{ oid => '2233', descr => 'hash', 2490 proname => 'hashtid', prorettype => 'int4', proargtypes => 'tid', 2491 prosrc => 'hashtid' }, 2492{ oid => '2234', descr => 'hash', 2493 proname => 'hashtidextended', prorettype => 'int8', proargtypes => 'tid int8', 2494 prosrc => 'hashtidextended' }, 2495 2496{ oid => '1296', 2497 proname => 'timedate_pl', prolang => 'sql', prorettype => 'timestamp', 2498 proargtypes => 'time date', prosrc => 'select ($2 + $1)' }, 2499{ oid => '1297', 2500 proname => 'datetimetz_pl', prorettype => 'timestamptz', 2501 proargtypes => 'date timetz', prosrc => 'datetimetz_timestamptz' }, 2502{ oid => '1298', 2503 proname => 'timetzdate_pl', prolang => 'sql', prorettype => 'timestamptz', 2504 proargtypes => 'timetz date', prosrc => 'select ($2 + $1)' }, 2505{ oid => '1299', descr => 'current transaction time', 2506 proname => 'now', provolatile => 's', prorettype => 'timestamptz', 2507 proargtypes => '', prosrc => 'now' }, 2508{ oid => '2647', descr => 'current transaction time', 2509 proname => 'transaction_timestamp', provolatile => 's', 2510 prorettype => 'timestamptz', proargtypes => '', prosrc => 'now' }, 2511{ oid => '2648', descr => 'current statement time', 2512 proname => 'statement_timestamp', provolatile => 's', 2513 prorettype => 'timestamptz', proargtypes => '', 2514 prosrc => 'statement_timestamp' }, 2515{ oid => '2649', descr => 'current clock time', 2516 proname => 'clock_timestamp', provolatile => 'v', prorettype => 'timestamptz', 2517 proargtypes => '', prosrc => 'clock_timestamp' }, 2518 2519# OIDS 1300 - 1399 2520 2521{ oid => '1300', 2522 descr => 'restriction selectivity for position-comparison operators', 2523 proname => 'positionsel', provolatile => 's', prorettype => 'float8', 2524 proargtypes => 'internal oid internal int4', prosrc => 'positionsel' }, 2525{ oid => '1301', 2526 descr => 'join selectivity for position-comparison operators', 2527 proname => 'positionjoinsel', provolatile => 's', prorettype => 'float8', 2528 proargtypes => 'internal oid internal int2 internal', 2529 prosrc => 'positionjoinsel' }, 2530{ oid => '1302', 2531 descr => 'restriction selectivity for containment comparison operators', 2532 proname => 'contsel', provolatile => 's', prorettype => 'float8', 2533 proargtypes => 'internal oid internal int4', prosrc => 'contsel' }, 2534{ oid => '1303', 2535 descr => 'join selectivity for containment comparison operators', 2536 proname => 'contjoinsel', provolatile => 's', prorettype => 'float8', 2537 proargtypes => 'internal oid internal int2 internal', 2538 prosrc => 'contjoinsel' }, 2539 2540{ oid => '1304', descr => 'intervals overlap?', 2541 proname => 'overlaps', proisstrict => 'f', prorettype => 'bool', 2542 proargtypes => 'timestamptz timestamptz timestamptz timestamptz', 2543 prosrc => 'overlaps_timestamp' }, 2544{ oid => '1305', descr => 'intervals overlap?', 2545 proname => 'overlaps', prolang => 'sql', proisstrict => 'f', 2546 provolatile => 's', prorettype => 'bool', 2547 proargtypes => 'timestamptz interval timestamptz interval', 2548 prosrc => 'select ($1, ($1 + $2)) overlaps ($3, ($3 + $4))' }, 2549{ oid => '1306', descr => 'intervals overlap?', 2550 proname => 'overlaps', prolang => 'sql', proisstrict => 'f', 2551 provolatile => 's', prorettype => 'bool', 2552 proargtypes => 'timestamptz timestamptz timestamptz interval', 2553 prosrc => 'select ($1, $2) overlaps ($3, ($3 + $4))' }, 2554{ oid => '1307', descr => 'intervals overlap?', 2555 proname => 'overlaps', prolang => 'sql', proisstrict => 'f', 2556 provolatile => 's', prorettype => 'bool', 2557 proargtypes => 'timestamptz interval timestamptz timestamptz', 2558 prosrc => 'select ($1, ($1 + $2)) overlaps ($3, $4)' }, 2559 2560{ oid => '1308', descr => 'intervals overlap?', 2561 proname => 'overlaps', proisstrict => 'f', prorettype => 'bool', 2562 proargtypes => 'time time time time', prosrc => 'overlaps_time' }, 2563{ oid => '1309', descr => 'intervals overlap?', 2564 proname => 'overlaps', prolang => 'sql', proisstrict => 'f', 2565 prorettype => 'bool', proargtypes => 'time interval time interval', 2566 prosrc => 'select ($1, ($1 + $2)) overlaps ($3, ($3 + $4))' }, 2567{ oid => '1310', descr => 'intervals overlap?', 2568 proname => 'overlaps', prolang => 'sql', proisstrict => 'f', 2569 prorettype => 'bool', proargtypes => 'time time time interval', 2570 prosrc => 'select ($1, $2) overlaps ($3, ($3 + $4))' }, 2571{ oid => '1311', descr => 'intervals overlap?', 2572 proname => 'overlaps', prolang => 'sql', proisstrict => 'f', 2573 prorettype => 'bool', proargtypes => 'time interval time time', 2574 prosrc => 'select ($1, ($1 + $2)) overlaps ($3, $4)' }, 2575 2576{ oid => '1312', descr => 'I/O', 2577 proname => 'timestamp_in', provolatile => 's', prorettype => 'timestamp', 2578 proargtypes => 'cstring oid int4', prosrc => 'timestamp_in' }, 2579{ oid => '1313', descr => 'I/O', 2580 proname => 'timestamp_out', provolatile => 's', prorettype => 'cstring', 2581 proargtypes => 'timestamp', prosrc => 'timestamp_out' }, 2582{ oid => '2905', descr => 'I/O typmod', 2583 proname => 'timestamptypmodin', prorettype => 'int4', 2584 proargtypes => '_cstring', prosrc => 'timestamptypmodin' }, 2585{ oid => '2906', descr => 'I/O typmod', 2586 proname => 'timestamptypmodout', prorettype => 'cstring', 2587 proargtypes => 'int4', prosrc => 'timestamptypmodout' }, 2588{ oid => '1314', descr => 'less-equal-greater', 2589 proname => 'timestamptz_cmp', proleakproof => 't', prorettype => 'int4', 2590 proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_cmp' }, 2591{ oid => '1315', descr => 'less-equal-greater', 2592 proname => 'interval_cmp', proleakproof => 't', prorettype => 'int4', 2593 proargtypes => 'interval interval', prosrc => 'interval_cmp' }, 2594{ oid => '1316', descr => 'convert timestamp to time', 2595 proname => 'time', prorettype => 'time', proargtypes => 'timestamp', 2596 prosrc => 'timestamp_time' }, 2597 2598{ oid => '1317', descr => 'length', 2599 proname => 'length', prorettype => 'int4', proargtypes => 'text', 2600 prosrc => 'textlen' }, 2601{ oid => '1318', descr => 'character length', 2602 proname => 'length', prorettype => 'int4', proargtypes => 'bpchar', 2603 prosrc => 'bpcharlen' }, 2604 2605{ oid => '1319', 2606 proname => 'xideqint4', proleakproof => 't', prorettype => 'bool', 2607 proargtypes => 'xid int4', prosrc => 'xideq' }, 2608{ oid => '3309', 2609 proname => 'xidneqint4', proleakproof => 't', prorettype => 'bool', 2610 proargtypes => 'xid int4', prosrc => 'xidneq' }, 2611 2612{ oid => '1326', 2613 proname => 'interval_div', prorettype => 'interval', 2614 proargtypes => 'interval float8', prosrc => 'interval_div' }, 2615 2616{ oid => '1339', descr => 'base 10 logarithm', 2617 proname => 'dlog10', prorettype => 'float8', proargtypes => 'float8', 2618 prosrc => 'dlog10' }, 2619{ oid => '1340', descr => 'base 10 logarithm', 2620 proname => 'log', prorettype => 'float8', proargtypes => 'float8', 2621 prosrc => 'dlog10' }, 2622{ oid => '1194', descr => 'base 10 logarithm', 2623 proname => 'log10', prorettype => 'float8', proargtypes => 'float8', 2624 prosrc => 'dlog10' }, 2625{ oid => '1341', descr => 'natural logarithm', 2626 proname => 'ln', prorettype => 'float8', proargtypes => 'float8', 2627 prosrc => 'dlog1' }, 2628{ oid => '1342', descr => 'round to nearest integer', 2629 proname => 'round', prorettype => 'float8', proargtypes => 'float8', 2630 prosrc => 'dround' }, 2631{ oid => '1343', descr => 'truncate to integer', 2632 proname => 'trunc', prorettype => 'float8', proargtypes => 'float8', 2633 prosrc => 'dtrunc' }, 2634{ oid => '1344', descr => 'square root', 2635 proname => 'sqrt', prorettype => 'float8', proargtypes => 'float8', 2636 prosrc => 'dsqrt' }, 2637{ oid => '1345', descr => 'cube root', 2638 proname => 'cbrt', prorettype => 'float8', proargtypes => 'float8', 2639 prosrc => 'dcbrt' }, 2640{ oid => '1346', descr => 'exponentiation', 2641 proname => 'pow', prorettype => 'float8', proargtypes => 'float8 float8', 2642 prosrc => 'dpow' }, 2643{ oid => '1368', descr => 'exponentiation', 2644 proname => 'power', prorettype => 'float8', proargtypes => 'float8 float8', 2645 prosrc => 'dpow' }, 2646{ oid => '1347', descr => 'natural exponential (e^x)', 2647 proname => 'exp', prorettype => 'float8', proargtypes => 'float8', 2648 prosrc => 'dexp' }, 2649 2650# This form of obj_description is now deprecated, since it will fail if 2651# OIDs are not unique across system catalogs. Use the other form instead. 2652{ oid => '1348', descr => 'deprecated, use two-argument form instead', 2653 proname => 'obj_description', prolang => 'sql', procost => '100', 2654 provolatile => 's', prorettype => 'text', proargtypes => 'oid', 2655 prosrc => 'select description from pg_catalog.pg_description where objoid = $1 and objsubid = 0' }, 2656 2657{ oid => '1349', descr => 'print type names of oidvector field', 2658 proname => 'oidvectortypes', provolatile => 's', prorettype => 'text', 2659 proargtypes => 'oidvector', prosrc => 'oidvectortypes' }, 2660 2661{ oid => '1350', descr => 'I/O', 2662 proname => 'timetz_in', provolatile => 's', prorettype => 'timetz', 2663 proargtypes => 'cstring oid int4', prosrc => 'timetz_in' }, 2664{ oid => '1351', descr => 'I/O', 2665 proname => 'timetz_out', prorettype => 'cstring', proargtypes => 'timetz', 2666 prosrc => 'timetz_out' }, 2667{ oid => '2911', descr => 'I/O typmod', 2668 proname => 'timetztypmodin', prorettype => 'int4', proargtypes => '_cstring', 2669 prosrc => 'timetztypmodin' }, 2670{ oid => '2912', descr => 'I/O typmod', 2671 proname => 'timetztypmodout', prorettype => 'cstring', proargtypes => 'int4', 2672 prosrc => 'timetztypmodout' }, 2673{ oid => '1352', 2674 proname => 'timetz_eq', proleakproof => 't', prorettype => 'bool', 2675 proargtypes => 'timetz timetz', prosrc => 'timetz_eq' }, 2676{ oid => '1353', 2677 proname => 'timetz_ne', proleakproof => 't', prorettype => 'bool', 2678 proargtypes => 'timetz timetz', prosrc => 'timetz_ne' }, 2679{ oid => '1354', 2680 proname => 'timetz_lt', proleakproof => 't', prorettype => 'bool', 2681 proargtypes => 'timetz timetz', prosrc => 'timetz_lt' }, 2682{ oid => '1355', 2683 proname => 'timetz_le', proleakproof => 't', prorettype => 'bool', 2684 proargtypes => 'timetz timetz', prosrc => 'timetz_le' }, 2685{ oid => '1356', 2686 proname => 'timetz_ge', proleakproof => 't', prorettype => 'bool', 2687 proargtypes => 'timetz timetz', prosrc => 'timetz_ge' }, 2688{ oid => '1357', 2689 proname => 'timetz_gt', proleakproof => 't', prorettype => 'bool', 2690 proargtypes => 'timetz timetz', prosrc => 'timetz_gt' }, 2691{ oid => '1358', descr => 'less-equal-greater', 2692 proname => 'timetz_cmp', proleakproof => 't', prorettype => 'int4', 2693 proargtypes => 'timetz timetz', prosrc => 'timetz_cmp' }, 2694{ oid => '1359', 2695 descr => 'convert date and time with time zone to timestamp with time zone', 2696 proname => 'timestamptz', prorettype => 'timestamptz', 2697 proargtypes => 'date timetz', prosrc => 'datetimetz_timestamptz' }, 2698 2699{ oid => '1367', descr => 'character length', 2700 proname => 'character_length', prorettype => 'int4', proargtypes => 'bpchar', 2701 prosrc => 'bpcharlen' }, 2702{ oid => '1369', descr => 'character length', 2703 proname => 'character_length', prorettype => 'int4', proargtypes => 'text', 2704 prosrc => 'textlen' }, 2705 2706{ oid => '1370', descr => 'convert time to interval', 2707 proname => 'interval', prorettype => 'interval', proargtypes => 'time', 2708 prosrc => 'time_interval' }, 2709{ oid => '1372', descr => 'character length', 2710 proname => 'char_length', prorettype => 'int4', proargtypes => 'bpchar', 2711 prosrc => 'bpcharlen' }, 2712{ oid => '1374', descr => 'octet length', 2713 proname => 'octet_length', prorettype => 'int4', proargtypes => 'text', 2714 prosrc => 'textoctetlen' }, 2715{ oid => '1375', descr => 'octet length', 2716 proname => 'octet_length', prorettype => 'int4', proargtypes => 'bpchar', 2717 prosrc => 'bpcharoctetlen' }, 2718 2719{ oid => '1377', descr => 'larger of two', 2720 proname => 'time_larger', prorettype => 'time', proargtypes => 'time time', 2721 prosrc => 'time_larger' }, 2722{ oid => '1378', descr => 'smaller of two', 2723 proname => 'time_smaller', prorettype => 'time', proargtypes => 'time time', 2724 prosrc => 'time_smaller' }, 2725{ oid => '1379', descr => 'larger of two', 2726 proname => 'timetz_larger', prorettype => 'timetz', 2727 proargtypes => 'timetz timetz', prosrc => 'timetz_larger' }, 2728{ oid => '1380', descr => 'smaller of two', 2729 proname => 'timetz_smaller', prorettype => 'timetz', 2730 proargtypes => 'timetz timetz', prosrc => 'timetz_smaller' }, 2731 2732{ oid => '1381', descr => 'character length', 2733 proname => 'char_length', prorettype => 'int4', proargtypes => 'text', 2734 prosrc => 'textlen' }, 2735 2736{ oid => '1384', descr => 'extract field from date', 2737 proname => 'date_part', prolang => 'sql', prorettype => 'float8', 2738 proargtypes => 'text date', 2739 prosrc => 'select pg_catalog.date_part($1, cast($2 as timestamp without time zone))' }, 2740{ oid => '1385', descr => 'extract field from time', 2741 proname => 'date_part', prorettype => 'float8', proargtypes => 'text time', 2742 prosrc => 'time_part' }, 2743{ oid => '1386', 2744 descr => 'date difference from today preserving months and years', 2745 proname => 'age', prolang => 'sql', provolatile => 's', 2746 prorettype => 'interval', proargtypes => 'timestamptz', 2747 prosrc => 'select pg_catalog.age(cast(current_date as timestamp with time zone), $1)' }, 2748 2749{ oid => '1388', 2750 descr => 'convert timestamp with time zone to time with time zone', 2751 proname => 'timetz', provolatile => 's', prorettype => 'timetz', 2752 proargtypes => 'timestamptz', prosrc => 'timestamptz_timetz' }, 2753 2754{ oid => '1373', descr => 'finite date?', 2755 proname => 'isfinite', prorettype => 'bool', proargtypes => 'date', 2756 prosrc => 'date_finite' }, 2757{ oid => '1389', descr => 'finite timestamp?', 2758 proname => 'isfinite', prorettype => 'bool', proargtypes => 'timestamptz', 2759 prosrc => 'timestamp_finite' }, 2760{ oid => '1390', descr => 'finite interval?', 2761 proname => 'isfinite', prorettype => 'bool', proargtypes => 'interval', 2762 prosrc => 'interval_finite' }, 2763 2764{ oid => '1376', descr => 'factorial', 2765 proname => 'factorial', prorettype => 'numeric', proargtypes => 'int8', 2766 prosrc => 'numeric_fac' }, 2767{ oid => '1394', descr => 'absolute value', 2768 proname => 'abs', prorettype => 'float4', proargtypes => 'float4', 2769 prosrc => 'float4abs' }, 2770{ oid => '1395', descr => 'absolute value', 2771 proname => 'abs', prorettype => 'float8', proargtypes => 'float8', 2772 prosrc => 'float8abs' }, 2773{ oid => '1396', descr => 'absolute value', 2774 proname => 'abs', prorettype => 'int8', proargtypes => 'int8', 2775 prosrc => 'int8abs' }, 2776{ oid => '1397', descr => 'absolute value', 2777 proname => 'abs', prorettype => 'int4', proargtypes => 'int4', 2778 prosrc => 'int4abs' }, 2779{ oid => '1398', descr => 'absolute value', 2780 proname => 'abs', prorettype => 'int2', proargtypes => 'int2', 2781 prosrc => 'int2abs' }, 2782 2783# OIDS 1400 - 1499 2784 2785{ oid => '1400', descr => 'convert varchar to name', 2786 proname => 'name', prorettype => 'name', proargtypes => 'varchar', 2787 prosrc => 'text_name' }, 2788{ oid => '1401', descr => 'convert name to varchar', 2789 proname => 'varchar', prorettype => 'varchar', proargtypes => 'name', 2790 prosrc => 'name_text' }, 2791 2792{ oid => '1402', descr => 'current schema name', 2793 proname => 'current_schema', provolatile => 's', proparallel => 'u', 2794 prorettype => 'name', proargtypes => '', prosrc => 'current_schema' }, 2795{ oid => '1403', descr => 'current schema search list', 2796 proname => 'current_schemas', provolatile => 's', proparallel => 'u', 2797 prorettype => '_name', proargtypes => 'bool', prosrc => 'current_schemas' }, 2798 2799{ oid => '1404', descr => 'substitute portion of string', 2800 proname => 'overlay', prorettype => 'text', 2801 proargtypes => 'text text int4 int4', prosrc => 'textoverlay' }, 2802{ oid => '1405', descr => 'substitute portion of string', 2803 proname => 'overlay', prorettype => 'text', proargtypes => 'text text int4', 2804 prosrc => 'textoverlay_no_len' }, 2805 2806{ oid => '1406', descr => 'vertically aligned', 2807 proname => 'isvertical', prorettype => 'bool', proargtypes => 'point point', 2808 prosrc => 'point_vert' }, 2809{ oid => '1407', descr => 'horizontally aligned', 2810 proname => 'ishorizontal', prorettype => 'bool', proargtypes => 'point point', 2811 prosrc => 'point_horiz' }, 2812{ oid => '1408', descr => 'parallel', 2813 proname => 'isparallel', prorettype => 'bool', proargtypes => 'lseg lseg', 2814 prosrc => 'lseg_parallel' }, 2815{ oid => '1409', descr => 'perpendicular', 2816 proname => 'isperp', prorettype => 'bool', proargtypes => 'lseg lseg', 2817 prosrc => 'lseg_perp' }, 2818{ oid => '1410', descr => 'vertical', 2819 proname => 'isvertical', prorettype => 'bool', proargtypes => 'lseg', 2820 prosrc => 'lseg_vertical' }, 2821{ oid => '1411', descr => 'horizontal', 2822 proname => 'ishorizontal', prorettype => 'bool', proargtypes => 'lseg', 2823 prosrc => 'lseg_horizontal' }, 2824{ oid => '1412', descr => 'parallel', 2825 proname => 'isparallel', prorettype => 'bool', proargtypes => 'line line', 2826 prosrc => 'line_parallel' }, 2827{ oid => '1413', descr => 'perpendicular', 2828 proname => 'isperp', prorettype => 'bool', proargtypes => 'line line', 2829 prosrc => 'line_perp' }, 2830{ oid => '1414', descr => 'vertical', 2831 proname => 'isvertical', prorettype => 'bool', proargtypes => 'line', 2832 prosrc => 'line_vertical' }, 2833{ oid => '1415', descr => 'horizontal', 2834 proname => 'ishorizontal', prorettype => 'bool', proargtypes => 'line', 2835 prosrc => 'line_horizontal' }, 2836{ oid => '1416', descr => 'center of', 2837 proname => 'point', prorettype => 'point', proargtypes => 'circle', 2838 prosrc => 'circle_center' }, 2839 2840{ oid => '1419', descr => 'convert interval to time', 2841 proname => 'time', prorettype => 'time', proargtypes => 'interval', 2842 prosrc => 'interval_time' }, 2843 2844{ oid => '1421', descr => 'convert points to box', 2845 proname => 'box', prorettype => 'box', proargtypes => 'point point', 2846 prosrc => 'points_box' }, 2847{ oid => '1422', 2848 proname => 'box_add', prorettype => 'box', proargtypes => 'box point', 2849 prosrc => 'box_add' }, 2850{ oid => '1423', 2851 proname => 'box_sub', prorettype => 'box', proargtypes => 'box point', 2852 prosrc => 'box_sub' }, 2853{ oid => '1424', 2854 proname => 'box_mul', prorettype => 'box', proargtypes => 'box point', 2855 prosrc => 'box_mul' }, 2856{ oid => '1425', 2857 proname => 'box_div', prorettype => 'box', proargtypes => 'box point', 2858 prosrc => 'box_div' }, 2859{ oid => '1426', 2860 proname => 'path_contain_pt', prolang => 'sql', prorettype => 'bool', 2861 proargtypes => 'path point', prosrc => 'select pg_catalog.on_ppath($2, $1)' }, 2862{ oid => '1428', 2863 proname => 'poly_contain_pt', prorettype => 'bool', 2864 proargtypes => 'polygon point', prosrc => 'poly_contain_pt' }, 2865{ oid => '1429', 2866 proname => 'pt_contained_poly', prorettype => 'bool', 2867 proargtypes => 'point polygon', prosrc => 'pt_contained_poly' }, 2868 2869{ oid => '1430', descr => 'path closed?', 2870 proname => 'isclosed', prorettype => 'bool', proargtypes => 'path', 2871 prosrc => 'path_isclosed' }, 2872{ oid => '1431', descr => 'path open?', 2873 proname => 'isopen', prorettype => 'bool', proargtypes => 'path', 2874 prosrc => 'path_isopen' }, 2875{ oid => '1432', 2876 proname => 'path_npoints', prorettype => 'int4', proargtypes => 'path', 2877 prosrc => 'path_npoints' }, 2878 2879# pclose and popen might better be named close and open, but that crashes initdb. 2880# - thomas 97/04/20 2881{ oid => '1433', descr => 'close path', 2882 proname => 'pclose', prorettype => 'path', proargtypes => 'path', 2883 prosrc => 'path_close' }, 2884{ oid => '1434', descr => 'open path', 2885 proname => 'popen', prorettype => 'path', proargtypes => 'path', 2886 prosrc => 'path_open' }, 2887 2888{ oid => '1435', 2889 proname => 'path_add', prorettype => 'path', proargtypes => 'path path', 2890 prosrc => 'path_add' }, 2891{ oid => '1436', 2892 proname => 'path_add_pt', prorettype => 'path', proargtypes => 'path point', 2893 prosrc => 'path_add_pt' }, 2894{ oid => '1437', 2895 proname => 'path_sub_pt', prorettype => 'path', proargtypes => 'path point', 2896 prosrc => 'path_sub_pt' }, 2897{ oid => '1438', 2898 proname => 'path_mul_pt', prorettype => 'path', proargtypes => 'path point', 2899 prosrc => 'path_mul_pt' }, 2900{ oid => '1439', 2901 proname => 'path_div_pt', prorettype => 'path', proargtypes => 'path point', 2902 prosrc => 'path_div_pt' }, 2903 2904{ oid => '1440', descr => 'convert x, y to point', 2905 proname => 'point', prorettype => 'point', proargtypes => 'float8 float8', 2906 prosrc => 'construct_point' }, 2907{ oid => '1441', 2908 proname => 'point_add', prorettype => 'point', proargtypes => 'point point', 2909 prosrc => 'point_add' }, 2910{ oid => '1442', 2911 proname => 'point_sub', prorettype => 'point', proargtypes => 'point point', 2912 prosrc => 'point_sub' }, 2913{ oid => '1443', 2914 proname => 'point_mul', prorettype => 'point', proargtypes => 'point point', 2915 prosrc => 'point_mul' }, 2916{ oid => '1444', 2917 proname => 'point_div', prorettype => 'point', proargtypes => 'point point', 2918 prosrc => 'point_div' }, 2919 2920{ oid => '1445', 2921 proname => 'poly_npoints', prorettype => 'int4', proargtypes => 'polygon', 2922 prosrc => 'poly_npoints' }, 2923{ oid => '1446', descr => 'convert polygon to bounding box', 2924 proname => 'box', prorettype => 'box', proargtypes => 'polygon', 2925 prosrc => 'poly_box' }, 2926{ oid => '1447', descr => 'convert polygon to path', 2927 proname => 'path', prorettype => 'path', proargtypes => 'polygon', 2928 prosrc => 'poly_path' }, 2929{ oid => '1448', descr => 'convert box to polygon', 2930 proname => 'polygon', prorettype => 'polygon', proargtypes => 'box', 2931 prosrc => 'box_poly' }, 2932{ oid => '1449', descr => 'convert path to polygon', 2933 proname => 'polygon', prorettype => 'polygon', proargtypes => 'path', 2934 prosrc => 'path_poly' }, 2935 2936{ oid => '1450', descr => 'I/O', 2937 proname => 'circle_in', prorettype => 'circle', proargtypes => 'cstring', 2938 prosrc => 'circle_in' }, 2939{ oid => '1451', descr => 'I/O', 2940 proname => 'circle_out', prorettype => 'cstring', proargtypes => 'circle', 2941 prosrc => 'circle_out' }, 2942{ oid => '1452', 2943 proname => 'circle_same', prorettype => 'bool', 2944 proargtypes => 'circle circle', prosrc => 'circle_same' }, 2945{ oid => '1453', 2946 proname => 'circle_contain', prorettype => 'bool', 2947 proargtypes => 'circle circle', prosrc => 'circle_contain' }, 2948{ oid => '1454', 2949 proname => 'circle_left', prorettype => 'bool', 2950 proargtypes => 'circle circle', prosrc => 'circle_left' }, 2951{ oid => '1455', 2952 proname => 'circle_overleft', prorettype => 'bool', 2953 proargtypes => 'circle circle', prosrc => 'circle_overleft' }, 2954{ oid => '1456', 2955 proname => 'circle_overright', prorettype => 'bool', 2956 proargtypes => 'circle circle', prosrc => 'circle_overright' }, 2957{ oid => '1457', 2958 proname => 'circle_right', prorettype => 'bool', 2959 proargtypes => 'circle circle', prosrc => 'circle_right' }, 2960{ oid => '1458', 2961 proname => 'circle_contained', prorettype => 'bool', 2962 proargtypes => 'circle circle', prosrc => 'circle_contained' }, 2963{ oid => '1459', 2964 proname => 'circle_overlap', prorettype => 'bool', 2965 proargtypes => 'circle circle', prosrc => 'circle_overlap' }, 2966{ oid => '1460', 2967 proname => 'circle_below', prorettype => 'bool', 2968 proargtypes => 'circle circle', prosrc => 'circle_below' }, 2969{ oid => '1461', 2970 proname => 'circle_above', prorettype => 'bool', 2971 proargtypes => 'circle circle', prosrc => 'circle_above' }, 2972{ oid => '1462', 2973 proname => 'circle_eq', proleakproof => 't', prorettype => 'bool', 2974 proargtypes => 'circle circle', prosrc => 'circle_eq' }, 2975{ oid => '1463', 2976 proname => 'circle_ne', proleakproof => 't', prorettype => 'bool', 2977 proargtypes => 'circle circle', prosrc => 'circle_ne' }, 2978{ oid => '1464', 2979 proname => 'circle_lt', proleakproof => 't', prorettype => 'bool', 2980 proargtypes => 'circle circle', prosrc => 'circle_lt' }, 2981{ oid => '1465', 2982 proname => 'circle_gt', proleakproof => 't', prorettype => 'bool', 2983 proargtypes => 'circle circle', prosrc => 'circle_gt' }, 2984{ oid => '1466', 2985 proname => 'circle_le', proleakproof => 't', prorettype => 'bool', 2986 proargtypes => 'circle circle', prosrc => 'circle_le' }, 2987{ oid => '1467', 2988 proname => 'circle_ge', proleakproof => 't', prorettype => 'bool', 2989 proargtypes => 'circle circle', prosrc => 'circle_ge' }, 2990{ oid => '1468', descr => 'area of circle', 2991 proname => 'area', prorettype => 'float8', proargtypes => 'circle', 2992 prosrc => 'circle_area' }, 2993{ oid => '1469', descr => 'diameter of circle', 2994 proname => 'diameter', prorettype => 'float8', proargtypes => 'circle', 2995 prosrc => 'circle_diameter' }, 2996{ oid => '1470', descr => 'radius of circle', 2997 proname => 'radius', prorettype => 'float8', proargtypes => 'circle', 2998 prosrc => 'circle_radius' }, 2999{ oid => '1471', 3000 proname => 'circle_distance', prorettype => 'float8', 3001 proargtypes => 'circle circle', prosrc => 'circle_distance' }, 3002{ oid => '1472', 3003 proname => 'circle_center', prorettype => 'point', proargtypes => 'circle', 3004 prosrc => 'circle_center' }, 3005{ oid => '1473', descr => 'convert point and radius to circle', 3006 proname => 'circle', prorettype => 'circle', proargtypes => 'point float8', 3007 prosrc => 'cr_circle' }, 3008{ oid => '1474', descr => 'convert polygon to circle', 3009 proname => 'circle', prorettype => 'circle', proargtypes => 'polygon', 3010 prosrc => 'poly_circle' }, 3011{ oid => '1475', descr => 'convert vertex count and circle to polygon', 3012 proname => 'polygon', prorettype => 'polygon', proargtypes => 'int4 circle', 3013 prosrc => 'circle_poly' }, 3014{ oid => '1476', 3015 proname => 'dist_pc', prorettype => 'float8', proargtypes => 'point circle', 3016 prosrc => 'dist_pc' }, 3017{ oid => '1477', 3018 proname => 'circle_contain_pt', prorettype => 'bool', 3019 proargtypes => 'circle point', prosrc => 'circle_contain_pt' }, 3020{ oid => '1478', 3021 proname => 'pt_contained_circle', prorettype => 'bool', 3022 proargtypes => 'point circle', prosrc => 'pt_contained_circle' }, 3023{ oid => '4091', descr => 'convert point to empty box', 3024 proname => 'box', prorettype => 'box', proargtypes => 'point', 3025 prosrc => 'point_box' }, 3026{ oid => '1479', descr => 'convert box to circle', 3027 proname => 'circle', prorettype => 'circle', proargtypes => 'box', 3028 prosrc => 'box_circle' }, 3029{ oid => '1480', descr => 'convert circle to box', 3030 proname => 'box', prorettype => 'box', proargtypes => 'circle', 3031 prosrc => 'circle_box' }, 3032 3033{ oid => '1482', 3034 proname => 'lseg_ne', proleakproof => 't', prorettype => 'bool', 3035 proargtypes => 'lseg lseg', prosrc => 'lseg_ne' }, 3036{ oid => '1483', 3037 proname => 'lseg_lt', proleakproof => 't', prorettype => 'bool', 3038 proargtypes => 'lseg lseg', prosrc => 'lseg_lt' }, 3039{ oid => '1484', 3040 proname => 'lseg_le', proleakproof => 't', prorettype => 'bool', 3041 proargtypes => 'lseg lseg', prosrc => 'lseg_le' }, 3042{ oid => '1485', 3043 proname => 'lseg_gt', proleakproof => 't', prorettype => 'bool', 3044 proargtypes => 'lseg lseg', prosrc => 'lseg_gt' }, 3045{ oid => '1486', 3046 proname => 'lseg_ge', proleakproof => 't', prorettype => 'bool', 3047 proargtypes => 'lseg lseg', prosrc => 'lseg_ge' }, 3048{ oid => '1487', 3049 proname => 'lseg_length', prorettype => 'float8', proargtypes => 'lseg', 3050 prosrc => 'lseg_length' }, 3051{ oid => '1488', 3052 proname => 'close_ls', prorettype => 'point', proargtypes => 'line lseg', 3053 prosrc => 'close_ls' }, 3054{ oid => '1489', 3055 proname => 'close_lseg', prorettype => 'point', proargtypes => 'lseg lseg', 3056 prosrc => 'close_lseg' }, 3057 3058{ oid => '1490', descr => 'I/O', 3059 proname => 'line_in', prorettype => 'line', proargtypes => 'cstring', 3060 prosrc => 'line_in' }, 3061{ oid => '1491', descr => 'I/O', 3062 proname => 'line_out', prorettype => 'cstring', proargtypes => 'line', 3063 prosrc => 'line_out' }, 3064{ oid => '1492', 3065 proname => 'line_eq', prorettype => 'bool', proargtypes => 'line line', 3066 prosrc => 'line_eq' }, 3067{ oid => '1493', descr => 'construct line from points', 3068 proname => 'line', prorettype => 'line', proargtypes => 'point point', 3069 prosrc => 'line_construct_pp' }, 3070{ oid => '1494', 3071 proname => 'line_interpt', prorettype => 'point', proargtypes => 'line line', 3072 prosrc => 'line_interpt' }, 3073{ oid => '1495', 3074 proname => 'line_intersect', prorettype => 'bool', proargtypes => 'line line', 3075 prosrc => 'line_intersect' }, 3076{ oid => '1496', 3077 proname => 'line_parallel', prorettype => 'bool', proargtypes => 'line line', 3078 prosrc => 'line_parallel' }, 3079{ oid => '1497', 3080 proname => 'line_perp', prorettype => 'bool', proargtypes => 'line line', 3081 prosrc => 'line_perp' }, 3082{ oid => '1498', 3083 proname => 'line_vertical', prorettype => 'bool', proargtypes => 'line', 3084 prosrc => 'line_vertical' }, 3085{ oid => '1499', 3086 proname => 'line_horizontal', prorettype => 'bool', proargtypes => 'line', 3087 prosrc => 'line_horizontal' }, 3088 3089# OIDS 1500 - 1599 3090 3091{ oid => '1530', descr => 'distance between endpoints', 3092 proname => 'length', prorettype => 'float8', proargtypes => 'lseg', 3093 prosrc => 'lseg_length' }, 3094{ oid => '1531', descr => 'sum of path segments', 3095 proname => 'length', prorettype => 'float8', proargtypes => 'path', 3096 prosrc => 'path_length' }, 3097 3098{ oid => '1532', descr => 'center of', 3099 proname => 'point', prorettype => 'point', proargtypes => 'lseg', 3100 prosrc => 'lseg_center' }, 3101{ oid => '1533', descr => 'center of', 3102 proname => 'point', prorettype => 'point', proargtypes => 'path', 3103 prosrc => 'path_center' }, 3104{ oid => '1534', descr => 'center of', 3105 proname => 'point', prorettype => 'point', proargtypes => 'box', 3106 prosrc => 'box_center' }, 3107{ oid => '1540', descr => 'center of', 3108 proname => 'point', prorettype => 'point', proargtypes => 'polygon', 3109 prosrc => 'poly_center' }, 3110{ oid => '1541', descr => 'diagonal of', 3111 proname => 'lseg', prorettype => 'lseg', proargtypes => 'box', 3112 prosrc => 'box_diagonal' }, 3113{ oid => '1542', descr => 'center of', 3114 proname => 'center', prorettype => 'point', proargtypes => 'box', 3115 prosrc => 'box_center' }, 3116{ oid => '1543', descr => 'center of', 3117 proname => 'center', prorettype => 'point', proargtypes => 'circle', 3118 prosrc => 'circle_center' }, 3119{ oid => '1544', descr => 'convert circle to 12-vertex polygon', 3120 proname => 'polygon', prolang => 'sql', prorettype => 'polygon', 3121 proargtypes => 'circle', prosrc => 'select pg_catalog.polygon(12, $1)' }, 3122{ oid => '1545', descr => 'number of points', 3123 proname => 'npoints', prorettype => 'int4', proargtypes => 'path', 3124 prosrc => 'path_npoints' }, 3125{ oid => '1556', descr => 'number of points', 3126 proname => 'npoints', prorettype => 'int4', proargtypes => 'polygon', 3127 prosrc => 'poly_npoints' }, 3128 3129{ oid => '1564', descr => 'I/O', 3130 proname => 'bit_in', prorettype => 'bit', proargtypes => 'cstring oid int4', 3131 prosrc => 'bit_in' }, 3132{ oid => '1565', descr => 'I/O', 3133 proname => 'bit_out', prorettype => 'cstring', proargtypes => 'bit', 3134 prosrc => 'bit_out' }, 3135{ oid => '2919', descr => 'I/O typmod', 3136 proname => 'bittypmodin', prorettype => 'int4', proargtypes => '_cstring', 3137 prosrc => 'bittypmodin' }, 3138{ oid => '2920', descr => 'I/O typmod', 3139 proname => 'bittypmodout', prorettype => 'cstring', proargtypes => 'int4', 3140 prosrc => 'bittypmodout' }, 3141 3142{ oid => '1569', descr => 'matches LIKE expression', 3143 proname => 'like', prosupport => 'textlike_support', prorettype => 'bool', 3144 proargtypes => 'text text', prosrc => 'textlike' }, 3145{ oid => '1570', descr => 'does not match LIKE expression', 3146 proname => 'notlike', prorettype => 'bool', proargtypes => 'text text', 3147 prosrc => 'textnlike' }, 3148{ oid => '1571', descr => 'matches LIKE expression', 3149 proname => 'like', prosupport => 'textlike_support', prorettype => 'bool', 3150 proargtypes => 'name text', prosrc => 'namelike' }, 3151{ oid => '1572', descr => 'does not match LIKE expression', 3152 proname => 'notlike', prorettype => 'bool', proargtypes => 'name text', 3153 prosrc => 'namenlike' }, 3154 3155# SEQUENCE functions 3156{ oid => '1574', descr => 'sequence next value', 3157 proname => 'nextval', provolatile => 'v', proparallel => 'u', 3158 prorettype => 'int8', proargtypes => 'regclass', prosrc => 'nextval_oid' }, 3159{ oid => '1575', descr => 'sequence current value', 3160 proname => 'currval', provolatile => 'v', proparallel => 'u', 3161 prorettype => 'int8', proargtypes => 'regclass', prosrc => 'currval_oid' }, 3162{ oid => '1576', descr => 'set sequence value', 3163 proname => 'setval', provolatile => 'v', proparallel => 'u', 3164 prorettype => 'int8', proargtypes => 'regclass int8', 3165 prosrc => 'setval_oid' }, 3166{ oid => '1765', descr => 'set sequence value and is_called status', 3167 proname => 'setval', provolatile => 'v', proparallel => 'u', 3168 prorettype => 'int8', proargtypes => 'regclass int8 bool', 3169 prosrc => 'setval3_oid' }, 3170{ oid => '3078', 3171 descr => 'sequence parameters, for use by information schema', 3172 proname => 'pg_sequence_parameters', provolatile => 's', 3173 prorettype => 'record', proargtypes => 'oid', 3174 proallargtypes => '{oid,int8,int8,int8,int8,bool,int8,oid}', 3175 proargmodes => '{i,o,o,o,o,o,o,o}', 3176 proargnames => '{sequence_oid,start_value,minimum_value,maximum_value,increment,cycle_option,cache_size,data_type}', 3177 prosrc => 'pg_sequence_parameters' }, 3178{ oid => '4032', descr => 'sequence last value', 3179 proname => 'pg_sequence_last_value', provolatile => 'v', proparallel => 'u', 3180 prorettype => 'int8', proargtypes => 'regclass', 3181 prosrc => 'pg_sequence_last_value' }, 3182 3183{ oid => '275', descr => 'return the next oid for a system table', 3184 proname => 'pg_nextoid', provolatile => 'v', proparallel => 'u', 3185 prorettype => 'oid', proargtypes => 'regclass name regclass', 3186 prosrc => 'pg_nextoid' }, 3187 3188{ oid => '1579', descr => 'I/O', 3189 proname => 'varbit_in', prorettype => 'varbit', 3190 proargtypes => 'cstring oid int4', prosrc => 'varbit_in' }, 3191{ oid => '1580', descr => 'I/O', 3192 proname => 'varbit_out', prorettype => 'cstring', proargtypes => 'varbit', 3193 prosrc => 'varbit_out' }, 3194{ oid => '2902', descr => 'I/O typmod', 3195 proname => 'varbittypmodin', prorettype => 'int4', proargtypes => '_cstring', 3196 prosrc => 'varbittypmodin' }, 3197{ oid => '2921', descr => 'I/O typmod', 3198 proname => 'varbittypmodout', prorettype => 'cstring', proargtypes => 'int4', 3199 prosrc => 'varbittypmodout' }, 3200 3201{ oid => '1581', 3202 proname => 'biteq', proleakproof => 't', prorettype => 'bool', 3203 proargtypes => 'bit bit', prosrc => 'biteq' }, 3204{ oid => '1582', 3205 proname => 'bitne', proleakproof => 't', prorettype => 'bool', 3206 proargtypes => 'bit bit', prosrc => 'bitne' }, 3207{ oid => '1592', 3208 proname => 'bitge', proleakproof => 't', prorettype => 'bool', 3209 proargtypes => 'bit bit', prosrc => 'bitge' }, 3210{ oid => '1593', 3211 proname => 'bitgt', proleakproof => 't', prorettype => 'bool', 3212 proargtypes => 'bit bit', prosrc => 'bitgt' }, 3213{ oid => '1594', 3214 proname => 'bitle', proleakproof => 't', prorettype => 'bool', 3215 proargtypes => 'bit bit', prosrc => 'bitle' }, 3216{ oid => '1595', 3217 proname => 'bitlt', proleakproof => 't', prorettype => 'bool', 3218 proargtypes => 'bit bit', prosrc => 'bitlt' }, 3219{ oid => '1596', descr => 'less-equal-greater', 3220 proname => 'bitcmp', proleakproof => 't', prorettype => 'int4', 3221 proargtypes => 'bit bit', prosrc => 'bitcmp' }, 3222 3223{ oid => '1598', descr => 'random value', 3224 proname => 'random', provolatile => 'v', proparallel => 'r', 3225 prorettype => 'float8', proargtypes => '', prosrc => 'drandom' }, 3226{ oid => '1599', descr => 'set random seed', 3227 proname => 'setseed', provolatile => 'v', proparallel => 'r', 3228 prorettype => 'void', proargtypes => 'float8', prosrc => 'setseed' }, 3229 3230# OIDS 1600 - 1699 3231 3232{ oid => '1600', descr => 'arcsine', 3233 proname => 'asin', prorettype => 'float8', proargtypes => 'float8', 3234 prosrc => 'dasin' }, 3235{ oid => '1601', descr => 'arccosine', 3236 proname => 'acos', prorettype => 'float8', proargtypes => 'float8', 3237 prosrc => 'dacos' }, 3238{ oid => '1602', descr => 'arctangent', 3239 proname => 'atan', prorettype => 'float8', proargtypes => 'float8', 3240 prosrc => 'datan' }, 3241{ oid => '1603', descr => 'arctangent, two arguments', 3242 proname => 'atan2', prorettype => 'float8', proargtypes => 'float8 float8', 3243 prosrc => 'datan2' }, 3244{ oid => '1604', descr => 'sine', 3245 proname => 'sin', prorettype => 'float8', proargtypes => 'float8', 3246 prosrc => 'dsin' }, 3247{ oid => '1605', descr => 'cosine', 3248 proname => 'cos', prorettype => 'float8', proargtypes => 'float8', 3249 prosrc => 'dcos' }, 3250{ oid => '1606', descr => 'tangent', 3251 proname => 'tan', prorettype => 'float8', proargtypes => 'float8', 3252 prosrc => 'dtan' }, 3253{ oid => '1607', descr => 'cotangent', 3254 proname => 'cot', prorettype => 'float8', proargtypes => 'float8', 3255 prosrc => 'dcot' }, 3256 3257{ oid => '2731', descr => 'arcsine, degrees', 3258 proname => 'asind', prorettype => 'float8', proargtypes => 'float8', 3259 prosrc => 'dasind' }, 3260{ oid => '2732', descr => 'arccosine, degrees', 3261 proname => 'acosd', prorettype => 'float8', proargtypes => 'float8', 3262 prosrc => 'dacosd' }, 3263{ oid => '2733', descr => 'arctangent, degrees', 3264 proname => 'atand', prorettype => 'float8', proargtypes => 'float8', 3265 prosrc => 'datand' }, 3266{ oid => '2734', descr => 'arctangent, two arguments, degrees', 3267 proname => 'atan2d', prorettype => 'float8', proargtypes => 'float8 float8', 3268 prosrc => 'datan2d' }, 3269{ oid => '2735', descr => 'sine, degrees', 3270 proname => 'sind', prorettype => 'float8', proargtypes => 'float8', 3271 prosrc => 'dsind' }, 3272{ oid => '2736', descr => 'cosine, degrees', 3273 proname => 'cosd', prorettype => 'float8', proargtypes => 'float8', 3274 prosrc => 'dcosd' }, 3275{ oid => '2737', descr => 'tangent, degrees', 3276 proname => 'tand', prorettype => 'float8', proargtypes => 'float8', 3277 prosrc => 'dtand' }, 3278{ oid => '2738', descr => 'cotangent, degrees', 3279 proname => 'cotd', prorettype => 'float8', proargtypes => 'float8', 3280 prosrc => 'dcotd' }, 3281 3282{ oid => '1608', descr => 'radians to degrees', 3283 proname => 'degrees', prorettype => 'float8', proargtypes => 'float8', 3284 prosrc => 'degrees' }, 3285{ oid => '1609', descr => 'degrees to radians', 3286 proname => 'radians', prorettype => 'float8', proargtypes => 'float8', 3287 prosrc => 'radians' }, 3288{ oid => '1610', descr => 'PI', 3289 proname => 'pi', prorettype => 'float8', proargtypes => '', prosrc => 'dpi' }, 3290 3291{ oid => '2462', descr => 'hyperbolic sine', 3292 proname => 'sinh', prorettype => 'float8', proargtypes => 'float8', 3293 prosrc => 'dsinh' }, 3294{ oid => '2463', descr => 'hyperbolic cosine', 3295 proname => 'cosh', prorettype => 'float8', proargtypes => 'float8', 3296 prosrc => 'dcosh' }, 3297{ oid => '2464', descr => 'hyperbolic tangent', 3298 proname => 'tanh', prorettype => 'float8', proargtypes => 'float8', 3299 prosrc => 'dtanh' }, 3300{ oid => '2465', descr => 'inverse hyperbolic sine', 3301 proname => 'asinh', prorettype => 'float8', proargtypes => 'float8', 3302 prosrc => 'dasinh' }, 3303{ oid => '2466', descr => 'inverse hyperbolic cosine', 3304 proname => 'acosh', prorettype => 'float8', proargtypes => 'float8', 3305 prosrc => 'dacosh' }, 3306{ oid => '2467', descr => 'inverse hyperbolic tangent', 3307 proname => 'atanh', prorettype => 'float8', proargtypes => 'float8', 3308 prosrc => 'datanh' }, 3309 3310{ oid => '1618', 3311 proname => 'interval_mul', prorettype => 'interval', 3312 proargtypes => 'interval float8', prosrc => 'interval_mul' }, 3313 3314{ oid => '1620', descr => 'convert first char to int4', 3315 proname => 'ascii', prorettype => 'int4', proargtypes => 'text', 3316 prosrc => 'ascii' }, 3317{ oid => '1621', descr => 'convert int4 to char', 3318 proname => 'chr', prorettype => 'text', proargtypes => 'int4', 3319 prosrc => 'chr' }, 3320{ oid => '1622', descr => 'replicate string n times', 3321 proname => 'repeat', prorettype => 'text', proargtypes => 'text int4', 3322 prosrc => 'repeat' }, 3323 3324{ oid => '1623', descr => 'convert SQL99 regexp pattern to POSIX style', 3325 proname => 'similar_escape', proisstrict => 'f', prorettype => 'text', 3326 proargtypes => 'text text', prosrc => 'similar_escape' }, 3327 3328{ oid => '1624', 3329 proname => 'mul_d_interval', prorettype => 'interval', 3330 proargtypes => 'float8 interval', prosrc => 'mul_d_interval' }, 3331 3332{ oid => '1631', 3333 proname => 'bpcharlike', prosupport => 'textlike_support', 3334 prorettype => 'bool', proargtypes => 'bpchar text', prosrc => 'textlike' }, 3335{ oid => '1632', 3336 proname => 'bpcharnlike', prorettype => 'bool', proargtypes => 'bpchar text', 3337 prosrc => 'textnlike' }, 3338 3339{ oid => '1633', 3340 proname => 'texticlike', prosupport => 'texticlike_support', 3341 prorettype => 'bool', proargtypes => 'text text', prosrc => 'texticlike' }, 3342{ oid => '1025', descr => 'planner support for texticlike', 3343 proname => 'texticlike_support', prorettype => 'internal', 3344 proargtypes => 'internal', prosrc => 'texticlike_support' }, 3345{ oid => '1634', 3346 proname => 'texticnlike', prorettype => 'bool', proargtypes => 'text text', 3347 prosrc => 'texticnlike' }, 3348{ oid => '1635', 3349 proname => 'nameiclike', prosupport => 'texticlike_support', 3350 prorettype => 'bool', proargtypes => 'name text', prosrc => 'nameiclike' }, 3351{ oid => '1636', 3352 proname => 'nameicnlike', prorettype => 'bool', proargtypes => 'name text', 3353 prosrc => 'nameicnlike' }, 3354{ oid => '1637', descr => 'convert LIKE pattern to use backslash escapes', 3355 proname => 'like_escape', prorettype => 'text', proargtypes => 'text text', 3356 prosrc => 'like_escape' }, 3357 3358{ oid => '1656', 3359 proname => 'bpcharicregexeq', prosupport => 'texticregexeq_support', 3360 prorettype => 'bool', proargtypes => 'bpchar text', 3361 prosrc => 'texticregexeq' }, 3362{ oid => '1657', 3363 proname => 'bpcharicregexne', prorettype => 'bool', 3364 proargtypes => 'bpchar text', prosrc => 'texticregexne' }, 3365{ oid => '1658', 3366 proname => 'bpcharregexeq', prosupport => 'textregexeq_support', 3367 prorettype => 'bool', proargtypes => 'bpchar text', prosrc => 'textregexeq' }, 3368{ oid => '1659', 3369 proname => 'bpcharregexne', prorettype => 'bool', 3370 proargtypes => 'bpchar text', prosrc => 'textregexne' }, 3371{ oid => '1660', 3372 proname => 'bpchariclike', prosupport => 'texticlike_support', 3373 prorettype => 'bool', proargtypes => 'bpchar text', prosrc => 'texticlike' }, 3374{ oid => '1661', 3375 proname => 'bpcharicnlike', prorettype => 'bool', 3376 proargtypes => 'bpchar text', prosrc => 'texticnlike' }, 3377 3378# Oracle Compatibility Related Functions - By Edmund Mergl <E.Mergl@bawue.de> 3379{ oid => '868', descr => 'position of substring', 3380 proname => 'strpos', prorettype => 'int4', proargtypes => 'text text', 3381 prosrc => 'textpos' }, 3382{ oid => '870', descr => 'lowercase', 3383 proname => 'lower', prorettype => 'text', proargtypes => 'text', 3384 prosrc => 'lower' }, 3385{ oid => '871', descr => 'uppercase', 3386 proname => 'upper', prorettype => 'text', proargtypes => 'text', 3387 prosrc => 'upper' }, 3388{ oid => '872', descr => 'capitalize each word', 3389 proname => 'initcap', prorettype => 'text', proargtypes => 'text', 3390 prosrc => 'initcap' }, 3391{ oid => '873', descr => 'left-pad string to length', 3392 proname => 'lpad', prorettype => 'text', proargtypes => 'text int4 text', 3393 prosrc => 'lpad' }, 3394{ oid => '874', descr => 'right-pad string to length', 3395 proname => 'rpad', prorettype => 'text', proargtypes => 'text int4 text', 3396 prosrc => 'rpad' }, 3397{ oid => '875', descr => 'trim selected characters from left end of string', 3398 proname => 'ltrim', prorettype => 'text', proargtypes => 'text text', 3399 prosrc => 'ltrim' }, 3400{ oid => '876', descr => 'trim selected characters from right end of string', 3401 proname => 'rtrim', prorettype => 'text', proargtypes => 'text text', 3402 prosrc => 'rtrim' }, 3403{ oid => '877', descr => 'extract portion of string', 3404 proname => 'substr', prorettype => 'text', proargtypes => 'text int4 int4', 3405 prosrc => 'text_substr' }, 3406{ oid => '878', descr => 'map a set of characters appearing in string', 3407 proname => 'translate', prorettype => 'text', proargtypes => 'text text text', 3408 prosrc => 'translate' }, 3409{ oid => '879', descr => 'left-pad string to length', 3410 proname => 'lpad', prolang => 'sql', prorettype => 'text', 3411 proargtypes => 'text int4', 3412 prosrc => 'select pg_catalog.lpad($1, $2, \' \')' }, 3413{ oid => '880', descr => 'right-pad string to length', 3414 proname => 'rpad', prolang => 'sql', prorettype => 'text', 3415 proargtypes => 'text int4', 3416 prosrc => 'select pg_catalog.rpad($1, $2, \' \')' }, 3417{ oid => '881', descr => 'trim spaces from left end of string', 3418 proname => 'ltrim', prorettype => 'text', proargtypes => 'text', 3419 prosrc => 'ltrim1' }, 3420{ oid => '882', descr => 'trim spaces from right end of string', 3421 proname => 'rtrim', prorettype => 'text', proargtypes => 'text', 3422 prosrc => 'rtrim1' }, 3423{ oid => '883', descr => 'extract portion of string', 3424 proname => 'substr', prorettype => 'text', proargtypes => 'text int4', 3425 prosrc => 'text_substr_no_len' }, 3426{ oid => '884', descr => 'trim selected characters from both ends of string', 3427 proname => 'btrim', prorettype => 'text', proargtypes => 'text text', 3428 prosrc => 'btrim' }, 3429{ oid => '885', descr => 'trim spaces from both ends of string', 3430 proname => 'btrim', prorettype => 'text', proargtypes => 'text', 3431 prosrc => 'btrim1' }, 3432 3433{ oid => '936', descr => 'extract portion of string', 3434 proname => 'substring', prorettype => 'text', proargtypes => 'text int4 int4', 3435 prosrc => 'text_substr' }, 3436{ oid => '937', descr => 'extract portion of string', 3437 proname => 'substring', prorettype => 'text', proargtypes => 'text int4', 3438 prosrc => 'text_substr_no_len' }, 3439{ oid => '2087', 3440 descr => 'replace all occurrences in string of old_substr with new_substr', 3441 proname => 'replace', prorettype => 'text', proargtypes => 'text text text', 3442 prosrc => 'replace_text' }, 3443{ oid => '2284', descr => 'replace text using regexp', 3444 proname => 'regexp_replace', prorettype => 'text', 3445 proargtypes => 'text text text', prosrc => 'textregexreplace_noopt' }, 3446{ oid => '2285', descr => 'replace text using regexp', 3447 proname => 'regexp_replace', prorettype => 'text', 3448 proargtypes => 'text text text text', prosrc => 'textregexreplace' }, 3449{ oid => '3396', descr => 'find first match for regexp', 3450 proname => 'regexp_match', prorettype => '_text', proargtypes => 'text text', 3451 prosrc => 'regexp_match_no_flags' }, 3452{ oid => '3397', descr => 'find first match for regexp', 3453 proname => 'regexp_match', prorettype => '_text', 3454 proargtypes => 'text text text', prosrc => 'regexp_match' }, 3455{ oid => '2763', descr => 'find match(es) for regexp', 3456 proname => 'regexp_matches', prorows => '1', proretset => 't', 3457 prorettype => '_text', proargtypes => 'text text', 3458 prosrc => 'regexp_matches_no_flags' }, 3459{ oid => '2764', descr => 'find match(es) for regexp', 3460 proname => 'regexp_matches', prorows => '10', proretset => 't', 3461 prorettype => '_text', proargtypes => 'text text text', 3462 prosrc => 'regexp_matches' }, 3463{ oid => '2088', descr => 'split string by field_sep and return field_num', 3464 proname => 'split_part', prorettype => 'text', 3465 proargtypes => 'text text int4', prosrc => 'split_text' }, 3466{ oid => '2765', descr => 'split string by pattern', 3467 proname => 'regexp_split_to_table', prorows => '1000', proretset => 't', 3468 prorettype => 'text', proargtypes => 'text text', 3469 prosrc => 'regexp_split_to_table_no_flags' }, 3470{ oid => '2766', descr => 'split string by pattern', 3471 proname => 'regexp_split_to_table', prorows => '1000', proretset => 't', 3472 prorettype => 'text', proargtypes => 'text text text', 3473 prosrc => 'regexp_split_to_table' }, 3474{ oid => '2767', descr => 'split string by pattern', 3475 proname => 'regexp_split_to_array', prorettype => '_text', 3476 proargtypes => 'text text', prosrc => 'regexp_split_to_array_no_flags' }, 3477{ oid => '2768', descr => 'split string by pattern', 3478 proname => 'regexp_split_to_array', prorettype => '_text', 3479 proargtypes => 'text text text', prosrc => 'regexp_split_to_array' }, 3480{ oid => '2089', descr => 'convert int4 number to hex', 3481 proname => 'to_hex', prorettype => 'text', proargtypes => 'int4', 3482 prosrc => 'to_hex32' }, 3483{ oid => '2090', descr => 'convert int8 number to hex', 3484 proname => 'to_hex', prorettype => 'text', proargtypes => 'int8', 3485 prosrc => 'to_hex64' }, 3486 3487# for character set encoding support 3488 3489# return database encoding name 3490{ oid => '1039', descr => 'encoding name of current database', 3491 proname => 'getdatabaseencoding', provolatile => 's', prorettype => 'name', 3492 proargtypes => '', prosrc => 'getdatabaseencoding' }, 3493 3494# return client encoding name i.e. session encoding 3495{ oid => '810', descr => 'encoding name of current database', 3496 proname => 'pg_client_encoding', provolatile => 's', prorettype => 'name', 3497 proargtypes => '', prosrc => 'pg_client_encoding' }, 3498 3499{ oid => '1713', descr => 'length of string in specified encoding', 3500 proname => 'length', provolatile => 's', prorettype => 'int4', 3501 proargtypes => 'bytea name', prosrc => 'length_in_encoding' }, 3502 3503{ oid => '1714', 3504 descr => 'convert string with specified source encoding name', 3505 proname => 'convert_from', provolatile => 's', prorettype => 'text', 3506 proargtypes => 'bytea name', prosrc => 'pg_convert_from' }, 3507 3508{ oid => '1717', 3509 descr => 'convert string with specified destination encoding name', 3510 proname => 'convert_to', provolatile => 's', prorettype => 'bytea', 3511 proargtypes => 'text name', prosrc => 'pg_convert_to' }, 3512 3513{ oid => '1813', descr => 'convert string with specified encoding names', 3514 proname => 'convert', provolatile => 's', prorettype => 'bytea', 3515 proargtypes => 'bytea name name', prosrc => 'pg_convert' }, 3516 3517{ oid => '1264', descr => 'convert encoding name to encoding id', 3518 proname => 'pg_char_to_encoding', provolatile => 's', prorettype => 'int4', 3519 proargtypes => 'name', prosrc => 'PG_char_to_encoding' }, 3520 3521{ oid => '1597', descr => 'convert encoding id to encoding name', 3522 proname => 'pg_encoding_to_char', provolatile => 's', prorettype => 'name', 3523 proargtypes => 'int4', prosrc => 'PG_encoding_to_char' }, 3524 3525{ oid => '2319', 3526 descr => 'maximum octet length of a character in given encoding', 3527 proname => 'pg_encoding_max_length', prorettype => 'int4', 3528 proargtypes => 'int4', prosrc => 'pg_encoding_max_length_sql' }, 3529 3530{ oid => '1638', 3531 proname => 'oidgt', proleakproof => 't', prorettype => 'bool', 3532 proargtypes => 'oid oid', prosrc => 'oidgt' }, 3533{ oid => '1639', 3534 proname => 'oidge', proleakproof => 't', prorettype => 'bool', 3535 proargtypes => 'oid oid', prosrc => 'oidge' }, 3536 3537# System-view support functions 3538{ oid => '1573', descr => 'source text of a rule', 3539 proname => 'pg_get_ruledef', provolatile => 's', prorettype => 'text', 3540 proargtypes => 'oid', prosrc => 'pg_get_ruledef' }, 3541{ oid => '1640', descr => 'select statement of a view', 3542 proname => 'pg_get_viewdef', provolatile => 's', proparallel => 'r', 3543 prorettype => 'text', proargtypes => 'text', 3544 prosrc => 'pg_get_viewdef_name' }, 3545{ oid => '1641', descr => 'select statement of a view', 3546 proname => 'pg_get_viewdef', provolatile => 's', proparallel => 'r', 3547 prorettype => 'text', proargtypes => 'oid', prosrc => 'pg_get_viewdef' }, 3548{ oid => '1642', descr => 'role name by OID (with fallback)', 3549 proname => 'pg_get_userbyid', provolatile => 's', prorettype => 'name', 3550 proargtypes => 'oid', prosrc => 'pg_get_userbyid' }, 3551{ oid => '1643', descr => 'index description', 3552 proname => 'pg_get_indexdef', provolatile => 's', prorettype => 'text', 3553 proargtypes => 'oid', prosrc => 'pg_get_indexdef' }, 3554{ oid => '3415', descr => 'extended statistics object description', 3555 proname => 'pg_get_statisticsobjdef', provolatile => 's', 3556 prorettype => 'text', proargtypes => 'oid', 3557 prosrc => 'pg_get_statisticsobjdef' }, 3558{ oid => '3352', descr => 'partition key description', 3559 proname => 'pg_get_partkeydef', provolatile => 's', prorettype => 'text', 3560 proargtypes => 'oid', prosrc => 'pg_get_partkeydef' }, 3561{ oid => '3408', descr => 'partition constraint description', 3562 proname => 'pg_get_partition_constraintdef', provolatile => 's', 3563 prorettype => 'text', proargtypes => 'oid', 3564 prosrc => 'pg_get_partition_constraintdef' }, 3565{ oid => '1662', descr => 'trigger description', 3566 proname => 'pg_get_triggerdef', provolatile => 's', prorettype => 'text', 3567 proargtypes => 'oid', prosrc => 'pg_get_triggerdef' }, 3568{ oid => '1387', descr => 'constraint description', 3569 proname => 'pg_get_constraintdef', provolatile => 's', prorettype => 'text', 3570 proargtypes => 'oid', prosrc => 'pg_get_constraintdef' }, 3571{ oid => '1716', descr => 'deparse an encoded expression', 3572 proname => 'pg_get_expr', provolatile => 's', prorettype => 'text', 3573 proargtypes => 'pg_node_tree oid', prosrc => 'pg_get_expr' }, 3574{ oid => '1665', descr => 'name of sequence for a serial column', 3575 proname => 'pg_get_serial_sequence', provolatile => 's', prorettype => 'text', 3576 proargtypes => 'text text', prosrc => 'pg_get_serial_sequence' }, 3577{ oid => '2098', descr => 'definition of a function', 3578 proname => 'pg_get_functiondef', provolatile => 's', prorettype => 'text', 3579 proargtypes => 'oid', prosrc => 'pg_get_functiondef' }, 3580{ oid => '2162', descr => 'argument list of a function', 3581 proname => 'pg_get_function_arguments', provolatile => 's', 3582 prorettype => 'text', proargtypes => 'oid', 3583 prosrc => 'pg_get_function_arguments' }, 3584{ oid => '2232', descr => 'identity argument list of a function', 3585 proname => 'pg_get_function_identity_arguments', provolatile => 's', 3586 prorettype => 'text', proargtypes => 'oid', 3587 prosrc => 'pg_get_function_identity_arguments' }, 3588{ oid => '2165', descr => 'result type of a function', 3589 proname => 'pg_get_function_result', provolatile => 's', prorettype => 'text', 3590 proargtypes => 'oid', prosrc => 'pg_get_function_result' }, 3591{ oid => '3808', descr => 'function argument default', 3592 proname => 'pg_get_function_arg_default', provolatile => 's', 3593 prorettype => 'text', proargtypes => 'oid int4', 3594 prosrc => 'pg_get_function_arg_default' }, 3595 3596{ oid => '1686', descr => 'list of SQL keywords', 3597 proname => 'pg_get_keywords', procost => '10', prorows => '400', 3598 proretset => 't', provolatile => 's', prorettype => 'record', 3599 proargtypes => '', proallargtypes => '{text,char,text}', 3600 proargmodes => '{o,o,o}', proargnames => '{word,catcode,catdesc}', 3601 prosrc => 'pg_get_keywords' }, 3602 3603{ oid => '2289', descr => 'convert generic options array to name/value table', 3604 proname => 'pg_options_to_table', prorows => '3', proretset => 't', 3605 provolatile => 's', prorettype => 'record', proargtypes => '_text', 3606 proallargtypes => '{_text,text,text}', proargmodes => '{i,o,o}', 3607 proargnames => '{options_array,option_name,option_value}', 3608 prosrc => 'pg_options_to_table' }, 3609 3610{ oid => '1619', descr => 'type of the argument', 3611 proname => 'pg_typeof', proisstrict => 'f', provolatile => 's', 3612 prorettype => 'regtype', proargtypes => 'any', prosrc => 'pg_typeof' }, 3613{ oid => '3162', 3614 descr => 'collation of the argument; implementation of the COLLATION FOR expression', 3615 proname => 'pg_collation_for', proisstrict => 'f', provolatile => 's', 3616 prorettype => 'text', proargtypes => 'any', prosrc => 'pg_collation_for' }, 3617 3618{ oid => '3842', descr => 'is a relation insertable/updatable/deletable', 3619 proname => 'pg_relation_is_updatable', procost => '10', provolatile => 's', 3620 prorettype => 'int4', proargtypes => 'regclass bool', 3621 prosrc => 'pg_relation_is_updatable' }, 3622{ oid => '3843', descr => 'is a column updatable', 3623 proname => 'pg_column_is_updatable', procost => '10', provolatile => 's', 3624 prorettype => 'bool', proargtypes => 'regclass int2 bool', 3625 prosrc => 'pg_column_is_updatable' }, 3626 3627{ oid => '6120', descr => 'oid of replica identity index if any', 3628 proname => 'pg_get_replica_identity_index', procost => '10', 3629 provolatile => 's', prorettype => 'regclass', proargtypes => 'regclass', 3630 prosrc => 'pg_get_replica_identity_index' }, 3631 3632# Deferrable unique constraint trigger 3633{ oid => '1250', descr => 'deferred UNIQUE constraint check', 3634 proname => 'unique_key_recheck', provolatile => 'v', prorettype => 'trigger', 3635 proargtypes => '', prosrc => 'unique_key_recheck' }, 3636 3637# Generic referential integrity constraint triggers 3638{ oid => '1644', descr => 'referential integrity FOREIGN KEY ... REFERENCES', 3639 proname => 'RI_FKey_check_ins', provolatile => 'v', prorettype => 'trigger', 3640 proargtypes => '', prosrc => 'RI_FKey_check_ins' }, 3641{ oid => '1645', descr => 'referential integrity FOREIGN KEY ... REFERENCES', 3642 proname => 'RI_FKey_check_upd', provolatile => 'v', prorettype => 'trigger', 3643 proargtypes => '', prosrc => 'RI_FKey_check_upd' }, 3644{ oid => '1646', descr => 'referential integrity ON DELETE CASCADE', 3645 proname => 'RI_FKey_cascade_del', provolatile => 'v', prorettype => 'trigger', 3646 proargtypes => '', prosrc => 'RI_FKey_cascade_del' }, 3647{ oid => '1647', descr => 'referential integrity ON UPDATE CASCADE', 3648 proname => 'RI_FKey_cascade_upd', provolatile => 'v', prorettype => 'trigger', 3649 proargtypes => '', prosrc => 'RI_FKey_cascade_upd' }, 3650{ oid => '1648', descr => 'referential integrity ON DELETE RESTRICT', 3651 proname => 'RI_FKey_restrict_del', provolatile => 'v', 3652 prorettype => 'trigger', proargtypes => '', 3653 prosrc => 'RI_FKey_restrict_del' }, 3654{ oid => '1649', descr => 'referential integrity ON UPDATE RESTRICT', 3655 proname => 'RI_FKey_restrict_upd', provolatile => 'v', 3656 prorettype => 'trigger', proargtypes => '', 3657 prosrc => 'RI_FKey_restrict_upd' }, 3658{ oid => '1650', descr => 'referential integrity ON DELETE SET NULL', 3659 proname => 'RI_FKey_setnull_del', provolatile => 'v', prorettype => 'trigger', 3660 proargtypes => '', prosrc => 'RI_FKey_setnull_del' }, 3661{ oid => '1651', descr => 'referential integrity ON UPDATE SET NULL', 3662 proname => 'RI_FKey_setnull_upd', provolatile => 'v', prorettype => 'trigger', 3663 proargtypes => '', prosrc => 'RI_FKey_setnull_upd' }, 3664{ oid => '1652', descr => 'referential integrity ON DELETE SET DEFAULT', 3665 proname => 'RI_FKey_setdefault_del', provolatile => 'v', 3666 prorettype => 'trigger', proargtypes => '', 3667 prosrc => 'RI_FKey_setdefault_del' }, 3668{ oid => '1653', descr => 'referential integrity ON UPDATE SET DEFAULT', 3669 proname => 'RI_FKey_setdefault_upd', provolatile => 'v', 3670 prorettype => 'trigger', proargtypes => '', 3671 prosrc => 'RI_FKey_setdefault_upd' }, 3672{ oid => '1654', descr => 'referential integrity ON DELETE NO ACTION', 3673 proname => 'RI_FKey_noaction_del', provolatile => 'v', 3674 prorettype => 'trigger', proargtypes => '', 3675 prosrc => 'RI_FKey_noaction_del' }, 3676{ oid => '1655', descr => 'referential integrity ON UPDATE NO ACTION', 3677 proname => 'RI_FKey_noaction_upd', provolatile => 'v', 3678 prorettype => 'trigger', proargtypes => '', 3679 prosrc => 'RI_FKey_noaction_upd' }, 3680 3681{ oid => '1666', 3682 proname => 'varbiteq', proleakproof => 't', prorettype => 'bool', 3683 proargtypes => 'varbit varbit', prosrc => 'biteq' }, 3684{ oid => '1667', 3685 proname => 'varbitne', proleakproof => 't', prorettype => 'bool', 3686 proargtypes => 'varbit varbit', prosrc => 'bitne' }, 3687{ oid => '1668', 3688 proname => 'varbitge', proleakproof => 't', prorettype => 'bool', 3689 proargtypes => 'varbit varbit', prosrc => 'bitge' }, 3690{ oid => '1669', 3691 proname => 'varbitgt', proleakproof => 't', prorettype => 'bool', 3692 proargtypes => 'varbit varbit', prosrc => 'bitgt' }, 3693{ oid => '1670', 3694 proname => 'varbitle', proleakproof => 't', prorettype => 'bool', 3695 proargtypes => 'varbit varbit', prosrc => 'bitle' }, 3696{ oid => '1671', 3697 proname => 'varbitlt', proleakproof => 't', prorettype => 'bool', 3698 proargtypes => 'varbit varbit', prosrc => 'bitlt' }, 3699{ oid => '1672', descr => 'less-equal-greater', 3700 proname => 'varbitcmp', proleakproof => 't', prorettype => 'int4', 3701 proargtypes => 'varbit varbit', prosrc => 'bitcmp' }, 3702 3703# avoid the C names bitand and bitor, since they are C++ keywords 3704{ oid => '1673', 3705 proname => 'bitand', prorettype => 'bit', proargtypes => 'bit bit', 3706 prosrc => 'bit_and' }, 3707{ oid => '1674', 3708 proname => 'bitor', prorettype => 'bit', proargtypes => 'bit bit', 3709 prosrc => 'bit_or' }, 3710{ oid => '1675', 3711 proname => 'bitxor', prorettype => 'bit', proargtypes => 'bit bit', 3712 prosrc => 'bitxor' }, 3713{ oid => '1676', 3714 proname => 'bitnot', prorettype => 'bit', proargtypes => 'bit', 3715 prosrc => 'bitnot' }, 3716{ oid => '1677', 3717 proname => 'bitshiftleft', prorettype => 'bit', proargtypes => 'bit int4', 3718 prosrc => 'bitshiftleft' }, 3719{ oid => '1678', 3720 proname => 'bitshiftright', prorettype => 'bit', proargtypes => 'bit int4', 3721 prosrc => 'bitshiftright' }, 3722{ oid => '1679', 3723 proname => 'bitcat', prorettype => 'varbit', proargtypes => 'varbit varbit', 3724 prosrc => 'bitcat' }, 3725{ oid => '1680', descr => 'extract portion of bitstring', 3726 proname => 'substring', prorettype => 'bit', proargtypes => 'bit int4 int4', 3727 prosrc => 'bitsubstr' }, 3728{ oid => '1681', descr => 'bitstring length', 3729 proname => 'length', prorettype => 'int4', proargtypes => 'bit', 3730 prosrc => 'bitlength' }, 3731{ oid => '1682', descr => 'octet length', 3732 proname => 'octet_length', prorettype => 'int4', proargtypes => 'bit', 3733 prosrc => 'bitoctetlength' }, 3734{ oid => '1683', descr => 'convert int4 to bitstring', 3735 proname => 'bit', prorettype => 'bit', proargtypes => 'int4 int4', 3736 prosrc => 'bitfromint4' }, 3737{ oid => '1684', descr => 'convert bitstring to int4', 3738 proname => 'int4', prorettype => 'int4', proargtypes => 'bit', 3739 prosrc => 'bittoint4' }, 3740 3741{ oid => '1685', descr => 'adjust bit() to typmod length', 3742 proname => 'bit', prorettype => 'bit', proargtypes => 'bit int4 bool', 3743 prosrc => 'bit' }, 3744{ oid => '3158', descr => 'planner support for varbit length coercion', 3745 proname => 'varbit_support', prorettype => 'internal', 3746 proargtypes => 'internal', prosrc => 'varbit_support' }, 3747{ oid => '1687', descr => 'adjust varbit() to typmod length', 3748 proname => 'varbit', prosupport => 'varbit_support', prorettype => 'varbit', 3749 proargtypes => 'varbit int4 bool', prosrc => 'varbit' }, 3750 3751{ oid => '1698', descr => 'position of sub-bitstring', 3752 proname => 'position', prorettype => 'int4', proargtypes => 'bit bit', 3753 prosrc => 'bitposition' }, 3754{ oid => '1699', descr => 'extract portion of bitstring', 3755 proname => 'substring', prorettype => 'bit', proargtypes => 'bit int4', 3756 prosrc => 'bitsubstr_no_len' }, 3757 3758{ oid => '3030', descr => 'substitute portion of bitstring', 3759 proname => 'overlay', prorettype => 'bit', proargtypes => 'bit bit int4 int4', 3760 prosrc => 'bitoverlay' }, 3761{ oid => '3031', descr => 'substitute portion of bitstring', 3762 proname => 'overlay', prorettype => 'bit', proargtypes => 'bit bit int4', 3763 prosrc => 'bitoverlay_no_len' }, 3764{ oid => '3032', descr => 'get bit', 3765 proname => 'get_bit', prorettype => 'int4', proargtypes => 'bit int4', 3766 prosrc => 'bitgetbit' }, 3767{ oid => '3033', descr => 'set bit', 3768 proname => 'set_bit', prorettype => 'bit', proargtypes => 'bit int4 int4', 3769 prosrc => 'bitsetbit' }, 3770 3771# for macaddr type support 3772{ oid => '436', descr => 'I/O', 3773 proname => 'macaddr_in', prorettype => 'macaddr', proargtypes => 'cstring', 3774 prosrc => 'macaddr_in' }, 3775{ oid => '437', descr => 'I/O', 3776 proname => 'macaddr_out', prorettype => 'cstring', proargtypes => 'macaddr', 3777 prosrc => 'macaddr_out' }, 3778 3779{ oid => '753', descr => 'MACADDR manufacturer fields', 3780 proname => 'trunc', prorettype => 'macaddr', proargtypes => 'macaddr', 3781 prosrc => 'macaddr_trunc' }, 3782 3783{ oid => '830', 3784 proname => 'macaddr_eq', proleakproof => 't', prorettype => 'bool', 3785 proargtypes => 'macaddr macaddr', prosrc => 'macaddr_eq' }, 3786{ oid => '831', 3787 proname => 'macaddr_lt', proleakproof => 't', prorettype => 'bool', 3788 proargtypes => 'macaddr macaddr', prosrc => 'macaddr_lt' }, 3789{ oid => '832', 3790 proname => 'macaddr_le', proleakproof => 't', prorettype => 'bool', 3791 proargtypes => 'macaddr macaddr', prosrc => 'macaddr_le' }, 3792{ oid => '833', 3793 proname => 'macaddr_gt', proleakproof => 't', prorettype => 'bool', 3794 proargtypes => 'macaddr macaddr', prosrc => 'macaddr_gt' }, 3795{ oid => '834', 3796 proname => 'macaddr_ge', proleakproof => 't', prorettype => 'bool', 3797 proargtypes => 'macaddr macaddr', prosrc => 'macaddr_ge' }, 3798{ oid => '835', 3799 proname => 'macaddr_ne', proleakproof => 't', prorettype => 'bool', 3800 proargtypes => 'macaddr macaddr', prosrc => 'macaddr_ne' }, 3801{ oid => '836', descr => 'less-equal-greater', 3802 proname => 'macaddr_cmp', proleakproof => 't', prorettype => 'int4', 3803 proargtypes => 'macaddr macaddr', prosrc => 'macaddr_cmp' }, 3804{ oid => '3144', 3805 proname => 'macaddr_not', prorettype => 'macaddr', proargtypes => 'macaddr', 3806 prosrc => 'macaddr_not' }, 3807{ oid => '3145', 3808 proname => 'macaddr_and', prorettype => 'macaddr', 3809 proargtypes => 'macaddr macaddr', prosrc => 'macaddr_and' }, 3810{ oid => '3146', 3811 proname => 'macaddr_or', prorettype => 'macaddr', 3812 proargtypes => 'macaddr macaddr', prosrc => 'macaddr_or' }, 3813{ oid => '3359', descr => 'sort support', 3814 proname => 'macaddr_sortsupport', prorettype => 'void', 3815 proargtypes => 'internal', prosrc => 'macaddr_sortsupport' }, 3816 3817# for macaddr8 type support 3818{ oid => '4110', descr => 'I/O', 3819 proname => 'macaddr8_in', prorettype => 'macaddr8', proargtypes => 'cstring', 3820 prosrc => 'macaddr8_in' }, 3821{ oid => '4111', descr => 'I/O', 3822 proname => 'macaddr8_out', prorettype => 'cstring', proargtypes => 'macaddr8', 3823 prosrc => 'macaddr8_out' }, 3824 3825{ oid => '4112', descr => 'MACADDR8 manufacturer fields', 3826 proname => 'trunc', prorettype => 'macaddr8', proargtypes => 'macaddr8', 3827 prosrc => 'macaddr8_trunc' }, 3828 3829{ oid => '4113', 3830 proname => 'macaddr8_eq', proleakproof => 't', prorettype => 'bool', 3831 proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_eq' }, 3832{ oid => '4114', 3833 proname => 'macaddr8_lt', proleakproof => 't', prorettype => 'bool', 3834 proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_lt' }, 3835{ oid => '4115', 3836 proname => 'macaddr8_le', proleakproof => 't', prorettype => 'bool', 3837 proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_le' }, 3838{ oid => '4116', 3839 proname => 'macaddr8_gt', proleakproof => 't', prorettype => 'bool', 3840 proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_gt' }, 3841{ oid => '4117', 3842 proname => 'macaddr8_ge', proleakproof => 't', prorettype => 'bool', 3843 proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_ge' }, 3844{ oid => '4118', 3845 proname => 'macaddr8_ne', proleakproof => 't', prorettype => 'bool', 3846 proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_ne' }, 3847{ oid => '4119', descr => 'less-equal-greater', 3848 proname => 'macaddr8_cmp', proleakproof => 't', prorettype => 'int4', 3849 proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_cmp' }, 3850{ oid => '4120', 3851 proname => 'macaddr8_not', prorettype => 'macaddr8', 3852 proargtypes => 'macaddr8', prosrc => 'macaddr8_not' }, 3853{ oid => '4121', 3854 proname => 'macaddr8_and', prorettype => 'macaddr8', 3855 proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_and' }, 3856{ oid => '4122', 3857 proname => 'macaddr8_or', prorettype => 'macaddr8', 3858 proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_or' }, 3859{ oid => '4123', descr => 'convert macaddr to macaddr8', 3860 proname => 'macaddr8', prorettype => 'macaddr8', proargtypes => 'macaddr', 3861 prosrc => 'macaddrtomacaddr8' }, 3862{ oid => '4124', descr => 'convert macaddr8 to macaddr', 3863 proname => 'macaddr', prorettype => 'macaddr', proargtypes => 'macaddr8', 3864 prosrc => 'macaddr8tomacaddr' }, 3865{ oid => '4125', descr => 'set 7th bit in macaddr8', 3866 proname => 'macaddr8_set7bit', prorettype => 'macaddr8', 3867 proargtypes => 'macaddr8', prosrc => 'macaddr8_set7bit' }, 3868 3869# for inet type support 3870{ oid => '910', descr => 'I/O', 3871 proname => 'inet_in', prorettype => 'inet', proargtypes => 'cstring', 3872 prosrc => 'inet_in' }, 3873{ oid => '911', descr => 'I/O', 3874 proname => 'inet_out', prorettype => 'cstring', proargtypes => 'inet', 3875 prosrc => 'inet_out' }, 3876 3877# for cidr type support 3878{ oid => '1267', descr => 'I/O', 3879 proname => 'cidr_in', prorettype => 'cidr', proargtypes => 'cstring', 3880 prosrc => 'cidr_in' }, 3881{ oid => '1427', descr => 'I/O', 3882 proname => 'cidr_out', prorettype => 'cstring', proargtypes => 'cidr', 3883 prosrc => 'cidr_out' }, 3884 3885# these are used for both inet and cidr 3886{ oid => '920', 3887 proname => 'network_eq', proleakproof => 't', prorettype => 'bool', 3888 proargtypes => 'inet inet', prosrc => 'network_eq' }, 3889{ oid => '921', 3890 proname => 'network_lt', proleakproof => 't', prorettype => 'bool', 3891 proargtypes => 'inet inet', prosrc => 'network_lt' }, 3892{ oid => '922', 3893 proname => 'network_le', proleakproof => 't', prorettype => 'bool', 3894 proargtypes => 'inet inet', prosrc => 'network_le' }, 3895{ oid => '923', 3896 proname => 'network_gt', proleakproof => 't', prorettype => 'bool', 3897 proargtypes => 'inet inet', prosrc => 'network_gt' }, 3898{ oid => '924', 3899 proname => 'network_ge', proleakproof => 't', prorettype => 'bool', 3900 proargtypes => 'inet inet', prosrc => 'network_ge' }, 3901{ oid => '925', 3902 proname => 'network_ne', proleakproof => 't', prorettype => 'bool', 3903 proargtypes => 'inet inet', prosrc => 'network_ne' }, 3904{ oid => '3562', descr => 'larger of two', 3905 proname => 'network_larger', prorettype => 'inet', proargtypes => 'inet inet', 3906 prosrc => 'network_larger' }, 3907{ oid => '3563', descr => 'smaller of two', 3908 proname => 'network_smaller', prorettype => 'inet', 3909 proargtypes => 'inet inet', prosrc => 'network_smaller' }, 3910{ oid => '926', descr => 'less-equal-greater', 3911 proname => 'network_cmp', proleakproof => 't', prorettype => 'int4', 3912 proargtypes => 'inet inet', prosrc => 'network_cmp' }, 3913{ oid => '927', 3914 proname => 'network_sub', prosupport => 'network_subset_support', 3915 prorettype => 'bool', proargtypes => 'inet inet', prosrc => 'network_sub' }, 3916{ oid => '928', 3917 proname => 'network_subeq', prosupport => 'network_subset_support', 3918 prorettype => 'bool', proargtypes => 'inet inet', prosrc => 'network_subeq' }, 3919{ oid => '929', 3920 proname => 'network_sup', prosupport => 'network_subset_support', 3921 prorettype => 'bool', proargtypes => 'inet inet', prosrc => 'network_sup' }, 3922{ oid => '930', 3923 proname => 'network_supeq', prosupport => 'network_subset_support', 3924 prorettype => 'bool', proargtypes => 'inet inet', prosrc => 'network_supeq' }, 3925{ oid => '1173', descr => 'planner support for network_sub/superset', 3926 proname => 'network_subset_support', prorettype => 'internal', 3927 proargtypes => 'internal', prosrc => 'network_subset_support' }, 3928 3929{ oid => '3551', 3930 proname => 'network_overlap', prorettype => 'bool', 3931 proargtypes => 'inet inet', prosrc => 'network_overlap' }, 3932 3933# inet/cidr functions 3934{ oid => '598', descr => 'abbreviated display of inet value', 3935 proname => 'abbrev', prorettype => 'text', proargtypes => 'inet', 3936 prosrc => 'inet_abbrev' }, 3937{ oid => '599', descr => 'abbreviated display of cidr value', 3938 proname => 'abbrev', prorettype => 'text', proargtypes => 'cidr', 3939 prosrc => 'cidr_abbrev' }, 3940{ oid => '605', descr => 'change netmask of inet', 3941 proname => 'set_masklen', prorettype => 'inet', proargtypes => 'inet int4', 3942 prosrc => 'inet_set_masklen' }, 3943{ oid => '635', descr => 'change netmask of cidr', 3944 proname => 'set_masklen', prorettype => 'cidr', proargtypes => 'cidr int4', 3945 prosrc => 'cidr_set_masklen' }, 3946{ oid => '711', descr => 'address family (4 for IPv4, 6 for IPv6)', 3947 proname => 'family', prorettype => 'int4', proargtypes => 'inet', 3948 prosrc => 'network_family' }, 3949{ oid => '683', descr => 'network part of address', 3950 proname => 'network', prorettype => 'cidr', proargtypes => 'inet', 3951 prosrc => 'network_network' }, 3952{ oid => '696', descr => 'netmask of address', 3953 proname => 'netmask', prorettype => 'inet', proargtypes => 'inet', 3954 prosrc => 'network_netmask' }, 3955{ oid => '697', descr => 'netmask length', 3956 proname => 'masklen', prorettype => 'int4', proargtypes => 'inet', 3957 prosrc => 'network_masklen' }, 3958{ oid => '698', descr => 'broadcast address of network', 3959 proname => 'broadcast', prorettype => 'inet', proargtypes => 'inet', 3960 prosrc => 'network_broadcast' }, 3961{ oid => '699', descr => 'show address octets only', 3962 proname => 'host', prorettype => 'text', proargtypes => 'inet', 3963 prosrc => 'network_host' }, 3964{ oid => '730', descr => 'show all parts of inet/cidr value', 3965 proname => 'text', prorettype => 'text', proargtypes => 'inet', 3966 prosrc => 'network_show' }, 3967{ oid => '1362', descr => 'hostmask of address', 3968 proname => 'hostmask', prorettype => 'inet', proargtypes => 'inet', 3969 prosrc => 'network_hostmask' }, 3970{ oid => '1715', descr => 'convert inet to cidr', 3971 proname => 'cidr', prorettype => 'cidr', proargtypes => 'inet', 3972 prosrc => 'inet_to_cidr' }, 3973 3974{ oid => '2196', descr => 'inet address of the client', 3975 proname => 'inet_client_addr', proisstrict => 'f', provolatile => 's', 3976 proparallel => 'r', prorettype => 'inet', proargtypes => '', 3977 prosrc => 'inet_client_addr' }, 3978{ oid => '2197', descr => 'client\'s port number for this connection', 3979 proname => 'inet_client_port', proisstrict => 'f', provolatile => 's', 3980 proparallel => 'r', prorettype => 'int4', proargtypes => '', 3981 prosrc => 'inet_client_port' }, 3982{ oid => '2198', descr => 'inet address of the server', 3983 proname => 'inet_server_addr', proisstrict => 'f', provolatile => 's', 3984 prorettype => 'inet', proargtypes => '', prosrc => 'inet_server_addr' }, 3985{ oid => '2199', descr => 'server\'s port number for this connection', 3986 proname => 'inet_server_port', proisstrict => 'f', provolatile => 's', 3987 prorettype => 'int4', proargtypes => '', prosrc => 'inet_server_port' }, 3988 3989{ oid => '2627', 3990 proname => 'inetnot', prorettype => 'inet', proargtypes => 'inet', 3991 prosrc => 'inetnot' }, 3992{ oid => '2628', 3993 proname => 'inetand', prorettype => 'inet', proargtypes => 'inet inet', 3994 prosrc => 'inetand' }, 3995{ oid => '2629', 3996 proname => 'inetor', prorettype => 'inet', proargtypes => 'inet inet', 3997 prosrc => 'inetor' }, 3998{ oid => '2630', 3999 proname => 'inetpl', prorettype => 'inet', proargtypes => 'inet int8', 4000 prosrc => 'inetpl' }, 4001{ oid => '2631', 4002 proname => 'int8pl_inet', prolang => 'sql', prorettype => 'inet', 4003 proargtypes => 'int8 inet', prosrc => 'select $2 + $1' }, 4004{ oid => '2632', 4005 proname => 'inetmi_int8', prorettype => 'inet', proargtypes => 'inet int8', 4006 prosrc => 'inetmi_int8' }, 4007{ oid => '2633', 4008 proname => 'inetmi', prorettype => 'int8', proargtypes => 'inet inet', 4009 prosrc => 'inetmi' }, 4010{ oid => '4071', descr => 'are the addresses from the same family?', 4011 proname => 'inet_same_family', prorettype => 'bool', 4012 proargtypes => 'inet inet', prosrc => 'inet_same_family' }, 4013{ oid => '4063', 4014 descr => 'the smallest network which includes both of the given networks', 4015 proname => 'inet_merge', prorettype => 'cidr', proargtypes => 'inet inet', 4016 prosrc => 'inet_merge' }, 4017 4018# GiST support for inet and cidr 4019{ oid => '3553', descr => 'GiST support', 4020 proname => 'inet_gist_consistent', prorettype => 'bool', 4021 proargtypes => 'internal inet int2 oid internal', 4022 prosrc => 'inet_gist_consistent' }, 4023{ oid => '3554', descr => 'GiST support', 4024 proname => 'inet_gist_union', prorettype => 'inet', 4025 proargtypes => 'internal internal', prosrc => 'inet_gist_union' }, 4026{ oid => '3555', descr => 'GiST support', 4027 proname => 'inet_gist_compress', prorettype => 'internal', 4028 proargtypes => 'internal', prosrc => 'inet_gist_compress' }, 4029{ oid => '3573', descr => 'GiST support', 4030 proname => 'inet_gist_fetch', prorettype => 'internal', 4031 proargtypes => 'internal', prosrc => 'inet_gist_fetch' }, 4032{ oid => '3557', descr => 'GiST support', 4033 proname => 'inet_gist_penalty', prorettype => 'internal', 4034 proargtypes => 'internal internal internal', prosrc => 'inet_gist_penalty' }, 4035{ oid => '3558', descr => 'GiST support', 4036 proname => 'inet_gist_picksplit', prorettype => 'internal', 4037 proargtypes => 'internal internal', prosrc => 'inet_gist_picksplit' }, 4038{ oid => '3559', descr => 'GiST support', 4039 proname => 'inet_gist_same', prorettype => 'internal', 4040 proargtypes => 'inet inet internal', prosrc => 'inet_gist_same' }, 4041 4042# SP-GiST support for inet and cidr 4043{ oid => '3795', descr => 'SP-GiST support', 4044 proname => 'inet_spg_config', prorettype => 'void', 4045 proargtypes => 'internal internal', prosrc => 'inet_spg_config' }, 4046{ oid => '3796', descr => 'SP-GiST support', 4047 proname => 'inet_spg_choose', prorettype => 'void', 4048 proargtypes => 'internal internal', prosrc => 'inet_spg_choose' }, 4049{ oid => '3797', descr => 'SP-GiST support', 4050 proname => 'inet_spg_picksplit', prorettype => 'void', 4051 proargtypes => 'internal internal', prosrc => 'inet_spg_picksplit' }, 4052{ oid => '3798', descr => 'SP-GiST support', 4053 proname => 'inet_spg_inner_consistent', prorettype => 'void', 4054 proargtypes => 'internal internal', prosrc => 'inet_spg_inner_consistent' }, 4055{ oid => '3799', descr => 'SP-GiST support', 4056 proname => 'inet_spg_leaf_consistent', prorettype => 'bool', 4057 proargtypes => 'internal internal', prosrc => 'inet_spg_leaf_consistent' }, 4058 4059# Selectivity estimation for inet and cidr 4060{ oid => '3560', descr => 'restriction selectivity for network operators', 4061 proname => 'networksel', provolatile => 's', prorettype => 'float8', 4062 proargtypes => 'internal oid internal int4', prosrc => 'networksel' }, 4063{ oid => '3561', descr => 'join selectivity for network operators', 4064 proname => 'networkjoinsel', provolatile => 's', prorettype => 'float8', 4065 proargtypes => 'internal oid internal int2 internal', 4066 prosrc => 'networkjoinsel' }, 4067 4068{ oid => '1690', 4069 proname => 'time_mi_time', prorettype => 'interval', 4070 proargtypes => 'time time', prosrc => 'time_mi_time' }, 4071 4072{ oid => '1691', 4073 proname => 'boolle', proleakproof => 't', prorettype => 'bool', 4074 proargtypes => 'bool bool', prosrc => 'boolle' }, 4075{ oid => '1692', 4076 proname => 'boolge', proleakproof => 't', prorettype => 'bool', 4077 proargtypes => 'bool bool', prosrc => 'boolge' }, 4078{ oid => '1693', descr => 'less-equal-greater', 4079 proname => 'btboolcmp', proleakproof => 't', prorettype => 'int4', 4080 proargtypes => 'bool bool', prosrc => 'btboolcmp' }, 4081 4082{ oid => '1688', descr => 'hash', 4083 proname => 'time_hash', prorettype => 'int4', proargtypes => 'time', 4084 prosrc => 'time_hash' }, 4085{ oid => '3409', descr => 'hash', 4086 proname => 'time_hash_extended', prorettype => 'int8', 4087 proargtypes => 'time int8', prosrc => 'time_hash_extended' }, 4088{ oid => '1696', descr => 'hash', 4089 proname => 'timetz_hash', prorettype => 'int4', proargtypes => 'timetz', 4090 prosrc => 'timetz_hash' }, 4091{ oid => '3410', descr => 'hash', 4092 proname => 'timetz_hash_extended', prorettype => 'int8', 4093 proargtypes => 'timetz int8', prosrc => 'timetz_hash_extended' }, 4094{ oid => '1697', descr => 'hash', 4095 proname => 'interval_hash', prorettype => 'int4', proargtypes => 'interval', 4096 prosrc => 'interval_hash' }, 4097{ oid => '3418', descr => 'hash', 4098 proname => 'interval_hash_extended', prorettype => 'int8', 4099 proargtypes => 'interval int8', prosrc => 'interval_hash_extended' }, 4100 4101# OID's 1700 - 1799 NUMERIC data type 4102 4103{ oid => '1701', descr => 'I/O', 4104 proname => 'numeric_in', prorettype => 'numeric', 4105 proargtypes => 'cstring oid int4', prosrc => 'numeric_in' }, 4106{ oid => '1702', descr => 'I/O', 4107 proname => 'numeric_out', prorettype => 'cstring', proargtypes => 'numeric', 4108 prosrc => 'numeric_out' }, 4109{ oid => '2917', descr => 'I/O typmod', 4110 proname => 'numerictypmodin', prorettype => 'int4', proargtypes => '_cstring', 4111 prosrc => 'numerictypmodin' }, 4112{ oid => '2918', descr => 'I/O typmod', 4113 proname => 'numerictypmodout', prorettype => 'cstring', proargtypes => 'int4', 4114 prosrc => 'numerictypmodout' }, 4115{ oid => '3157', descr => 'planner support for numeric length coercion', 4116 proname => 'numeric_support', prorettype => 'internal', 4117 proargtypes => 'internal', prosrc => 'numeric_support' }, 4118{ oid => '1703', descr => 'adjust numeric to typmod precision/scale', 4119 proname => 'numeric', prosupport => 'numeric_support', 4120 prorettype => 'numeric', proargtypes => 'numeric int4', prosrc => 'numeric' }, 4121{ oid => '1704', 4122 proname => 'numeric_abs', prorettype => 'numeric', proargtypes => 'numeric', 4123 prosrc => 'numeric_abs' }, 4124{ oid => '1705', descr => 'absolute value', 4125 proname => 'abs', prorettype => 'numeric', proargtypes => 'numeric', 4126 prosrc => 'numeric_abs' }, 4127{ oid => '1706', descr => 'sign of value', 4128 proname => 'sign', prorettype => 'numeric', proargtypes => 'numeric', 4129 prosrc => 'numeric_sign' }, 4130{ oid => '1707', descr => 'value rounded to \'scale\'', 4131 proname => 'round', prorettype => 'numeric', proargtypes => 'numeric int4', 4132 prosrc => 'numeric_round' }, 4133{ oid => '1708', descr => 'value rounded to \'scale\' of zero', 4134 proname => 'round', prolang => 'sql', prorettype => 'numeric', 4135 proargtypes => 'numeric', prosrc => 'select pg_catalog.round($1,0)' }, 4136{ oid => '1709', descr => 'value truncated to \'scale\'', 4137 proname => 'trunc', prorettype => 'numeric', proargtypes => 'numeric int4', 4138 prosrc => 'numeric_trunc' }, 4139{ oid => '1710', descr => 'value truncated to \'scale\' of zero', 4140 proname => 'trunc', prolang => 'sql', prorettype => 'numeric', 4141 proargtypes => 'numeric', prosrc => 'select pg_catalog.trunc($1,0)' }, 4142{ oid => '1711', descr => 'nearest integer >= value', 4143 proname => 'ceil', prorettype => 'numeric', proargtypes => 'numeric', 4144 prosrc => 'numeric_ceil' }, 4145{ oid => '2167', descr => 'nearest integer >= value', 4146 proname => 'ceiling', prorettype => 'numeric', proargtypes => 'numeric', 4147 prosrc => 'numeric_ceil' }, 4148{ oid => '1712', descr => 'nearest integer <= value', 4149 proname => 'floor', prorettype => 'numeric', proargtypes => 'numeric', 4150 prosrc => 'numeric_floor' }, 4151{ oid => '1718', 4152 proname => 'numeric_eq', prorettype => 'bool', 4153 proargtypes => 'numeric numeric', prosrc => 'numeric_eq' }, 4154{ oid => '1719', 4155 proname => 'numeric_ne', prorettype => 'bool', 4156 proargtypes => 'numeric numeric', prosrc => 'numeric_ne' }, 4157{ oid => '1720', 4158 proname => 'numeric_gt', prorettype => 'bool', 4159 proargtypes => 'numeric numeric', prosrc => 'numeric_gt' }, 4160{ oid => '1721', 4161 proname => 'numeric_ge', prorettype => 'bool', 4162 proargtypes => 'numeric numeric', prosrc => 'numeric_ge' }, 4163{ oid => '1722', 4164 proname => 'numeric_lt', prorettype => 'bool', 4165 proargtypes => 'numeric numeric', prosrc => 'numeric_lt' }, 4166{ oid => '1723', 4167 proname => 'numeric_le', prorettype => 'bool', 4168 proargtypes => 'numeric numeric', prosrc => 'numeric_le' }, 4169{ oid => '1724', 4170 proname => 'numeric_add', prorettype => 'numeric', 4171 proargtypes => 'numeric numeric', prosrc => 'numeric_add' }, 4172{ oid => '1725', 4173 proname => 'numeric_sub', prorettype => 'numeric', 4174 proargtypes => 'numeric numeric', prosrc => 'numeric_sub' }, 4175{ oid => '1726', 4176 proname => 'numeric_mul', prorettype => 'numeric', 4177 proargtypes => 'numeric numeric', prosrc => 'numeric_mul' }, 4178{ oid => '1727', 4179 proname => 'numeric_div', prorettype => 'numeric', 4180 proargtypes => 'numeric numeric', prosrc => 'numeric_div' }, 4181{ oid => '1728', descr => 'modulus', 4182 proname => 'mod', prorettype => 'numeric', proargtypes => 'numeric numeric', 4183 prosrc => 'numeric_mod' }, 4184{ oid => '1729', 4185 proname => 'numeric_mod', prorettype => 'numeric', 4186 proargtypes => 'numeric numeric', prosrc => 'numeric_mod' }, 4187{ oid => '1730', descr => 'square root', 4188 proname => 'sqrt', prorettype => 'numeric', proargtypes => 'numeric', 4189 prosrc => 'numeric_sqrt' }, 4190{ oid => '1731', descr => 'square root', 4191 proname => 'numeric_sqrt', prorettype => 'numeric', proargtypes => 'numeric', 4192 prosrc => 'numeric_sqrt' }, 4193{ oid => '1732', descr => 'natural exponential (e^x)', 4194 proname => 'exp', prorettype => 'numeric', proargtypes => 'numeric', 4195 prosrc => 'numeric_exp' }, 4196{ oid => '1733', descr => 'natural exponential (e^x)', 4197 proname => 'numeric_exp', prorettype => 'numeric', proargtypes => 'numeric', 4198 prosrc => 'numeric_exp' }, 4199{ oid => '1734', descr => 'natural logarithm', 4200 proname => 'ln', prorettype => 'numeric', proargtypes => 'numeric', 4201 prosrc => 'numeric_ln' }, 4202{ oid => '1735', descr => 'natural logarithm', 4203 proname => 'numeric_ln', prorettype => 'numeric', proargtypes => 'numeric', 4204 prosrc => 'numeric_ln' }, 4205{ oid => '1736', descr => 'logarithm base m of n', 4206 proname => 'log', prorettype => 'numeric', proargtypes => 'numeric numeric', 4207 prosrc => 'numeric_log' }, 4208{ oid => '1737', descr => 'logarithm base m of n', 4209 proname => 'numeric_log', prorettype => 'numeric', 4210 proargtypes => 'numeric numeric', prosrc => 'numeric_log' }, 4211{ oid => '1738', descr => 'exponentiation', 4212 proname => 'pow', prorettype => 'numeric', proargtypes => 'numeric numeric', 4213 prosrc => 'numeric_power' }, 4214{ oid => '2169', descr => 'exponentiation', 4215 proname => 'power', prorettype => 'numeric', proargtypes => 'numeric numeric', 4216 prosrc => 'numeric_power' }, 4217{ oid => '1739', 4218 proname => 'numeric_power', prorettype => 'numeric', 4219 proargtypes => 'numeric numeric', prosrc => 'numeric_power' }, 4220{ oid => '3281', descr => 'number of decimal digits in the fractional part', 4221 proname => 'scale', prorettype => 'int4', proargtypes => 'numeric', 4222 prosrc => 'numeric_scale' }, 4223{ oid => '1740', descr => 'convert int4 to numeric', 4224 proname => 'numeric', prorettype => 'numeric', proargtypes => 'int4', 4225 prosrc => 'int4_numeric' }, 4226{ oid => '1741', descr => 'base 10 logarithm', 4227 proname => 'log', prolang => 'sql', prorettype => 'numeric', 4228 proargtypes => 'numeric', prosrc => 'select pg_catalog.log(10, $1)' }, 4229{ oid => '1481', descr => 'base 10 logarithm', 4230 proname => 'log10', prolang => 'sql', prorettype => 'numeric', 4231 proargtypes => 'numeric', prosrc => 'select pg_catalog.log(10, $1)' }, 4232{ oid => '1742', descr => 'convert float4 to numeric', 4233 proname => 'numeric', prorettype => 'numeric', proargtypes => 'float4', 4234 prosrc => 'float4_numeric' }, 4235{ oid => '1743', descr => 'convert float8 to numeric', 4236 proname => 'numeric', prorettype => 'numeric', proargtypes => 'float8', 4237 prosrc => 'float8_numeric' }, 4238{ oid => '1744', descr => 'convert numeric to int4', 4239 proname => 'int4', prorettype => 'int4', proargtypes => 'numeric', 4240 prosrc => 'numeric_int4' }, 4241{ oid => '1745', descr => 'convert numeric to float4', 4242 proname => 'float4', prorettype => 'float4', proargtypes => 'numeric', 4243 prosrc => 'numeric_float4' }, 4244{ oid => '1746', descr => 'convert numeric to float8', 4245 proname => 'float8', prorettype => 'float8', proargtypes => 'numeric', 4246 prosrc => 'numeric_float8' }, 4247{ oid => '1973', descr => 'trunc(x/y)', 4248 proname => 'div', prorettype => 'numeric', proargtypes => 'numeric numeric', 4249 prosrc => 'numeric_div_trunc' }, 4250{ oid => '1980', descr => 'trunc(x/y)', 4251 proname => 'numeric_div_trunc', prorettype => 'numeric', 4252 proargtypes => 'numeric numeric', prosrc => 'numeric_div_trunc' }, 4253{ oid => '2170', descr => 'bucket number of operand in equal-width histogram', 4254 proname => 'width_bucket', prorettype => 'int4', 4255 proargtypes => 'numeric numeric numeric int4', 4256 prosrc => 'width_bucket_numeric' }, 4257 4258{ oid => '1747', 4259 proname => 'time_pl_interval', prorettype => 'time', 4260 proargtypes => 'time interval', prosrc => 'time_pl_interval' }, 4261{ oid => '1748', 4262 proname => 'time_mi_interval', prorettype => 'time', 4263 proargtypes => 'time interval', prosrc => 'time_mi_interval' }, 4264{ oid => '1749', 4265 proname => 'timetz_pl_interval', prorettype => 'timetz', 4266 proargtypes => 'timetz interval', prosrc => 'timetz_pl_interval' }, 4267{ oid => '1750', 4268 proname => 'timetz_mi_interval', prorettype => 'timetz', 4269 proargtypes => 'timetz interval', prosrc => 'timetz_mi_interval' }, 4270 4271{ oid => '1764', descr => 'increment by one', 4272 proname => 'numeric_inc', prorettype => 'numeric', proargtypes => 'numeric', 4273 prosrc => 'numeric_inc' }, 4274{ oid => '1766', descr => 'smaller of two', 4275 proname => 'numeric_smaller', prorettype => 'numeric', 4276 proargtypes => 'numeric numeric', prosrc => 'numeric_smaller' }, 4277{ oid => '1767', descr => 'larger of two', 4278 proname => 'numeric_larger', prorettype => 'numeric', 4279 proargtypes => 'numeric numeric', prosrc => 'numeric_larger' }, 4280{ oid => '1769', descr => 'less-equal-greater', 4281 proname => 'numeric_cmp', prorettype => 'int4', 4282 proargtypes => 'numeric numeric', prosrc => 'numeric_cmp' }, 4283{ oid => '3283', descr => 'sort support', 4284 proname => 'numeric_sortsupport', prorettype => 'void', 4285 proargtypes => 'internal', prosrc => 'numeric_sortsupport' }, 4286{ oid => '1771', 4287 proname => 'numeric_uminus', prorettype => 'numeric', 4288 proargtypes => 'numeric', prosrc => 'numeric_uminus' }, 4289{ oid => '1779', descr => 'convert numeric to int8', 4290 proname => 'int8', prorettype => 'int8', proargtypes => 'numeric', 4291 prosrc => 'numeric_int8' }, 4292{ oid => '1781', descr => 'convert int8 to numeric', 4293 proname => 'numeric', prorettype => 'numeric', proargtypes => 'int8', 4294 prosrc => 'int8_numeric' }, 4295{ oid => '1782', descr => 'convert int2 to numeric', 4296 proname => 'numeric', prorettype => 'numeric', proargtypes => 'int2', 4297 prosrc => 'int2_numeric' }, 4298{ oid => '1783', descr => 'convert numeric to int2', 4299 proname => 'int2', prorettype => 'int2', proargtypes => 'numeric', 4300 prosrc => 'numeric_int2' }, 4301 4302{ oid => '3556', descr => 'convert jsonb to boolean', 4303 proname => 'bool', prorettype => 'bool', proargtypes => 'jsonb', 4304 prosrc => 'jsonb_bool' }, 4305{ oid => '3449', descr => 'convert jsonb to numeric', 4306 proname => 'numeric', prorettype => 'numeric', proargtypes => 'jsonb', 4307 prosrc => 'jsonb_numeric' }, 4308{ oid => '3450', descr => 'convert jsonb to int2', 4309 proname => 'int2', prorettype => 'int2', proargtypes => 'jsonb', 4310 prosrc => 'jsonb_int2' }, 4311{ oid => '3451', descr => 'convert jsonb to int4', 4312 proname => 'int4', prorettype => 'int4', proargtypes => 'jsonb', 4313 prosrc => 'jsonb_int4' }, 4314{ oid => '3452', descr => 'convert jsonb to int8', 4315 proname => 'int8', prorettype => 'int8', proargtypes => 'jsonb', 4316 prosrc => 'jsonb_int8' }, 4317{ oid => '3453', descr => 'convert jsonb to float4', 4318 proname => 'float4', prorettype => 'float4', proargtypes => 'jsonb', 4319 prosrc => 'jsonb_float4' }, 4320{ oid => '2580', descr => 'convert jsonb to float8', 4321 proname => 'float8', prorettype => 'float8', proargtypes => 'jsonb', 4322 prosrc => 'jsonb_float8' }, 4323 4324# formatting 4325{ oid => '1770', descr => 'format timestamp with time zone to text', 4326 proname => 'to_char', provolatile => 's', prorettype => 'text', 4327 proargtypes => 'timestamptz text', prosrc => 'timestamptz_to_char' }, 4328{ oid => '1772', descr => 'format numeric to text', 4329 proname => 'to_char', provolatile => 's', prorettype => 'text', 4330 proargtypes => 'numeric text', prosrc => 'numeric_to_char' }, 4331{ oid => '1773', descr => 'format int4 to text', 4332 proname => 'to_char', provolatile => 's', prorettype => 'text', 4333 proargtypes => 'int4 text', prosrc => 'int4_to_char' }, 4334{ oid => '1774', descr => 'format int8 to text', 4335 proname => 'to_char', provolatile => 's', prorettype => 'text', 4336 proargtypes => 'int8 text', prosrc => 'int8_to_char' }, 4337{ oid => '1775', descr => 'format float4 to text', 4338 proname => 'to_char', provolatile => 's', prorettype => 'text', 4339 proargtypes => 'float4 text', prosrc => 'float4_to_char' }, 4340{ oid => '1776', descr => 'format float8 to text', 4341 proname => 'to_char', provolatile => 's', prorettype => 'text', 4342 proargtypes => 'float8 text', prosrc => 'float8_to_char' }, 4343{ oid => '1777', descr => 'convert text to numeric', 4344 proname => 'to_number', provolatile => 's', prorettype => 'numeric', 4345 proargtypes => 'text text', prosrc => 'numeric_to_number' }, 4346{ oid => '1778', descr => 'convert text to timestamp with time zone', 4347 proname => 'to_timestamp', provolatile => 's', prorettype => 'timestamptz', 4348 proargtypes => 'text text', prosrc => 'to_timestamp' }, 4349{ oid => '1780', descr => 'convert text to date', 4350 proname => 'to_date', provolatile => 's', prorettype => 'date', 4351 proargtypes => 'text text', prosrc => 'to_date' }, 4352{ oid => '1768', descr => 'format interval to text', 4353 proname => 'to_char', provolatile => 's', prorettype => 'text', 4354 proargtypes => 'interval text', prosrc => 'interval_to_char' }, 4355 4356{ oid => '1282', descr => 'quote an identifier for usage in a querystring', 4357 proname => 'quote_ident', prorettype => 'text', proargtypes => 'text', 4358 prosrc => 'quote_ident' }, 4359{ oid => '1283', descr => 'quote a literal for usage in a querystring', 4360 proname => 'quote_literal', prorettype => 'text', proargtypes => 'text', 4361 prosrc => 'quote_literal' }, 4362{ oid => '1285', descr => 'quote a data value for usage in a querystring', 4363 proname => 'quote_literal', prolang => 'sql', provolatile => 's', 4364 prorettype => 'text', proargtypes => 'anyelement', 4365 prosrc => 'select pg_catalog.quote_literal($1::pg_catalog.text)' }, 4366{ oid => '1289', 4367 descr => 'quote a possibly-null literal for usage in a querystring', 4368 proname => 'quote_nullable', proisstrict => 'f', prorettype => 'text', 4369 proargtypes => 'text', prosrc => 'quote_nullable' }, 4370{ oid => '1290', 4371 descr => 'quote a possibly-null data value for usage in a querystring', 4372 proname => 'quote_nullable', prolang => 'sql', proisstrict => 'f', 4373 provolatile => 's', prorettype => 'text', proargtypes => 'anyelement', 4374 prosrc => 'select pg_catalog.quote_nullable($1::pg_catalog.text)' }, 4375 4376{ oid => '1798', descr => 'I/O', 4377 proname => 'oidin', prorettype => 'oid', proargtypes => 'cstring', 4378 prosrc => 'oidin' }, 4379{ oid => '1799', descr => 'I/O', 4380 proname => 'oidout', prorettype => 'cstring', proargtypes => 'oid', 4381 prosrc => 'oidout' }, 4382 4383{ oid => '3058', descr => 'concatenate values', 4384 proname => 'concat', provariadic => 'any', proisstrict => 'f', 4385 provolatile => 's', prorettype => 'text', proargtypes => 'any', 4386 proallargtypes => '{any}', proargmodes => '{v}', prosrc => 'text_concat' }, 4387{ oid => '3059', descr => 'concatenate values with separators', 4388 proname => 'concat_ws', provariadic => 'any', proisstrict => 'f', 4389 provolatile => 's', prorettype => 'text', proargtypes => 'text any', 4390 proallargtypes => '{text,any}', proargmodes => '{i,v}', 4391 prosrc => 'text_concat_ws' }, 4392{ oid => '3060', descr => 'extract the first n characters', 4393 proname => 'left', prorettype => 'text', proargtypes => 'text int4', 4394 prosrc => 'text_left' }, 4395{ oid => '3061', descr => 'extract the last n characters', 4396 proname => 'right', prorettype => 'text', proargtypes => 'text int4', 4397 prosrc => 'text_right' }, 4398{ oid => '3062', descr => 'reverse text', 4399 proname => 'reverse', prorettype => 'text', proargtypes => 'text', 4400 prosrc => 'text_reverse' }, 4401{ oid => '3539', descr => 'format text message', 4402 proname => 'format', provariadic => 'any', proisstrict => 'f', 4403 provolatile => 's', prorettype => 'text', proargtypes => 'text any', 4404 proallargtypes => '{text,any}', proargmodes => '{i,v}', 4405 prosrc => 'text_format' }, 4406{ oid => '3540', descr => 'format text message', 4407 proname => 'format', proisstrict => 'f', provolatile => 's', 4408 prorettype => 'text', proargtypes => 'text', prosrc => 'text_format_nv' }, 4409 4410{ oid => '1810', descr => 'length in bits', 4411 proname => 'bit_length', prolang => 'sql', prorettype => 'int4', 4412 proargtypes => 'bytea', prosrc => 'select pg_catalog.octet_length($1) * 8' }, 4413{ oid => '1811', descr => 'length in bits', 4414 proname => 'bit_length', prolang => 'sql', prorettype => 'int4', 4415 proargtypes => 'text', prosrc => 'select pg_catalog.octet_length($1) * 8' }, 4416{ oid => '1812', descr => 'length in bits', 4417 proname => 'bit_length', prolang => 'sql', prorettype => 'int4', 4418 proargtypes => 'bit', prosrc => 'select pg_catalog.length($1)' }, 4419 4420# Selectivity estimators for LIKE and related operators 4421{ oid => '1814', descr => 'restriction selectivity of ILIKE', 4422 proname => 'iclikesel', provolatile => 's', prorettype => 'float8', 4423 proargtypes => 'internal oid internal int4', prosrc => 'iclikesel' }, 4424{ oid => '1815', descr => 'restriction selectivity of NOT ILIKE', 4425 proname => 'icnlikesel', provolatile => 's', prorettype => 'float8', 4426 proargtypes => 'internal oid internal int4', prosrc => 'icnlikesel' }, 4427{ oid => '1816', descr => 'join selectivity of ILIKE', 4428 proname => 'iclikejoinsel', provolatile => 's', prorettype => 'float8', 4429 proargtypes => 'internal oid internal int2 internal', 4430 prosrc => 'iclikejoinsel' }, 4431{ oid => '1817', descr => 'join selectivity of NOT ILIKE', 4432 proname => 'icnlikejoinsel', provolatile => 's', prorettype => 'float8', 4433 proargtypes => 'internal oid internal int2 internal', 4434 prosrc => 'icnlikejoinsel' }, 4435{ oid => '1818', descr => 'restriction selectivity of regex match', 4436 proname => 'regexeqsel', provolatile => 's', prorettype => 'float8', 4437 proargtypes => 'internal oid internal int4', prosrc => 'regexeqsel' }, 4438{ oid => '1819', descr => 'restriction selectivity of LIKE', 4439 proname => 'likesel', provolatile => 's', prorettype => 'float8', 4440 proargtypes => 'internal oid internal int4', prosrc => 'likesel' }, 4441{ oid => '1820', 4442 descr => 'restriction selectivity of case-insensitive regex match', 4443 proname => 'icregexeqsel', provolatile => 's', prorettype => 'float8', 4444 proargtypes => 'internal oid internal int4', prosrc => 'icregexeqsel' }, 4445{ oid => '1821', descr => 'restriction selectivity of regex non-match', 4446 proname => 'regexnesel', provolatile => 's', prorettype => 'float8', 4447 proargtypes => 'internal oid internal int4', prosrc => 'regexnesel' }, 4448{ oid => '1822', descr => 'restriction selectivity of NOT LIKE', 4449 proname => 'nlikesel', provolatile => 's', prorettype => 'float8', 4450 proargtypes => 'internal oid internal int4', prosrc => 'nlikesel' }, 4451{ oid => '1823', 4452 descr => 'restriction selectivity of case-insensitive regex non-match', 4453 proname => 'icregexnesel', provolatile => 's', prorettype => 'float8', 4454 proargtypes => 'internal oid internal int4', prosrc => 'icregexnesel' }, 4455{ oid => '1824', descr => 'join selectivity of regex match', 4456 proname => 'regexeqjoinsel', provolatile => 's', prorettype => 'float8', 4457 proargtypes => 'internal oid internal int2 internal', 4458 prosrc => 'regexeqjoinsel' }, 4459{ oid => '1825', descr => 'join selectivity of LIKE', 4460 proname => 'likejoinsel', provolatile => 's', prorettype => 'float8', 4461 proargtypes => 'internal oid internal int2 internal', 4462 prosrc => 'likejoinsel' }, 4463{ oid => '1826', descr => 'join selectivity of case-insensitive regex match', 4464 proname => 'icregexeqjoinsel', provolatile => 's', prorettype => 'float8', 4465 proargtypes => 'internal oid internal int2 internal', 4466 prosrc => 'icregexeqjoinsel' }, 4467{ oid => '1827', descr => 'join selectivity of regex non-match', 4468 proname => 'regexnejoinsel', provolatile => 's', prorettype => 'float8', 4469 proargtypes => 'internal oid internal int2 internal', 4470 prosrc => 'regexnejoinsel' }, 4471{ oid => '1828', descr => 'join selectivity of NOT LIKE', 4472 proname => 'nlikejoinsel', provolatile => 's', prorettype => 'float8', 4473 proargtypes => 'internal oid internal int2 internal', 4474 prosrc => 'nlikejoinsel' }, 4475{ oid => '1829', 4476 descr => 'join selectivity of case-insensitive regex non-match', 4477 proname => 'icregexnejoinsel', provolatile => 's', prorettype => 'float8', 4478 proargtypes => 'internal oid internal int2 internal', 4479 prosrc => 'icregexnejoinsel' }, 4480{ oid => '3437', descr => 'restriction selectivity of exact prefix', 4481 proname => 'prefixsel', provolatile => 's', prorettype => 'float8', 4482 proargtypes => 'internal oid internal int4', prosrc => 'prefixsel' }, 4483{ oid => '3438', descr => 'join selectivity of exact prefix', 4484 proname => 'prefixjoinsel', provolatile => 's', prorettype => 'float8', 4485 proargtypes => 'internal oid internal int2 internal', 4486 prosrc => 'prefixjoinsel' }, 4487 4488# Aggregate-related functions 4489{ oid => '1830', descr => 'aggregate final function', 4490 proname => 'float8_avg', prorettype => 'float8', proargtypes => '_float8', 4491 prosrc => 'float8_avg' }, 4492{ oid => '2512', descr => 'aggregate final function', 4493 proname => 'float8_var_pop', prorettype => 'float8', proargtypes => '_float8', 4494 prosrc => 'float8_var_pop' }, 4495{ oid => '1831', descr => 'aggregate final function', 4496 proname => 'float8_var_samp', prorettype => 'float8', 4497 proargtypes => '_float8', prosrc => 'float8_var_samp' }, 4498{ oid => '2513', descr => 'aggregate final function', 4499 proname => 'float8_stddev_pop', prorettype => 'float8', 4500 proargtypes => '_float8', prosrc => 'float8_stddev_pop' }, 4501{ oid => '1832', descr => 'aggregate final function', 4502 proname => 'float8_stddev_samp', prorettype => 'float8', 4503 proargtypes => '_float8', prosrc => 'float8_stddev_samp' }, 4504{ oid => '1833', descr => 'aggregate transition function', 4505 proname => 'numeric_accum', proisstrict => 'f', prorettype => 'internal', 4506 proargtypes => 'internal numeric', prosrc => 'numeric_accum' }, 4507{ oid => '3341', descr => 'aggregate combine function', 4508 proname => 'numeric_combine', proisstrict => 'f', prorettype => 'internal', 4509 proargtypes => 'internal internal', prosrc => 'numeric_combine' }, 4510{ oid => '2858', descr => 'aggregate transition function', 4511 proname => 'numeric_avg_accum', proisstrict => 'f', prorettype => 'internal', 4512 proargtypes => 'internal numeric', prosrc => 'numeric_avg_accum' }, 4513{ oid => '3337', descr => 'aggregate combine function', 4514 proname => 'numeric_avg_combine', proisstrict => 'f', 4515 prorettype => 'internal', proargtypes => 'internal internal', 4516 prosrc => 'numeric_avg_combine' }, 4517{ oid => '2740', descr => 'aggregate serial function', 4518 proname => 'numeric_avg_serialize', prorettype => 'bytea', 4519 proargtypes => 'internal', prosrc => 'numeric_avg_serialize' }, 4520{ oid => '2741', descr => 'aggregate deserial function', 4521 proname => 'numeric_avg_deserialize', prorettype => 'internal', 4522 proargtypes => 'bytea internal', prosrc => 'numeric_avg_deserialize' }, 4523{ oid => '3335', descr => 'aggregate serial function', 4524 proname => 'numeric_serialize', prorettype => 'bytea', 4525 proargtypes => 'internal', prosrc => 'numeric_serialize' }, 4526{ oid => '3336', descr => 'aggregate deserial function', 4527 proname => 'numeric_deserialize', prorettype => 'internal', 4528 proargtypes => 'bytea internal', prosrc => 'numeric_deserialize' }, 4529{ oid => '3548', descr => 'aggregate transition function', 4530 proname => 'numeric_accum_inv', proisstrict => 'f', prorettype => 'internal', 4531 proargtypes => 'internal numeric', prosrc => 'numeric_accum_inv' }, 4532{ oid => '1834', descr => 'aggregate transition function', 4533 proname => 'int2_accum', proisstrict => 'f', prorettype => 'internal', 4534 proargtypes => 'internal int2', prosrc => 'int2_accum' }, 4535{ oid => '1835', descr => 'aggregate transition function', 4536 proname => 'int4_accum', proisstrict => 'f', prorettype => 'internal', 4537 proargtypes => 'internal int4', prosrc => 'int4_accum' }, 4538{ oid => '1836', descr => 'aggregate transition function', 4539 proname => 'int8_accum', proisstrict => 'f', prorettype => 'internal', 4540 proargtypes => 'internal int8', prosrc => 'int8_accum' }, 4541{ oid => '3338', descr => 'aggregate combine function', 4542 proname => 'numeric_poly_combine', proisstrict => 'f', 4543 prorettype => 'internal', proargtypes => 'internal internal', 4544 prosrc => 'numeric_poly_combine' }, 4545{ oid => '3339', descr => 'aggregate serial function', 4546 proname => 'numeric_poly_serialize', prorettype => 'bytea', 4547 proargtypes => 'internal', prosrc => 'numeric_poly_serialize' }, 4548{ oid => '3340', descr => 'aggregate deserial function', 4549 proname => 'numeric_poly_deserialize', prorettype => 'internal', 4550 proargtypes => 'bytea internal', prosrc => 'numeric_poly_deserialize' }, 4551{ oid => '2746', descr => 'aggregate transition function', 4552 proname => 'int8_avg_accum', proisstrict => 'f', prorettype => 'internal', 4553 proargtypes => 'internal int8', prosrc => 'int8_avg_accum' }, 4554{ oid => '3567', descr => 'aggregate transition function', 4555 proname => 'int2_accum_inv', proisstrict => 'f', prorettype => 'internal', 4556 proargtypes => 'internal int2', prosrc => 'int2_accum_inv' }, 4557{ oid => '3568', descr => 'aggregate transition function', 4558 proname => 'int4_accum_inv', proisstrict => 'f', prorettype => 'internal', 4559 proargtypes => 'internal int4', prosrc => 'int4_accum_inv' }, 4560{ oid => '3569', descr => 'aggregate transition function', 4561 proname => 'int8_accum_inv', proisstrict => 'f', prorettype => 'internal', 4562 proargtypes => 'internal int8', prosrc => 'int8_accum_inv' }, 4563{ oid => '3387', descr => 'aggregate transition function', 4564 proname => 'int8_avg_accum_inv', proisstrict => 'f', prorettype => 'internal', 4565 proargtypes => 'internal int8', prosrc => 'int8_avg_accum_inv' }, 4566{ oid => '2785', descr => 'aggregate combine function', 4567 proname => 'int8_avg_combine', proisstrict => 'f', prorettype => 'internal', 4568 proargtypes => 'internal internal', prosrc => 'int8_avg_combine' }, 4569{ oid => '2786', descr => 'aggregate serial function', 4570 proname => 'int8_avg_serialize', prorettype => 'bytea', 4571 proargtypes => 'internal', prosrc => 'int8_avg_serialize' }, 4572{ oid => '2787', descr => 'aggregate deserial function', 4573 proname => 'int8_avg_deserialize', prorettype => 'internal', 4574 proargtypes => 'bytea internal', prosrc => 'int8_avg_deserialize' }, 4575{ oid => '3324', descr => 'aggregate combine function', 4576 proname => 'int4_avg_combine', prorettype => '_int8', 4577 proargtypes => '_int8 _int8', prosrc => 'int4_avg_combine' }, 4578{ oid => '3178', descr => 'aggregate final function', 4579 proname => 'numeric_sum', proisstrict => 'f', prorettype => 'numeric', 4580 proargtypes => 'internal', prosrc => 'numeric_sum' }, 4581{ oid => '1837', descr => 'aggregate final function', 4582 proname => 'numeric_avg', proisstrict => 'f', prorettype => 'numeric', 4583 proargtypes => 'internal', prosrc => 'numeric_avg' }, 4584{ oid => '2514', descr => 'aggregate final function', 4585 proname => 'numeric_var_pop', proisstrict => 'f', prorettype => 'numeric', 4586 proargtypes => 'internal', prosrc => 'numeric_var_pop' }, 4587{ oid => '1838', descr => 'aggregate final function', 4588 proname => 'numeric_var_samp', proisstrict => 'f', prorettype => 'numeric', 4589 proargtypes => 'internal', prosrc => 'numeric_var_samp' }, 4590{ oid => '2596', descr => 'aggregate final function', 4591 proname => 'numeric_stddev_pop', proisstrict => 'f', prorettype => 'numeric', 4592 proargtypes => 'internal', prosrc => 'numeric_stddev_pop' }, 4593{ oid => '1839', descr => 'aggregate final function', 4594 proname => 'numeric_stddev_samp', proisstrict => 'f', prorettype => 'numeric', 4595 proargtypes => 'internal', prosrc => 'numeric_stddev_samp' }, 4596{ oid => '1840', descr => 'aggregate transition function', 4597 proname => 'int2_sum', proisstrict => 'f', prorettype => 'int8', 4598 proargtypes => 'int8 int2', prosrc => 'int2_sum' }, 4599{ oid => '1841', descr => 'aggregate transition function', 4600 proname => 'int4_sum', proisstrict => 'f', prorettype => 'int8', 4601 proargtypes => 'int8 int4', prosrc => 'int4_sum' }, 4602{ oid => '1842', descr => 'aggregate transition function', 4603 proname => 'int8_sum', proisstrict => 'f', prorettype => 'numeric', 4604 proargtypes => 'numeric int8', prosrc => 'int8_sum' }, 4605{ oid => '3388', descr => 'aggregate final function', 4606 proname => 'numeric_poly_sum', proisstrict => 'f', prorettype => 'numeric', 4607 proargtypes => 'internal', prosrc => 'numeric_poly_sum' }, 4608{ oid => '3389', descr => 'aggregate final function', 4609 proname => 'numeric_poly_avg', proisstrict => 'f', prorettype => 'numeric', 4610 proargtypes => 'internal', prosrc => 'numeric_poly_avg' }, 4611{ oid => '3390', descr => 'aggregate final function', 4612 proname => 'numeric_poly_var_pop', proisstrict => 'f', 4613 prorettype => 'numeric', proargtypes => 'internal', 4614 prosrc => 'numeric_poly_var_pop' }, 4615{ oid => '3391', descr => 'aggregate final function', 4616 proname => 'numeric_poly_var_samp', proisstrict => 'f', 4617 prorettype => 'numeric', proargtypes => 'internal', 4618 prosrc => 'numeric_poly_var_samp' }, 4619{ oid => '3392', descr => 'aggregate final function', 4620 proname => 'numeric_poly_stddev_pop', proisstrict => 'f', 4621 prorettype => 'numeric', proargtypes => 'internal', 4622 prosrc => 'numeric_poly_stddev_pop' }, 4623{ oid => '3393', descr => 'aggregate final function', 4624 proname => 'numeric_poly_stddev_samp', proisstrict => 'f', 4625 prorettype => 'numeric', proargtypes => 'internal', 4626 prosrc => 'numeric_poly_stddev_samp' }, 4627 4628{ oid => '1843', descr => 'aggregate transition function', 4629 proname => 'interval_accum', prorettype => '_interval', 4630 proargtypes => '_interval interval', prosrc => 'interval_accum' }, 4631{ oid => '3325', descr => 'aggregate combine function', 4632 proname => 'interval_combine', prorettype => '_interval', 4633 proargtypes => '_interval _interval', prosrc => 'interval_combine' }, 4634{ oid => '3549', descr => 'aggregate transition function', 4635 proname => 'interval_accum_inv', prorettype => '_interval', 4636 proargtypes => '_interval interval', prosrc => 'interval_accum_inv' }, 4637{ oid => '1844', descr => 'aggregate final function', 4638 proname => 'interval_avg', prorettype => 'interval', 4639 proargtypes => '_interval', prosrc => 'interval_avg' }, 4640{ oid => '1962', descr => 'aggregate transition function', 4641 proname => 'int2_avg_accum', prorettype => '_int8', 4642 proargtypes => '_int8 int2', prosrc => 'int2_avg_accum' }, 4643{ oid => '1963', descr => 'aggregate transition function', 4644 proname => 'int4_avg_accum', prorettype => '_int8', 4645 proargtypes => '_int8 int4', prosrc => 'int4_avg_accum' }, 4646{ oid => '3570', descr => 'aggregate transition function', 4647 proname => 'int2_avg_accum_inv', prorettype => '_int8', 4648 proargtypes => '_int8 int2', prosrc => 'int2_avg_accum_inv' }, 4649{ oid => '3571', descr => 'aggregate transition function', 4650 proname => 'int4_avg_accum_inv', prorettype => '_int8', 4651 proargtypes => '_int8 int4', prosrc => 'int4_avg_accum_inv' }, 4652{ oid => '1964', descr => 'aggregate final function', 4653 proname => 'int8_avg', prorettype => 'numeric', proargtypes => '_int8', 4654 prosrc => 'int8_avg' }, 4655{ oid => '3572', descr => 'aggregate final function', 4656 proname => 'int2int4_sum', prorettype => 'int8', proargtypes => '_int8', 4657 prosrc => 'int2int4_sum' }, 4658{ oid => '2805', descr => 'aggregate transition function', 4659 proname => 'int8inc_float8_float8', prorettype => 'int8', 4660 proargtypes => 'int8 float8 float8', prosrc => 'int8inc_float8_float8' }, 4661{ oid => '2806', descr => 'aggregate transition function', 4662 proname => 'float8_regr_accum', prorettype => '_float8', 4663 proargtypes => '_float8 float8 float8', prosrc => 'float8_regr_accum' }, 4664{ oid => '3342', descr => 'aggregate combine function', 4665 proname => 'float8_regr_combine', prorettype => '_float8', 4666 proargtypes => '_float8 _float8', prosrc => 'float8_regr_combine' }, 4667{ oid => '2807', descr => 'aggregate final function', 4668 proname => 'float8_regr_sxx', prorettype => 'float8', 4669 proargtypes => '_float8', prosrc => 'float8_regr_sxx' }, 4670{ oid => '2808', descr => 'aggregate final function', 4671 proname => 'float8_regr_syy', prorettype => 'float8', 4672 proargtypes => '_float8', prosrc => 'float8_regr_syy' }, 4673{ oid => '2809', descr => 'aggregate final function', 4674 proname => 'float8_regr_sxy', prorettype => 'float8', 4675 proargtypes => '_float8', prosrc => 'float8_regr_sxy' }, 4676{ oid => '2810', descr => 'aggregate final function', 4677 proname => 'float8_regr_avgx', prorettype => 'float8', 4678 proargtypes => '_float8', prosrc => 'float8_regr_avgx' }, 4679{ oid => '2811', descr => 'aggregate final function', 4680 proname => 'float8_regr_avgy', prorettype => 'float8', 4681 proargtypes => '_float8', prosrc => 'float8_regr_avgy' }, 4682{ oid => '2812', descr => 'aggregate final function', 4683 proname => 'float8_regr_r2', prorettype => 'float8', proargtypes => '_float8', 4684 prosrc => 'float8_regr_r2' }, 4685{ oid => '2813', descr => 'aggregate final function', 4686 proname => 'float8_regr_slope', prorettype => 'float8', 4687 proargtypes => '_float8', prosrc => 'float8_regr_slope' }, 4688{ oid => '2814', descr => 'aggregate final function', 4689 proname => 'float8_regr_intercept', prorettype => 'float8', 4690 proargtypes => '_float8', prosrc => 'float8_regr_intercept' }, 4691{ oid => '2815', descr => 'aggregate final function', 4692 proname => 'float8_covar_pop', prorettype => 'float8', 4693 proargtypes => '_float8', prosrc => 'float8_covar_pop' }, 4694{ oid => '2816', descr => 'aggregate final function', 4695 proname => 'float8_covar_samp', prorettype => 'float8', 4696 proargtypes => '_float8', prosrc => 'float8_covar_samp' }, 4697{ oid => '2817', descr => 'aggregate final function', 4698 proname => 'float8_corr', prorettype => 'float8', proargtypes => '_float8', 4699 prosrc => 'float8_corr' }, 4700 4701{ oid => '3535', descr => 'aggregate transition function', 4702 proname => 'string_agg_transfn', proisstrict => 'f', prorettype => 'internal', 4703 proargtypes => 'internal text text', prosrc => 'string_agg_transfn' }, 4704{ oid => '3536', descr => 'aggregate final function', 4705 proname => 'string_agg_finalfn', proisstrict => 'f', prorettype => 'text', 4706 proargtypes => 'internal', prosrc => 'string_agg_finalfn' }, 4707{ oid => '3538', descr => 'concatenate aggregate input into a string', 4708 proname => 'string_agg', prokind => 'a', proisstrict => 'f', 4709 prorettype => 'text', proargtypes => 'text text', 4710 prosrc => 'aggregate_dummy' }, 4711{ oid => '3543', descr => 'aggregate transition function', 4712 proname => 'bytea_string_agg_transfn', proisstrict => 'f', 4713 prorettype => 'internal', proargtypes => 'internal bytea bytea', 4714 prosrc => 'bytea_string_agg_transfn' }, 4715{ oid => '3544', descr => 'aggregate final function', 4716 proname => 'bytea_string_agg_finalfn', proisstrict => 'f', 4717 prorettype => 'bytea', proargtypes => 'internal', 4718 prosrc => 'bytea_string_agg_finalfn' }, 4719{ oid => '3545', descr => 'concatenate aggregate input into a bytea', 4720 proname => 'string_agg', prokind => 'a', proisstrict => 'f', 4721 prorettype => 'bytea', proargtypes => 'bytea bytea', 4722 prosrc => 'aggregate_dummy' }, 4723 4724# To ASCII conversion 4725{ oid => '1845', descr => 'encode text from DB encoding to ASCII text', 4726 proname => 'to_ascii', prorettype => 'text', proargtypes => 'text', 4727 prosrc => 'to_ascii_default' }, 4728{ oid => '1846', descr => 'encode text from encoding to ASCII text', 4729 proname => 'to_ascii', prorettype => 'text', proargtypes => 'text int4', 4730 prosrc => 'to_ascii_enc' }, 4731{ oid => '1847', descr => 'encode text from encoding to ASCII text', 4732 proname => 'to_ascii', prorettype => 'text', proargtypes => 'text name', 4733 prosrc => 'to_ascii_encname' }, 4734 4735{ oid => '1848', 4736 proname => 'interval_pl_time', prolang => 'sql', prorettype => 'time', 4737 proargtypes => 'interval time', prosrc => 'select $2 + $1' }, 4738 4739{ oid => '1850', 4740 proname => 'int28eq', proleakproof => 't', prorettype => 'bool', 4741 proargtypes => 'int2 int8', prosrc => 'int28eq' }, 4742{ oid => '1851', 4743 proname => 'int28ne', proleakproof => 't', prorettype => 'bool', 4744 proargtypes => 'int2 int8', prosrc => 'int28ne' }, 4745{ oid => '1852', 4746 proname => 'int28lt', proleakproof => 't', prorettype => 'bool', 4747 proargtypes => 'int2 int8', prosrc => 'int28lt' }, 4748{ oid => '1853', 4749 proname => 'int28gt', proleakproof => 't', prorettype => 'bool', 4750 proargtypes => 'int2 int8', prosrc => 'int28gt' }, 4751{ oid => '1854', 4752 proname => 'int28le', proleakproof => 't', prorettype => 'bool', 4753 proargtypes => 'int2 int8', prosrc => 'int28le' }, 4754{ oid => '1855', 4755 proname => 'int28ge', proleakproof => 't', prorettype => 'bool', 4756 proargtypes => 'int2 int8', prosrc => 'int28ge' }, 4757 4758{ oid => '1856', 4759 proname => 'int82eq', proleakproof => 't', prorettype => 'bool', 4760 proargtypes => 'int8 int2', prosrc => 'int82eq' }, 4761{ oid => '1857', 4762 proname => 'int82ne', proleakproof => 't', prorettype => 'bool', 4763 proargtypes => 'int8 int2', prosrc => 'int82ne' }, 4764{ oid => '1858', 4765 proname => 'int82lt', proleakproof => 't', prorettype => 'bool', 4766 proargtypes => 'int8 int2', prosrc => 'int82lt' }, 4767{ oid => '1859', 4768 proname => 'int82gt', proleakproof => 't', prorettype => 'bool', 4769 proargtypes => 'int8 int2', prosrc => 'int82gt' }, 4770{ oid => '1860', 4771 proname => 'int82le', proleakproof => 't', prorettype => 'bool', 4772 proargtypes => 'int8 int2', prosrc => 'int82le' }, 4773{ oid => '1861', 4774 proname => 'int82ge', proleakproof => 't', prorettype => 'bool', 4775 proargtypes => 'int8 int2', prosrc => 'int82ge' }, 4776 4777{ oid => '1892', 4778 proname => 'int2and', prorettype => 'int2', proargtypes => 'int2 int2', 4779 prosrc => 'int2and' }, 4780{ oid => '1893', 4781 proname => 'int2or', prorettype => 'int2', proargtypes => 'int2 int2', 4782 prosrc => 'int2or' }, 4783{ oid => '1894', 4784 proname => 'int2xor', prorettype => 'int2', proargtypes => 'int2 int2', 4785 prosrc => 'int2xor' }, 4786{ oid => '1895', 4787 proname => 'int2not', prorettype => 'int2', proargtypes => 'int2', 4788 prosrc => 'int2not' }, 4789{ oid => '1896', 4790 proname => 'int2shl', prorettype => 'int2', proargtypes => 'int2 int4', 4791 prosrc => 'int2shl' }, 4792{ oid => '1897', 4793 proname => 'int2shr', prorettype => 'int2', proargtypes => 'int2 int4', 4794 prosrc => 'int2shr' }, 4795 4796{ oid => '1898', 4797 proname => 'int4and', prorettype => 'int4', proargtypes => 'int4 int4', 4798 prosrc => 'int4and' }, 4799{ oid => '1899', 4800 proname => 'int4or', prorettype => 'int4', proargtypes => 'int4 int4', 4801 prosrc => 'int4or' }, 4802{ oid => '1900', 4803 proname => 'int4xor', prorettype => 'int4', proargtypes => 'int4 int4', 4804 prosrc => 'int4xor' }, 4805{ oid => '1901', 4806 proname => 'int4not', prorettype => 'int4', proargtypes => 'int4', 4807 prosrc => 'int4not' }, 4808{ oid => '1902', 4809 proname => 'int4shl', prorettype => 'int4', proargtypes => 'int4 int4', 4810 prosrc => 'int4shl' }, 4811{ oid => '1903', 4812 proname => 'int4shr', prorettype => 'int4', proargtypes => 'int4 int4', 4813 prosrc => 'int4shr' }, 4814 4815{ oid => '1904', 4816 proname => 'int8and', prorettype => 'int8', proargtypes => 'int8 int8', 4817 prosrc => 'int8and' }, 4818{ oid => '1905', 4819 proname => 'int8or', prorettype => 'int8', proargtypes => 'int8 int8', 4820 prosrc => 'int8or' }, 4821{ oid => '1906', 4822 proname => 'int8xor', prorettype => 'int8', proargtypes => 'int8 int8', 4823 prosrc => 'int8xor' }, 4824{ oid => '1907', 4825 proname => 'int8not', prorettype => 'int8', proargtypes => 'int8', 4826 prosrc => 'int8not' }, 4827{ oid => '1908', 4828 proname => 'int8shl', prorettype => 'int8', proargtypes => 'int8 int4', 4829 prosrc => 'int8shl' }, 4830{ oid => '1909', 4831 proname => 'int8shr', prorettype => 'int8', proargtypes => 'int8 int4', 4832 prosrc => 'int8shr' }, 4833 4834{ oid => '1910', 4835 proname => 'int8up', prorettype => 'int8', proargtypes => 'int8', 4836 prosrc => 'int8up' }, 4837{ oid => '1911', 4838 proname => 'int2up', prorettype => 'int2', proargtypes => 'int2', 4839 prosrc => 'int2up' }, 4840{ oid => '1912', 4841 proname => 'int4up', prorettype => 'int4', proargtypes => 'int4', 4842 prosrc => 'int4up' }, 4843{ oid => '1913', 4844 proname => 'float4up', prorettype => 'float4', proargtypes => 'float4', 4845 prosrc => 'float4up' }, 4846{ oid => '1914', 4847 proname => 'float8up', prorettype => 'float8', proargtypes => 'float8', 4848 prosrc => 'float8up' }, 4849{ oid => '1915', 4850 proname => 'numeric_uplus', prorettype => 'numeric', proargtypes => 'numeric', 4851 prosrc => 'numeric_uplus' }, 4852 4853{ oid => '1922', descr => 'user privilege on relation by username, rel name', 4854 proname => 'has_table_privilege', provolatile => 's', prorettype => 'bool', 4855 proargtypes => 'name text text', prosrc => 'has_table_privilege_name_name' }, 4856{ oid => '1923', descr => 'user privilege on relation by username, rel oid', 4857 proname => 'has_table_privilege', provolatile => 's', prorettype => 'bool', 4858 proargtypes => 'name oid text', prosrc => 'has_table_privilege_name_id' }, 4859{ oid => '1924', descr => 'user privilege on relation by user oid, rel name', 4860 proname => 'has_table_privilege', provolatile => 's', prorettype => 'bool', 4861 proargtypes => 'oid text text', prosrc => 'has_table_privilege_id_name' }, 4862{ oid => '1925', descr => 'user privilege on relation by user oid, rel oid', 4863 proname => 'has_table_privilege', provolatile => 's', prorettype => 'bool', 4864 proargtypes => 'oid oid text', prosrc => 'has_table_privilege_id_id' }, 4865{ oid => '1926', descr => 'current user privilege on relation by rel name', 4866 proname => 'has_table_privilege', provolatile => 's', prorettype => 'bool', 4867 proargtypes => 'text text', prosrc => 'has_table_privilege_name' }, 4868{ oid => '1927', descr => 'current user privilege on relation by rel oid', 4869 proname => 'has_table_privilege', provolatile => 's', prorettype => 'bool', 4870 proargtypes => 'oid text', prosrc => 'has_table_privilege_id' }, 4871 4872{ oid => '2181', descr => 'user privilege on sequence by username, seq name', 4873 proname => 'has_sequence_privilege', provolatile => 's', prorettype => 'bool', 4874 proargtypes => 'name text text', 4875 prosrc => 'has_sequence_privilege_name_name' }, 4876{ oid => '2182', descr => 'user privilege on sequence by username, seq oid', 4877 proname => 'has_sequence_privilege', provolatile => 's', prorettype => 'bool', 4878 proargtypes => 'name oid text', prosrc => 'has_sequence_privilege_name_id' }, 4879{ oid => '2183', descr => 'user privilege on sequence by user oid, seq name', 4880 proname => 'has_sequence_privilege', provolatile => 's', prorettype => 'bool', 4881 proargtypes => 'oid text text', prosrc => 'has_sequence_privilege_id_name' }, 4882{ oid => '2184', descr => 'user privilege on sequence by user oid, seq oid', 4883 proname => 'has_sequence_privilege', provolatile => 's', prorettype => 'bool', 4884 proargtypes => 'oid oid text', prosrc => 'has_sequence_privilege_id_id' }, 4885{ oid => '2185', descr => 'current user privilege on sequence by seq name', 4886 proname => 'has_sequence_privilege', provolatile => 's', prorettype => 'bool', 4887 proargtypes => 'text text', prosrc => 'has_sequence_privilege_name' }, 4888{ oid => '2186', descr => 'current user privilege on sequence by seq oid', 4889 proname => 'has_sequence_privilege', provolatile => 's', prorettype => 'bool', 4890 proargtypes => 'oid text', prosrc => 'has_sequence_privilege_id' }, 4891 4892{ oid => '3012', 4893 descr => 'user privilege on column by username, rel name, col name', 4894 proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', 4895 proargtypes => 'name text text text', 4896 prosrc => 'has_column_privilege_name_name_name' }, 4897{ oid => '3013', 4898 descr => 'user privilege on column by username, rel name, col attnum', 4899 proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', 4900 proargtypes => 'name text int2 text', 4901 prosrc => 'has_column_privilege_name_name_attnum' }, 4902{ oid => '3014', 4903 descr => 'user privilege on column by username, rel oid, col name', 4904 proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', 4905 proargtypes => 'name oid text text', 4906 prosrc => 'has_column_privilege_name_id_name' }, 4907{ oid => '3015', 4908 descr => 'user privilege on column by username, rel oid, col attnum', 4909 proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', 4910 proargtypes => 'name oid int2 text', 4911 prosrc => 'has_column_privilege_name_id_attnum' }, 4912{ oid => '3016', 4913 descr => 'user privilege on column by user oid, rel name, col name', 4914 proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', 4915 proargtypes => 'oid text text text', 4916 prosrc => 'has_column_privilege_id_name_name' }, 4917{ oid => '3017', 4918 descr => 'user privilege on column by user oid, rel name, col attnum', 4919 proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', 4920 proargtypes => 'oid text int2 text', 4921 prosrc => 'has_column_privilege_id_name_attnum' }, 4922{ oid => '3018', 4923 descr => 'user privilege on column by user oid, rel oid, col name', 4924 proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', 4925 proargtypes => 'oid oid text text', 4926 prosrc => 'has_column_privilege_id_id_name' }, 4927{ oid => '3019', 4928 descr => 'user privilege on column by user oid, rel oid, col attnum', 4929 proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', 4930 proargtypes => 'oid oid int2 text', 4931 prosrc => 'has_column_privilege_id_id_attnum' }, 4932{ oid => '3020', 4933 descr => 'current user privilege on column by rel name, col name', 4934 proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', 4935 proargtypes => 'text text text', prosrc => 'has_column_privilege_name_name' }, 4936{ oid => '3021', 4937 descr => 'current user privilege on column by rel name, col attnum', 4938 proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', 4939 proargtypes => 'text int2 text', 4940 prosrc => 'has_column_privilege_name_attnum' }, 4941{ oid => '3022', 4942 descr => 'current user privilege on column by rel oid, col name', 4943 proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', 4944 proargtypes => 'oid text text', prosrc => 'has_column_privilege_id_name' }, 4945{ oid => '3023', 4946 descr => 'current user privilege on column by rel oid, col attnum', 4947 proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', 4948 proargtypes => 'oid int2 text', prosrc => 'has_column_privilege_id_attnum' }, 4949 4950{ oid => '3024', 4951 descr => 'user privilege on any column by username, rel name', 4952 proname => 'has_any_column_privilege', procost => '10', provolatile => 's', 4953 prorettype => 'bool', proargtypes => 'name text text', 4954 prosrc => 'has_any_column_privilege_name_name' }, 4955{ oid => '3025', descr => 'user privilege on any column by username, rel oid', 4956 proname => 'has_any_column_privilege', procost => '10', provolatile => 's', 4957 prorettype => 'bool', proargtypes => 'name oid text', 4958 prosrc => 'has_any_column_privilege_name_id' }, 4959{ oid => '3026', 4960 descr => 'user privilege on any column by user oid, rel name', 4961 proname => 'has_any_column_privilege', procost => '10', provolatile => 's', 4962 prorettype => 'bool', proargtypes => 'oid text text', 4963 prosrc => 'has_any_column_privilege_id_name' }, 4964{ oid => '3027', descr => 'user privilege on any column by user oid, rel oid', 4965 proname => 'has_any_column_privilege', procost => '10', provolatile => 's', 4966 prorettype => 'bool', proargtypes => 'oid oid text', 4967 prosrc => 'has_any_column_privilege_id_id' }, 4968{ oid => '3028', descr => 'current user privilege on any column by rel name', 4969 proname => 'has_any_column_privilege', procost => '10', provolatile => 's', 4970 prorettype => 'bool', proargtypes => 'text text', 4971 prosrc => 'has_any_column_privilege_name' }, 4972{ oid => '3029', descr => 'current user privilege on any column by rel oid', 4973 proname => 'has_any_column_privilege', procost => '10', provolatile => 's', 4974 prorettype => 'bool', proargtypes => 'oid text', 4975 prosrc => 'has_any_column_privilege_id' }, 4976 4977{ oid => '3355', descr => 'I/O', 4978 proname => 'pg_ndistinct_in', prorettype => 'pg_ndistinct', 4979 proargtypes => 'cstring', prosrc => 'pg_ndistinct_in' }, 4980{ oid => '3356', descr => 'I/O', 4981 proname => 'pg_ndistinct_out', prorettype => 'cstring', 4982 proargtypes => 'pg_ndistinct', prosrc => 'pg_ndistinct_out' }, 4983{ oid => '3357', descr => 'I/O', 4984 proname => 'pg_ndistinct_recv', provolatile => 's', 4985 prorettype => 'pg_ndistinct', proargtypes => 'internal', 4986 prosrc => 'pg_ndistinct_recv' }, 4987{ oid => '3358', descr => 'I/O', 4988 proname => 'pg_ndistinct_send', provolatile => 's', prorettype => 'bytea', 4989 proargtypes => 'pg_ndistinct', prosrc => 'pg_ndistinct_send' }, 4990 4991{ oid => '3404', descr => 'I/O', 4992 proname => 'pg_dependencies_in', prorettype => 'pg_dependencies', 4993 proargtypes => 'cstring', prosrc => 'pg_dependencies_in' }, 4994{ oid => '3405', descr => 'I/O', 4995 proname => 'pg_dependencies_out', prorettype => 'cstring', 4996 proargtypes => 'pg_dependencies', prosrc => 'pg_dependencies_out' }, 4997{ oid => '3406', descr => 'I/O', 4998 proname => 'pg_dependencies_recv', provolatile => 's', 4999 prorettype => 'pg_dependencies', proargtypes => 'internal', 5000 prosrc => 'pg_dependencies_recv' }, 5001{ oid => '3407', descr => 'I/O', 5002 proname => 'pg_dependencies_send', provolatile => 's', prorettype => 'bytea', 5003 proargtypes => 'pg_dependencies', prosrc => 'pg_dependencies_send' }, 5004 5005{ oid => '5018', descr => 'I/O', 5006 proname => 'pg_mcv_list_in', prorettype => 'pg_mcv_list', 5007 proargtypes => 'cstring', prosrc => 'pg_mcv_list_in' }, 5008{ oid => '5019', descr => 'I/O', 5009 proname => 'pg_mcv_list_out', prorettype => 'cstring', 5010 proargtypes => 'pg_mcv_list', prosrc => 'pg_mcv_list_out' }, 5011{ oid => '5020', descr => 'I/O', 5012 proname => 'pg_mcv_list_recv', provolatile => 's', 5013 prorettype => 'pg_mcv_list', proargtypes => 'internal', 5014 prosrc => 'pg_mcv_list_recv' }, 5015{ oid => '5021', descr => 'I/O', 5016 proname => 'pg_mcv_list_send', provolatile => 's', prorettype => 'bytea', 5017 proargtypes => 'pg_mcv_list', prosrc => 'pg_mcv_list_send' }, 5018 5019{ oid => '3427', descr => 'details about MCV list items', 5020 proname => 'pg_mcv_list_items', prorows => '1000', proretset => 't', 5021 provolatile => 's', prorettype => 'record', proargtypes => 'pg_mcv_list', 5022 proallargtypes => '{pg_mcv_list,int4,_text,_bool,float8,float8}', 5023 proargmodes => '{i,o,o,o,o,o}', 5024 proargnames => '{mcv_list,index,values,nulls,frequency,base_frequency}', 5025 prosrc => 'pg_stats_ext_mcvlist_items' }, 5026 5027{ oid => '1928', descr => 'statistics: number of scans done for table/index', 5028 proname => 'pg_stat_get_numscans', provolatile => 's', proparallel => 'r', 5029 prorettype => 'int8', proargtypes => 'oid', 5030 prosrc => 'pg_stat_get_numscans' }, 5031{ oid => '1929', descr => 'statistics: number of tuples read by seqscan', 5032 proname => 'pg_stat_get_tuples_returned', provolatile => 's', 5033 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5034 prosrc => 'pg_stat_get_tuples_returned' }, 5035{ oid => '1930', descr => 'statistics: number of tuples fetched by idxscan', 5036 proname => 'pg_stat_get_tuples_fetched', provolatile => 's', 5037 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5038 prosrc => 'pg_stat_get_tuples_fetched' }, 5039{ oid => '1931', descr => 'statistics: number of tuples inserted', 5040 proname => 'pg_stat_get_tuples_inserted', provolatile => 's', 5041 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5042 prosrc => 'pg_stat_get_tuples_inserted' }, 5043{ oid => '1932', descr => 'statistics: number of tuples updated', 5044 proname => 'pg_stat_get_tuples_updated', provolatile => 's', 5045 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5046 prosrc => 'pg_stat_get_tuples_updated' }, 5047{ oid => '1933', descr => 'statistics: number of tuples deleted', 5048 proname => 'pg_stat_get_tuples_deleted', provolatile => 's', 5049 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5050 prosrc => 'pg_stat_get_tuples_deleted' }, 5051{ oid => '1972', descr => 'statistics: number of tuples hot updated', 5052 proname => 'pg_stat_get_tuples_hot_updated', provolatile => 's', 5053 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5054 prosrc => 'pg_stat_get_tuples_hot_updated' }, 5055{ oid => '2878', descr => 'statistics: number of live tuples', 5056 proname => 'pg_stat_get_live_tuples', provolatile => 's', proparallel => 'r', 5057 prorettype => 'int8', proargtypes => 'oid', 5058 prosrc => 'pg_stat_get_live_tuples' }, 5059{ oid => '2879', descr => 'statistics: number of dead tuples', 5060 proname => 'pg_stat_get_dead_tuples', provolatile => 's', proparallel => 'r', 5061 prorettype => 'int8', proargtypes => 'oid', 5062 prosrc => 'pg_stat_get_dead_tuples' }, 5063{ oid => '3177', 5064 descr => 'statistics: number of tuples changed since last analyze', 5065 proname => 'pg_stat_get_mod_since_analyze', provolatile => 's', 5066 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5067 prosrc => 'pg_stat_get_mod_since_analyze' }, 5068{ oid => '1934', descr => 'statistics: number of blocks fetched', 5069 proname => 'pg_stat_get_blocks_fetched', provolatile => 's', 5070 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5071 prosrc => 'pg_stat_get_blocks_fetched' }, 5072{ oid => '1935', descr => 'statistics: number of blocks found in cache', 5073 proname => 'pg_stat_get_blocks_hit', provolatile => 's', proparallel => 'r', 5074 prorettype => 'int8', proargtypes => 'oid', 5075 prosrc => 'pg_stat_get_blocks_hit' }, 5076{ oid => '2781', descr => 'statistics: last manual vacuum time for a table', 5077 proname => 'pg_stat_get_last_vacuum_time', provolatile => 's', 5078 proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'oid', 5079 prosrc => 'pg_stat_get_last_vacuum_time' }, 5080{ oid => '2782', descr => 'statistics: last auto vacuum time for a table', 5081 proname => 'pg_stat_get_last_autovacuum_time', provolatile => 's', 5082 proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'oid', 5083 prosrc => 'pg_stat_get_last_autovacuum_time' }, 5084{ oid => '2783', descr => 'statistics: last manual analyze time for a table', 5085 proname => 'pg_stat_get_last_analyze_time', provolatile => 's', 5086 proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'oid', 5087 prosrc => 'pg_stat_get_last_analyze_time' }, 5088{ oid => '2784', descr => 'statistics: last auto analyze time for a table', 5089 proname => 'pg_stat_get_last_autoanalyze_time', provolatile => 's', 5090 proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'oid', 5091 prosrc => 'pg_stat_get_last_autoanalyze_time' }, 5092{ oid => '3054', descr => 'statistics: number of manual vacuums for a table', 5093 proname => 'pg_stat_get_vacuum_count', provolatile => 's', proparallel => 'r', 5094 prorettype => 'int8', proargtypes => 'oid', 5095 prosrc => 'pg_stat_get_vacuum_count' }, 5096{ oid => '3055', descr => 'statistics: number of auto vacuums for a table', 5097 proname => 'pg_stat_get_autovacuum_count', provolatile => 's', 5098 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5099 prosrc => 'pg_stat_get_autovacuum_count' }, 5100{ oid => '3056', descr => 'statistics: number of manual analyzes for a table', 5101 proname => 'pg_stat_get_analyze_count', provolatile => 's', 5102 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5103 prosrc => 'pg_stat_get_analyze_count' }, 5104{ oid => '3057', descr => 'statistics: number of auto analyzes for a table', 5105 proname => 'pg_stat_get_autoanalyze_count', provolatile => 's', 5106 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5107 prosrc => 'pg_stat_get_autoanalyze_count' }, 5108{ oid => '1936', descr => 'statistics: currently active backend IDs', 5109 proname => 'pg_stat_get_backend_idset', prorows => '100', proretset => 't', 5110 provolatile => 's', proparallel => 'r', prorettype => 'int4', 5111 proargtypes => '', prosrc => 'pg_stat_get_backend_idset' }, 5112{ oid => '2022', 5113 descr => 'statistics: information about currently active backends', 5114 proname => 'pg_stat_get_activity', prorows => '100', proisstrict => 'f', 5115 proretset => 't', provolatile => 's', proparallel => 'r', 5116 prorettype => 'record', proargtypes => 'int4', 5117 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,numeric,text,bool,text,bool}', 5118 proargmodes => '{i,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o}', 5119 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,ssl_client_dn,ssl_client_serial,ssl_issuer_dn,gss_auth,gss_princ,gss_enc}', 5120 prosrc => 'pg_stat_get_activity' }, 5121{ oid => '3318', 5122 descr => 'statistics: information about progress of backends running maintenance command', 5123 proname => 'pg_stat_get_progress_info', prorows => '100', proretset => 't', 5124 provolatile => 's', proparallel => 'r', prorettype => 'record', 5125 proargtypes => 'text', 5126 proallargtypes => '{text,int4,oid,oid,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8}', 5127 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}', 5128 proargnames => '{cmdtype,pid,datid,relid,param1,param2,param3,param4,param5,param6,param7,param8,param9,param10,param11,param12,param13,param14,param15,param16,param17,param18,param19,param20}', 5129 prosrc => 'pg_stat_get_progress_info' }, 5130{ oid => '3099', 5131 descr => 'statistics: information about currently active replication', 5132 proname => 'pg_stat_get_wal_senders', prorows => '10', proisstrict => 'f', 5133 proretset => 't', provolatile => 's', proparallel => 'r', 5134 prorettype => 'record', proargtypes => '', 5135 proallargtypes => '{int4,text,pg_lsn,pg_lsn,pg_lsn,pg_lsn,interval,interval,interval,int4,text,timestamptz}', 5136 proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o}', 5137 proargnames => '{pid,state,sent_lsn,write_lsn,flush_lsn,replay_lsn,write_lag,flush_lag,replay_lag,sync_priority,sync_state,reply_time}', 5138 prosrc => 'pg_stat_get_wal_senders' }, 5139{ oid => '3317', descr => 'statistics: information about WAL receiver', 5140 proname => 'pg_stat_get_wal_receiver', proisstrict => 'f', provolatile => 's', 5141 proparallel => 'r', prorettype => 'record', proargtypes => '', 5142 proallargtypes => '{int4,text,pg_lsn,int4,pg_lsn,int4,timestamptz,timestamptz,pg_lsn,timestamptz,text,text,int4,text}', 5143 proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o,o,o}', 5144 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}', 5145 prosrc => 'pg_stat_get_wal_receiver' }, 5146{ oid => '6118', descr => 'statistics: information about subscription', 5147 proname => 'pg_stat_get_subscription', proisstrict => 'f', provolatile => 's', 5148 proparallel => 'r', prorettype => 'record', proargtypes => 'oid', 5149 proallargtypes => '{oid,oid,oid,int4,pg_lsn,timestamptz,timestamptz,pg_lsn,timestamptz}', 5150 proargmodes => '{i,o,o,o,o,o,o,o,o}', 5151 proargnames => '{subid,subid,relid,pid,received_lsn,last_msg_send_time,last_msg_receipt_time,latest_end_lsn,latest_end_time}', 5152 prosrc => 'pg_stat_get_subscription' }, 5153{ oid => '2026', descr => 'statistics: current backend PID', 5154 proname => 'pg_backend_pid', provolatile => 's', proparallel => 'r', 5155 prorettype => 'int4', proargtypes => '', prosrc => 'pg_backend_pid' }, 5156{ oid => '1937', descr => 'statistics: PID of backend', 5157 proname => 'pg_stat_get_backend_pid', provolatile => 's', proparallel => 'r', 5158 prorettype => 'int4', proargtypes => 'int4', 5159 prosrc => 'pg_stat_get_backend_pid' }, 5160{ oid => '1938', descr => 'statistics: database ID of backend', 5161 proname => 'pg_stat_get_backend_dbid', provolatile => 's', proparallel => 'r', 5162 prorettype => 'oid', proargtypes => 'int4', 5163 prosrc => 'pg_stat_get_backend_dbid' }, 5164{ oid => '1939', descr => 'statistics: user ID of backend', 5165 proname => 'pg_stat_get_backend_userid', provolatile => 's', 5166 proparallel => 'r', prorettype => 'oid', proargtypes => 'int4', 5167 prosrc => 'pg_stat_get_backend_userid' }, 5168{ oid => '1940', descr => 'statistics: current query of backend', 5169 proname => 'pg_stat_get_backend_activity', provolatile => 's', 5170 proparallel => 'r', prorettype => 'text', proargtypes => 'int4', 5171 prosrc => 'pg_stat_get_backend_activity' }, 5172{ oid => '2788', 5173 descr => 'statistics: wait event type on which backend is currently waiting', 5174 proname => 'pg_stat_get_backend_wait_event_type', provolatile => 's', 5175 proparallel => 'r', prorettype => 'text', proargtypes => 'int4', 5176 prosrc => 'pg_stat_get_backend_wait_event_type' }, 5177{ oid => '2853', 5178 descr => 'statistics: wait event on which backend is currently waiting', 5179 proname => 'pg_stat_get_backend_wait_event', provolatile => 's', 5180 proparallel => 'r', prorettype => 'text', proargtypes => 'int4', 5181 prosrc => 'pg_stat_get_backend_wait_event' }, 5182{ oid => '2094', 5183 descr => 'statistics: start time for current query of backend', 5184 proname => 'pg_stat_get_backend_activity_start', provolatile => 's', 5185 proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'int4', 5186 prosrc => 'pg_stat_get_backend_activity_start' }, 5187{ oid => '2857', 5188 descr => 'statistics: start time for backend\'s current transaction', 5189 proname => 'pg_stat_get_backend_xact_start', provolatile => 's', 5190 proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'int4', 5191 prosrc => 'pg_stat_get_backend_xact_start' }, 5192{ oid => '1391', 5193 descr => 'statistics: start time for current backend session', 5194 proname => 'pg_stat_get_backend_start', provolatile => 's', 5195 proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'int4', 5196 prosrc => 'pg_stat_get_backend_start' }, 5197{ oid => '1392', 5198 descr => 'statistics: address of client connected to backend', 5199 proname => 'pg_stat_get_backend_client_addr', provolatile => 's', 5200 proparallel => 'r', prorettype => 'inet', proargtypes => 'int4', 5201 prosrc => 'pg_stat_get_backend_client_addr' }, 5202{ oid => '1393', 5203 descr => 'statistics: port number of client connected to backend', 5204 proname => 'pg_stat_get_backend_client_port', provolatile => 's', 5205 proparallel => 'r', prorettype => 'int4', proargtypes => 'int4', 5206 prosrc => 'pg_stat_get_backend_client_port' }, 5207{ oid => '1941', descr => 'statistics: number of backends in database', 5208 proname => 'pg_stat_get_db_numbackends', provolatile => 's', 5209 proparallel => 'r', prorettype => 'int4', proargtypes => 'oid', 5210 prosrc => 'pg_stat_get_db_numbackends' }, 5211{ oid => '1942', descr => 'statistics: transactions committed', 5212 proname => 'pg_stat_get_db_xact_commit', provolatile => 's', 5213 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5214 prosrc => 'pg_stat_get_db_xact_commit' }, 5215{ oid => '1943', descr => 'statistics: transactions rolled back', 5216 proname => 'pg_stat_get_db_xact_rollback', provolatile => 's', 5217 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5218 prosrc => 'pg_stat_get_db_xact_rollback' }, 5219{ oid => '1944', descr => 'statistics: blocks fetched for database', 5220 proname => 'pg_stat_get_db_blocks_fetched', provolatile => 's', 5221 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5222 prosrc => 'pg_stat_get_db_blocks_fetched' }, 5223{ oid => '1945', descr => 'statistics: blocks found in cache for database', 5224 proname => 'pg_stat_get_db_blocks_hit', provolatile => 's', 5225 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5226 prosrc => 'pg_stat_get_db_blocks_hit' }, 5227{ oid => '2758', descr => 'statistics: tuples returned for database', 5228 proname => 'pg_stat_get_db_tuples_returned', provolatile => 's', 5229 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5230 prosrc => 'pg_stat_get_db_tuples_returned' }, 5231{ oid => '2759', descr => 'statistics: tuples fetched for database', 5232 proname => 'pg_stat_get_db_tuples_fetched', provolatile => 's', 5233 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5234 prosrc => 'pg_stat_get_db_tuples_fetched' }, 5235{ oid => '2760', descr => 'statistics: tuples inserted in database', 5236 proname => 'pg_stat_get_db_tuples_inserted', provolatile => 's', 5237 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5238 prosrc => 'pg_stat_get_db_tuples_inserted' }, 5239{ oid => '2761', descr => 'statistics: tuples updated in database', 5240 proname => 'pg_stat_get_db_tuples_updated', provolatile => 's', 5241 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5242 prosrc => 'pg_stat_get_db_tuples_updated' }, 5243{ oid => '2762', descr => 'statistics: tuples deleted in database', 5244 proname => 'pg_stat_get_db_tuples_deleted', provolatile => 's', 5245 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5246 prosrc => 'pg_stat_get_db_tuples_deleted' }, 5247{ oid => '3065', 5248 descr => 'statistics: recovery conflicts in database caused by drop tablespace', 5249 proname => 'pg_stat_get_db_conflict_tablespace', provolatile => 's', 5250 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5251 prosrc => 'pg_stat_get_db_conflict_tablespace' }, 5252{ oid => '3066', 5253 descr => 'statistics: recovery conflicts in database caused by relation lock', 5254 proname => 'pg_stat_get_db_conflict_lock', provolatile => 's', 5255 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5256 prosrc => 'pg_stat_get_db_conflict_lock' }, 5257{ oid => '3067', 5258 descr => 'statistics: recovery conflicts in database caused by snapshot expiry', 5259 proname => 'pg_stat_get_db_conflict_snapshot', provolatile => 's', 5260 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5261 prosrc => 'pg_stat_get_db_conflict_snapshot' }, 5262{ oid => '3068', 5263 descr => 'statistics: recovery conflicts in database caused by shared buffer pin', 5264 proname => 'pg_stat_get_db_conflict_bufferpin', provolatile => 's', 5265 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5266 prosrc => 'pg_stat_get_db_conflict_bufferpin' }, 5267{ oid => '3069', 5268 descr => 'statistics: recovery conflicts in database caused by buffer deadlock', 5269 proname => 'pg_stat_get_db_conflict_startup_deadlock', provolatile => 's', 5270 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5271 prosrc => 'pg_stat_get_db_conflict_startup_deadlock' }, 5272{ oid => '3070', descr => 'statistics: recovery conflicts in database', 5273 proname => 'pg_stat_get_db_conflict_all', provolatile => 's', 5274 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5275 prosrc => 'pg_stat_get_db_conflict_all' }, 5276{ oid => '3152', descr => 'statistics: deadlocks detected in database', 5277 proname => 'pg_stat_get_db_deadlocks', provolatile => 's', proparallel => 'r', 5278 prorettype => 'int8', proargtypes => 'oid', 5279 prosrc => 'pg_stat_get_db_deadlocks' }, 5280{ oid => '3426', 5281 descr => 'statistics: checksum failures detected in database', 5282 proname => 'pg_stat_get_db_checksum_failures', provolatile => 's', 5283 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5284 prosrc => 'pg_stat_get_db_checksum_failures' }, 5285{ oid => '3428', 5286 descr => 'statistics: when last checksum failure was detected in database', 5287 proname => 'pg_stat_get_db_checksum_last_failure', provolatile => 's', 5288 proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'oid', 5289 prosrc => 'pg_stat_get_db_checksum_last_failure' }, 5290{ oid => '3074', descr => 'statistics: last reset for a database', 5291 proname => 'pg_stat_get_db_stat_reset_time', provolatile => 's', 5292 proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'oid', 5293 prosrc => 'pg_stat_get_db_stat_reset_time' }, 5294{ oid => '3150', descr => 'statistics: number of temporary files written', 5295 proname => 'pg_stat_get_db_temp_files', provolatile => 's', 5296 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5297 prosrc => 'pg_stat_get_db_temp_files' }, 5298{ oid => '3151', 5299 descr => 'statistics: number of bytes in temporary files written', 5300 proname => 'pg_stat_get_db_temp_bytes', provolatile => 's', 5301 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5302 prosrc => 'pg_stat_get_db_temp_bytes' }, 5303{ oid => '2844', descr => 'statistics: block read time, in milliseconds', 5304 proname => 'pg_stat_get_db_blk_read_time', provolatile => 's', 5305 proparallel => 'r', prorettype => 'float8', proargtypes => 'oid', 5306 prosrc => 'pg_stat_get_db_blk_read_time' }, 5307{ oid => '2845', descr => 'statistics: block write time, in milliseconds', 5308 proname => 'pg_stat_get_db_blk_write_time', provolatile => 's', 5309 proparallel => 'r', prorettype => 'float8', proargtypes => 'oid', 5310 prosrc => 'pg_stat_get_db_blk_write_time' }, 5311{ oid => '3195', descr => 'statistics: information about WAL archiver', 5312 proname => 'pg_stat_get_archiver', proisstrict => 'f', provolatile => 's', 5313 proparallel => 'r', prorettype => 'record', proargtypes => '', 5314 proallargtypes => '{int8,text,timestamptz,int8,text,timestamptz,timestamptz}', 5315 proargmodes => '{o,o,o,o,o,o,o}', 5316 proargnames => '{archived_count,last_archived_wal,last_archived_time,failed_count,last_failed_wal,last_failed_time,stats_reset}', 5317 prosrc => 'pg_stat_get_archiver' }, 5318{ oid => '2769', 5319 descr => 'statistics: number of timed checkpoints started by the bgwriter', 5320 proname => 'pg_stat_get_bgwriter_timed_checkpoints', provolatile => 's', 5321 proparallel => 'r', prorettype => 'int8', proargtypes => '', 5322 prosrc => 'pg_stat_get_bgwriter_timed_checkpoints' }, 5323{ oid => '2770', 5324 descr => 'statistics: number of backend requested checkpoints started by the bgwriter', 5325 proname => 'pg_stat_get_bgwriter_requested_checkpoints', provolatile => 's', 5326 proparallel => 'r', prorettype => 'int8', proargtypes => '', 5327 prosrc => 'pg_stat_get_bgwriter_requested_checkpoints' }, 5328{ oid => '2771', 5329 descr => 'statistics: number of buffers written by the bgwriter during checkpoints', 5330 proname => 'pg_stat_get_bgwriter_buf_written_checkpoints', provolatile => 's', 5331 proparallel => 'r', prorettype => 'int8', proargtypes => '', 5332 prosrc => 'pg_stat_get_bgwriter_buf_written_checkpoints' }, 5333{ oid => '2772', 5334 descr => 'statistics: number of buffers written by the bgwriter for cleaning dirty buffers', 5335 proname => 'pg_stat_get_bgwriter_buf_written_clean', provolatile => 's', 5336 proparallel => 'r', prorettype => 'int8', proargtypes => '', 5337 prosrc => 'pg_stat_get_bgwriter_buf_written_clean' }, 5338{ oid => '2773', 5339 descr => 'statistics: number of times the bgwriter stopped processing when it had written too many buffers while cleaning', 5340 proname => 'pg_stat_get_bgwriter_maxwritten_clean', provolatile => 's', 5341 proparallel => 'r', prorettype => 'int8', proargtypes => '', 5342 prosrc => 'pg_stat_get_bgwriter_maxwritten_clean' }, 5343{ oid => '3075', descr => 'statistics: last reset for the bgwriter', 5344 proname => 'pg_stat_get_bgwriter_stat_reset_time', provolatile => 's', 5345 proparallel => 'r', prorettype => 'timestamptz', proargtypes => '', 5346 prosrc => 'pg_stat_get_bgwriter_stat_reset_time' }, 5347{ oid => '3160', 5348 descr => 'statistics: checkpoint time spent writing buffers to disk, in milliseconds', 5349 proname => 'pg_stat_get_checkpoint_write_time', provolatile => 's', 5350 proparallel => 'r', prorettype => 'float8', proargtypes => '', 5351 prosrc => 'pg_stat_get_checkpoint_write_time' }, 5352{ oid => '3161', 5353 descr => 'statistics: checkpoint time spent synchronizing buffers to disk, in milliseconds', 5354 proname => 'pg_stat_get_checkpoint_sync_time', provolatile => 's', 5355 proparallel => 'r', prorettype => 'float8', proargtypes => '', 5356 prosrc => 'pg_stat_get_checkpoint_sync_time' }, 5357{ oid => '2775', descr => 'statistics: number of buffers written by backends', 5358 proname => 'pg_stat_get_buf_written_backend', provolatile => 's', 5359 proparallel => 'r', prorettype => 'int8', proargtypes => '', 5360 prosrc => 'pg_stat_get_buf_written_backend' }, 5361{ oid => '3063', 5362 descr => 'statistics: number of backend buffer writes that did their own fsync', 5363 proname => 'pg_stat_get_buf_fsync_backend', provolatile => 's', 5364 proparallel => 'r', prorettype => 'int8', proargtypes => '', 5365 prosrc => 'pg_stat_get_buf_fsync_backend' }, 5366{ oid => '2859', descr => 'statistics: number of buffer allocations', 5367 proname => 'pg_stat_get_buf_alloc', provolatile => 's', proparallel => 'r', 5368 prorettype => 'int8', proargtypes => '', prosrc => 'pg_stat_get_buf_alloc' }, 5369 5370{ oid => '2978', descr => 'statistics: number of function calls', 5371 proname => 'pg_stat_get_function_calls', provolatile => 's', 5372 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5373 prosrc => 'pg_stat_get_function_calls' }, 5374{ oid => '2979', 5375 descr => 'statistics: total execution time of function, in milliseconds', 5376 proname => 'pg_stat_get_function_total_time', provolatile => 's', 5377 proparallel => 'r', prorettype => 'float8', proargtypes => 'oid', 5378 prosrc => 'pg_stat_get_function_total_time' }, 5379{ oid => '2980', 5380 descr => 'statistics: self execution time of function, in milliseconds', 5381 proname => 'pg_stat_get_function_self_time', provolatile => 's', 5382 proparallel => 'r', prorettype => 'float8', proargtypes => 'oid', 5383 prosrc => 'pg_stat_get_function_self_time' }, 5384 5385{ oid => '3037', 5386 descr => 'statistics: number of scans done for table/index in current transaction', 5387 proname => 'pg_stat_get_xact_numscans', provolatile => 'v', 5388 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5389 prosrc => 'pg_stat_get_xact_numscans' }, 5390{ oid => '3038', 5391 descr => 'statistics: number of tuples read by seqscan in current transaction', 5392 proname => 'pg_stat_get_xact_tuples_returned', provolatile => 'v', 5393 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5394 prosrc => 'pg_stat_get_xact_tuples_returned' }, 5395{ oid => '3039', 5396 descr => 'statistics: number of tuples fetched by idxscan in current transaction', 5397 proname => 'pg_stat_get_xact_tuples_fetched', provolatile => 'v', 5398 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5399 prosrc => 'pg_stat_get_xact_tuples_fetched' }, 5400{ oid => '3040', 5401 descr => 'statistics: number of tuples inserted in current transaction', 5402 proname => 'pg_stat_get_xact_tuples_inserted', provolatile => 'v', 5403 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5404 prosrc => 'pg_stat_get_xact_tuples_inserted' }, 5405{ oid => '3041', 5406 descr => 'statistics: number of tuples updated in current transaction', 5407 proname => 'pg_stat_get_xact_tuples_updated', provolatile => 'v', 5408 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5409 prosrc => 'pg_stat_get_xact_tuples_updated' }, 5410{ oid => '3042', 5411 descr => 'statistics: number of tuples deleted in current transaction', 5412 proname => 'pg_stat_get_xact_tuples_deleted', provolatile => 'v', 5413 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5414 prosrc => 'pg_stat_get_xact_tuples_deleted' }, 5415{ oid => '3043', 5416 descr => 'statistics: number of tuples hot updated in current transaction', 5417 proname => 'pg_stat_get_xact_tuples_hot_updated', provolatile => 'v', 5418 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5419 prosrc => 'pg_stat_get_xact_tuples_hot_updated' }, 5420{ oid => '3044', 5421 descr => 'statistics: number of blocks fetched in current transaction', 5422 proname => 'pg_stat_get_xact_blocks_fetched', provolatile => 'v', 5423 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5424 prosrc => 'pg_stat_get_xact_blocks_fetched' }, 5425{ oid => '3045', 5426 descr => 'statistics: number of blocks found in cache in current transaction', 5427 proname => 'pg_stat_get_xact_blocks_hit', provolatile => 'v', 5428 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5429 prosrc => 'pg_stat_get_xact_blocks_hit' }, 5430{ oid => '3046', 5431 descr => 'statistics: number of function calls in current transaction', 5432 proname => 'pg_stat_get_xact_function_calls', provolatile => 'v', 5433 proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', 5434 prosrc => 'pg_stat_get_xact_function_calls' }, 5435{ oid => '3047', 5436 descr => 'statistics: total execution time of function in current transaction, in milliseconds', 5437 proname => 'pg_stat_get_xact_function_total_time', provolatile => 'v', 5438 proparallel => 'r', prorettype => 'float8', proargtypes => 'oid', 5439 prosrc => 'pg_stat_get_xact_function_total_time' }, 5440{ oid => '3048', 5441 descr => 'statistics: self execution time of function in current transaction, in milliseconds', 5442 proname => 'pg_stat_get_xact_function_self_time', provolatile => 'v', 5443 proparallel => 'r', prorettype => 'float8', proargtypes => 'oid', 5444 prosrc => 'pg_stat_get_xact_function_self_time' }, 5445 5446{ oid => '3788', 5447 descr => 'statistics: timestamp of the current statistics snapshot', 5448 proname => 'pg_stat_get_snapshot_timestamp', provolatile => 's', 5449 proparallel => 'r', prorettype => 'timestamptz', proargtypes => '', 5450 prosrc => 'pg_stat_get_snapshot_timestamp' }, 5451{ oid => '2230', 5452 descr => 'statistics: discard current transaction\'s statistics snapshot', 5453 proname => 'pg_stat_clear_snapshot', proisstrict => 'f', provolatile => 'v', 5454 proparallel => 'r', prorettype => 'void', proargtypes => '', 5455 prosrc => 'pg_stat_clear_snapshot' }, 5456{ oid => '2274', 5457 descr => 'statistics: reset collected statistics for current database', 5458 proname => 'pg_stat_reset', proisstrict => 'f', provolatile => 'v', 5459 prorettype => 'void', proargtypes => '', prosrc => 'pg_stat_reset' }, 5460{ oid => '3775', 5461 descr => 'statistics: reset collected statistics shared across the cluster', 5462 proname => 'pg_stat_reset_shared', provolatile => 'v', prorettype => 'void', 5463 proargtypes => 'text', prosrc => 'pg_stat_reset_shared' }, 5464{ oid => '3776', 5465 descr => 'statistics: reset collected statistics for a single table or index in the current database', 5466 proname => 'pg_stat_reset_single_table_counters', provolatile => 'v', 5467 prorettype => 'void', proargtypes => 'oid', 5468 prosrc => 'pg_stat_reset_single_table_counters' }, 5469{ oid => '3777', 5470 descr => 'statistics: reset collected statistics for a single function in the current database', 5471 proname => 'pg_stat_reset_single_function_counters', provolatile => 'v', 5472 prorettype => 'void', proargtypes => 'oid', 5473 prosrc => 'pg_stat_reset_single_function_counters' }, 5474 5475{ oid => '3163', descr => 'current trigger depth', 5476 proname => 'pg_trigger_depth', provolatile => 's', proparallel => 'r', 5477 prorettype => 'int4', proargtypes => '', prosrc => 'pg_trigger_depth' }, 5478 5479{ oid => '3778', descr => 'tablespace location', 5480 proname => 'pg_tablespace_location', provolatile => 's', prorettype => 'text', 5481 proargtypes => 'oid', prosrc => 'pg_tablespace_location' }, 5482 5483{ oid => '1946', 5484 descr => 'convert bytea value into some ascii-only text string', 5485 proname => 'encode', prorettype => 'text', proargtypes => 'bytea text', 5486 prosrc => 'binary_encode' }, 5487{ oid => '1947', 5488 descr => 'convert ascii-encoded text string into bytea value', 5489 proname => 'decode', prorettype => 'bytea', proargtypes => 'text text', 5490 prosrc => 'binary_decode' }, 5491 5492{ oid => '1948', 5493 proname => 'byteaeq', proleakproof => 't', prorettype => 'bool', 5494 proargtypes => 'bytea bytea', prosrc => 'byteaeq' }, 5495{ oid => '1949', 5496 proname => 'bytealt', proleakproof => 't', prorettype => 'bool', 5497 proargtypes => 'bytea bytea', prosrc => 'bytealt' }, 5498{ oid => '1950', 5499 proname => 'byteale', proleakproof => 't', prorettype => 'bool', 5500 proargtypes => 'bytea bytea', prosrc => 'byteale' }, 5501{ oid => '1951', 5502 proname => 'byteagt', proleakproof => 't', prorettype => 'bool', 5503 proargtypes => 'bytea bytea', prosrc => 'byteagt' }, 5504{ oid => '1952', 5505 proname => 'byteage', proleakproof => 't', prorettype => 'bool', 5506 proargtypes => 'bytea bytea', prosrc => 'byteage' }, 5507{ oid => '1953', 5508 proname => 'byteane', proleakproof => 't', prorettype => 'bool', 5509 proargtypes => 'bytea bytea', prosrc => 'byteane' }, 5510{ oid => '1954', descr => 'less-equal-greater', 5511 proname => 'byteacmp', proleakproof => 't', prorettype => 'int4', 5512 proargtypes => 'bytea bytea', prosrc => 'byteacmp' }, 5513{ oid => '3331', descr => 'sort support', 5514 proname => 'bytea_sortsupport', prorettype => 'void', 5515 proargtypes => 'internal', prosrc => 'bytea_sortsupport' }, 5516 5517{ oid => '3917', descr => 'planner support for timestamp length coercion', 5518 proname => 'timestamp_support', prorettype => 'internal', 5519 proargtypes => 'internal', prosrc => 'timestamp_support' }, 5520{ oid => '3944', descr => 'planner support for time length coercion', 5521 proname => 'time_support', prorettype => 'internal', 5522 proargtypes => 'internal', prosrc => 'time_support' }, 5523 5524{ oid => '1961', descr => 'adjust timestamp precision', 5525 proname => 'timestamp', prosupport => 'timestamp_support', 5526 prorettype => 'timestamp', proargtypes => 'timestamp int4', 5527 prosrc => 'timestamp_scale' }, 5528 5529{ oid => '1965', descr => 'larger of two', 5530 proname => 'oidlarger', prorettype => 'oid', proargtypes => 'oid oid', 5531 prosrc => 'oidlarger' }, 5532{ oid => '1966', descr => 'smaller of two', 5533 proname => 'oidsmaller', prorettype => 'oid', proargtypes => 'oid oid', 5534 prosrc => 'oidsmaller' }, 5535 5536{ oid => '1967', descr => 'adjust timestamptz precision', 5537 proname => 'timestamptz', prosupport => 'timestamp_support', 5538 prorettype => 'timestamptz', proargtypes => 'timestamptz int4', 5539 prosrc => 'timestamptz_scale' }, 5540{ oid => '1968', descr => 'adjust time precision', 5541 proname => 'time', prosupport => 'time_support', prorettype => 'time', 5542 proargtypes => 'time int4', prosrc => 'time_scale' }, 5543{ oid => '1969', descr => 'adjust time with time zone precision', 5544 proname => 'timetz', prosupport => 'time_support', prorettype => 'timetz', 5545 proargtypes => 'timetz int4', prosrc => 'timetz_scale' }, 5546 5547{ oid => '2003', 5548 proname => 'textanycat', prolang => 'sql', provolatile => 's', 5549 prorettype => 'text', proargtypes => 'text anynonarray', 5550 prosrc => 'select $1 || $2::pg_catalog.text' }, 5551{ oid => '2004', 5552 proname => 'anytextcat', prolang => 'sql', provolatile => 's', 5553 prorettype => 'text', proargtypes => 'anynonarray text', 5554 prosrc => 'select $1::pg_catalog.text || $2' }, 5555 5556{ oid => '2005', 5557 proname => 'bytealike', prosupport => 'textlike_support', 5558 prorettype => 'bool', proargtypes => 'bytea bytea', prosrc => 'bytealike' }, 5559{ oid => '2006', 5560 proname => 'byteanlike', prorettype => 'bool', proargtypes => 'bytea bytea', 5561 prosrc => 'byteanlike' }, 5562{ oid => '2007', descr => 'matches LIKE expression', 5563 proname => 'like', prosupport => 'textlike_support', prorettype => 'bool', 5564 proargtypes => 'bytea bytea', prosrc => 'bytealike' }, 5565{ oid => '2008', descr => 'does not match LIKE expression', 5566 proname => 'notlike', prorettype => 'bool', proargtypes => 'bytea bytea', 5567 prosrc => 'byteanlike' }, 5568{ oid => '2009', descr => 'convert LIKE pattern to use backslash escapes', 5569 proname => 'like_escape', prorettype => 'bytea', proargtypes => 'bytea bytea', 5570 prosrc => 'like_escape_bytea' }, 5571{ oid => '2010', descr => 'octet length', 5572 proname => 'length', prorettype => 'int4', proargtypes => 'bytea', 5573 prosrc => 'byteaoctetlen' }, 5574{ oid => '2011', 5575 proname => 'byteacat', prorettype => 'bytea', proargtypes => 'bytea bytea', 5576 prosrc => 'byteacat' }, 5577{ oid => '2012', descr => 'extract portion of string', 5578 proname => 'substring', prorettype => 'bytea', 5579 proargtypes => 'bytea int4 int4', prosrc => 'bytea_substr' }, 5580{ oid => '2013', descr => 'extract portion of string', 5581 proname => 'substring', prorettype => 'bytea', proargtypes => 'bytea int4', 5582 prosrc => 'bytea_substr_no_len' }, 5583{ oid => '2085', descr => 'extract portion of string', 5584 proname => 'substr', prorettype => 'bytea', proargtypes => 'bytea int4 int4', 5585 prosrc => 'bytea_substr' }, 5586{ oid => '2086', descr => 'extract portion of string', 5587 proname => 'substr', prorettype => 'bytea', proargtypes => 'bytea int4', 5588 prosrc => 'bytea_substr_no_len' }, 5589{ oid => '2014', descr => 'position of substring', 5590 proname => 'position', prorettype => 'int4', proargtypes => 'bytea bytea', 5591 prosrc => 'byteapos' }, 5592{ oid => '2015', descr => 'trim both ends of string', 5593 proname => 'btrim', prorettype => 'bytea', proargtypes => 'bytea bytea', 5594 prosrc => 'byteatrim' }, 5595 5596{ oid => '2019', descr => 'convert timestamp with time zone to time', 5597 proname => 'time', provolatile => 's', prorettype => 'time', 5598 proargtypes => 'timestamptz', prosrc => 'timestamptz_time' }, 5599{ oid => '2020', descr => 'truncate timestamp to specified units', 5600 proname => 'date_trunc', prorettype => 'timestamp', 5601 proargtypes => 'text timestamp', prosrc => 'timestamp_trunc' }, 5602{ oid => '2021', descr => 'extract field from timestamp', 5603 proname => 'date_part', prorettype => 'float8', 5604 proargtypes => 'text timestamp', prosrc => 'timestamp_part' }, 5605{ oid => '2024', descr => 'convert date to timestamp', 5606 proname => 'timestamp', prorettype => 'timestamp', proargtypes => 'date', 5607 prosrc => 'date_timestamp' }, 5608{ oid => '2025', descr => 'convert date and time to timestamp', 5609 proname => 'timestamp', prorettype => 'timestamp', proargtypes => 'date time', 5610 prosrc => 'datetime_timestamp' }, 5611{ oid => '2027', descr => 'convert timestamp with time zone to timestamp', 5612 proname => 'timestamp', provolatile => 's', prorettype => 'timestamp', 5613 proargtypes => 'timestamptz', prosrc => 'timestamptz_timestamp' }, 5614{ oid => '2028', descr => 'convert timestamp to timestamp with time zone', 5615 proname => 'timestamptz', provolatile => 's', prorettype => 'timestamptz', 5616 proargtypes => 'timestamp', prosrc => 'timestamp_timestamptz' }, 5617{ oid => '2029', descr => 'convert timestamp to date', 5618 proname => 'date', prorettype => 'date', proargtypes => 'timestamp', 5619 prosrc => 'timestamp_date' }, 5620{ oid => '2031', 5621 proname => 'timestamp_mi', prorettype => 'interval', 5622 proargtypes => 'timestamp timestamp', prosrc => 'timestamp_mi' }, 5623{ oid => '2032', 5624 proname => 'timestamp_pl_interval', prorettype => 'timestamp', 5625 proargtypes => 'timestamp interval', prosrc => 'timestamp_pl_interval' }, 5626{ oid => '2033', 5627 proname => 'timestamp_mi_interval', prorettype => 'timestamp', 5628 proargtypes => 'timestamp interval', prosrc => 'timestamp_mi_interval' }, 5629{ oid => '2035', descr => 'smaller of two', 5630 proname => 'timestamp_smaller', prorettype => 'timestamp', 5631 proargtypes => 'timestamp timestamp', prosrc => 'timestamp_smaller' }, 5632{ oid => '2036', descr => 'larger of two', 5633 proname => 'timestamp_larger', prorettype => 'timestamp', 5634 proargtypes => 'timestamp timestamp', prosrc => 'timestamp_larger' }, 5635{ oid => '2037', descr => 'adjust time with time zone to new zone', 5636 proname => 'timezone', provolatile => 'v', prorettype => 'timetz', 5637 proargtypes => 'text timetz', prosrc => 'timetz_zone' }, 5638{ oid => '2038', descr => 'adjust time with time zone to new zone', 5639 proname => 'timezone', prorettype => 'timetz', 5640 proargtypes => 'interval timetz', prosrc => 'timetz_izone' }, 5641{ oid => '2039', descr => 'hash', 5642 proname => 'timestamp_hash', prorettype => 'int4', proargtypes => 'timestamp', 5643 prosrc => 'timestamp_hash' }, 5644{ oid => '3411', descr => 'hash', 5645 proname => 'timestamp_hash_extended', prorettype => 'int8', 5646 proargtypes => 'timestamp int8', prosrc => 'timestamp_hash_extended' }, 5647{ oid => '2041', descr => 'intervals overlap?', 5648 proname => 'overlaps', proisstrict => 'f', prorettype => 'bool', 5649 proargtypes => 'timestamp timestamp timestamp timestamp', 5650 prosrc => 'overlaps_timestamp' }, 5651{ oid => '2042', descr => 'intervals overlap?', 5652 proname => 'overlaps', prolang => 'sql', proisstrict => 'f', 5653 prorettype => 'bool', proargtypes => 'timestamp interval timestamp interval', 5654 prosrc => 'select ($1, ($1 + $2)) overlaps ($3, ($3 + $4))' }, 5655{ oid => '2043', descr => 'intervals overlap?', 5656 proname => 'overlaps', prolang => 'sql', proisstrict => 'f', 5657 prorettype => 'bool', proargtypes => 'timestamp timestamp timestamp interval', 5658 prosrc => 'select ($1, $2) overlaps ($3, ($3 + $4))' }, 5659{ oid => '2044', descr => 'intervals overlap?', 5660 proname => 'overlaps', prolang => 'sql', proisstrict => 'f', 5661 prorettype => 'bool', proargtypes => 'timestamp interval timestamp timestamp', 5662 prosrc => 'select ($1, ($1 + $2)) overlaps ($3, $4)' }, 5663{ oid => '2045', descr => 'less-equal-greater', 5664 proname => 'timestamp_cmp', proleakproof => 't', prorettype => 'int4', 5665 proargtypes => 'timestamp timestamp', prosrc => 'timestamp_cmp' }, 5666{ oid => '3137', descr => 'sort support', 5667 proname => 'timestamp_sortsupport', prorettype => 'void', 5668 proargtypes => 'internal', prosrc => 'timestamp_sortsupport' }, 5669 5670{ oid => '4134', descr => 'window RANGE support', 5671 proname => 'in_range', prorettype => 'bool', 5672 proargtypes => 'timestamp timestamp interval bool bool', 5673 prosrc => 'in_range_timestamp_interval' }, 5674{ oid => '4135', descr => 'window RANGE support', 5675 proname => 'in_range', provolatile => 's', prorettype => 'bool', 5676 proargtypes => 'timestamptz timestamptz interval bool bool', 5677 prosrc => 'in_range_timestamptz_interval' }, 5678{ oid => '4136', descr => 'window RANGE support', 5679 proname => 'in_range', prorettype => 'bool', 5680 proargtypes => 'interval interval interval bool bool', 5681 prosrc => 'in_range_interval_interval' }, 5682{ oid => '4137', descr => 'window RANGE support', 5683 proname => 'in_range', prorettype => 'bool', 5684 proargtypes => 'time time interval bool bool', 5685 prosrc => 'in_range_time_interval' }, 5686{ oid => '4138', descr => 'window RANGE support', 5687 proname => 'in_range', prorettype => 'bool', 5688 proargtypes => 'timetz timetz interval bool bool', 5689 prosrc => 'in_range_timetz_interval' }, 5690 5691{ oid => '2046', descr => 'convert time with time zone to time', 5692 proname => 'time', prorettype => 'time', proargtypes => 'timetz', 5693 prosrc => 'timetz_time' }, 5694{ oid => '2047', descr => 'convert time to time with time zone', 5695 proname => 'timetz', provolatile => 's', prorettype => 'timetz', 5696 proargtypes => 'time', prosrc => 'time_timetz' }, 5697{ oid => '2048', descr => 'finite timestamp?', 5698 proname => 'isfinite', prorettype => 'bool', proargtypes => 'timestamp', 5699 prosrc => 'timestamp_finite' }, 5700{ oid => '2049', descr => 'format timestamp to text', 5701 proname => 'to_char', provolatile => 's', prorettype => 'text', 5702 proargtypes => 'timestamp text', prosrc => 'timestamp_to_char' }, 5703{ oid => '2052', 5704 proname => 'timestamp_eq', proleakproof => 't', prorettype => 'bool', 5705 proargtypes => 'timestamp timestamp', prosrc => 'timestamp_eq' }, 5706{ oid => '2053', 5707 proname => 'timestamp_ne', proleakproof => 't', prorettype => 'bool', 5708 proargtypes => 'timestamp timestamp', prosrc => 'timestamp_ne' }, 5709{ oid => '2054', 5710 proname => 'timestamp_lt', proleakproof => 't', prorettype => 'bool', 5711 proargtypes => 'timestamp timestamp', prosrc => 'timestamp_lt' }, 5712{ oid => '2055', 5713 proname => 'timestamp_le', proleakproof => 't', prorettype => 'bool', 5714 proargtypes => 'timestamp timestamp', prosrc => 'timestamp_le' }, 5715{ oid => '2056', 5716 proname => 'timestamp_ge', proleakproof => 't', prorettype => 'bool', 5717 proargtypes => 'timestamp timestamp', prosrc => 'timestamp_ge' }, 5718{ oid => '2057', 5719 proname => 'timestamp_gt', proleakproof => 't', prorettype => 'bool', 5720 proargtypes => 'timestamp timestamp', prosrc => 'timestamp_gt' }, 5721{ oid => '2058', descr => 'date difference preserving months and years', 5722 proname => 'age', prorettype => 'interval', 5723 proargtypes => 'timestamp timestamp', prosrc => 'timestamp_age' }, 5724{ oid => '2059', 5725 descr => 'date difference from today preserving months and years', 5726 proname => 'age', prolang => 'sql', provolatile => 's', 5727 prorettype => 'interval', proargtypes => 'timestamp', 5728 prosrc => 'select pg_catalog.age(cast(current_date as timestamp without time zone), $1)' }, 5729 5730{ oid => '2069', descr => 'adjust timestamp to new time zone', 5731 proname => 'timezone', prorettype => 'timestamptz', 5732 proargtypes => 'text timestamp', prosrc => 'timestamp_zone' }, 5733{ oid => '2070', descr => 'adjust timestamp to new time zone', 5734 proname => 'timezone', prorettype => 'timestamptz', 5735 proargtypes => 'interval timestamp', prosrc => 'timestamp_izone' }, 5736{ oid => '2071', 5737 proname => 'date_pl_interval', prorettype => 'timestamp', 5738 proargtypes => 'date interval', prosrc => 'date_pl_interval' }, 5739{ oid => '2072', 5740 proname => 'date_mi_interval', prorettype => 'timestamp', 5741 proargtypes => 'date interval', prosrc => 'date_mi_interval' }, 5742 5743{ oid => '2073', descr => 'extract text matching regular expression', 5744 proname => 'substring', prorettype => 'text', proargtypes => 'text text', 5745 prosrc => 'textregexsubstr' }, 5746{ oid => '2074', descr => 'extract text matching SQL99 regular expression', 5747 proname => 'substring', prolang => 'sql', prorettype => 'text', 5748 proargtypes => 'text text text', 5749 prosrc => 'select pg_catalog.substring($1, pg_catalog.similar_escape($2, $3))' }, 5750 5751{ oid => '2075', descr => 'convert int8 to bitstring', 5752 proname => 'bit', prorettype => 'bit', proargtypes => 'int8 int4', 5753 prosrc => 'bitfromint8' }, 5754{ oid => '2076', descr => 'convert bitstring to int8', 5755 proname => 'int8', prorettype => 'int8', proargtypes => 'bit', 5756 prosrc => 'bittoint8' }, 5757 5758{ oid => '2077', descr => 'SHOW X as a function', 5759 proname => 'current_setting', provolatile => 's', prorettype => 'text', 5760 proargtypes => 'text', prosrc => 'show_config_by_name' }, 5761{ oid => '3294', 5762 descr => 'SHOW X as a function, optionally no error for missing variable', 5763 proname => 'current_setting', provolatile => 's', prorettype => 'text', 5764 proargtypes => 'text bool', prosrc => 'show_config_by_name_missing_ok' }, 5765{ oid => '2078', descr => 'SET X as a function', 5766 proname => 'set_config', proisstrict => 'f', provolatile => 'v', 5767 proparallel => 'u', prorettype => 'text', proargtypes => 'text text bool', 5768 prosrc => 'set_config_by_name' }, 5769{ oid => '2084', descr => 'SHOW ALL as a function', 5770 proname => 'pg_show_all_settings', prorows => '1000', proretset => 't', 5771 provolatile => 's', prorettype => 'record', proargtypes => '', 5772 proallargtypes => '{text,text,text,text,text,text,text,text,text,text,text,_text,text,text,text,int4,bool}', 5773 proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o}', 5774 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}', 5775 prosrc => 'show_all_settings' }, 5776{ oid => '3329', descr => 'show config file settings', 5777 proname => 'pg_show_all_file_settings', prorows => '1000', proretset => 't', 5778 provolatile => 'v', prorettype => 'record', proargtypes => '', 5779 proallargtypes => '{text,int4,int4,text,text,bool,text}', 5780 proargmodes => '{o,o,o,o,o,o,o}', 5781 proargnames => '{sourcefile,sourceline,seqno,name,setting,applied,error}', 5782 prosrc => 'show_all_file_settings' }, 5783{ oid => '3401', descr => 'show pg_hba.conf rules', 5784 proname => 'pg_hba_file_rules', prorows => '1000', proretset => 't', 5785 provolatile => 'v', prorettype => 'record', proargtypes => '', 5786 proallargtypes => '{int4,text,_text,_text,text,text,text,_text,text}', 5787 proargmodes => '{o,o,o,o,o,o,o,o,o}', 5788 proargnames => '{line_number,type,database,user_name,address,netmask,auth_method,options,error}', 5789 prosrc => 'pg_hba_file_rules' }, 5790{ oid => '1371', descr => 'view system lock information', 5791 proname => 'pg_lock_status', prorows => '1000', proretset => 't', 5792 provolatile => 'v', prorettype => 'record', proargtypes => '', 5793 proallargtypes => '{text,oid,oid,int4,int2,text,xid,oid,oid,int2,text,int4,text,bool,bool}', 5794 proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o,o,o,o}', 5795 proargnames => '{locktype,database,relation,page,tuple,virtualxid,transactionid,classid,objid,objsubid,virtualtransaction,pid,mode,granted,fastpath}', 5796 prosrc => 'pg_lock_status' }, 5797{ oid => '2561', 5798 descr => 'get array of PIDs of sessions blocking specified backend PID from acquiring a heavyweight lock', 5799 proname => 'pg_blocking_pids', provolatile => 'v', prorettype => '_int4', 5800 proargtypes => 'int4', prosrc => 'pg_blocking_pids' }, 5801{ oid => '3376', 5802 descr => 'get array of PIDs of sessions blocking specified backend PID from acquiring a safe snapshot', 5803 proname => 'pg_safe_snapshot_blocking_pids', provolatile => 'v', 5804 prorettype => '_int4', proargtypes => 'int4', 5805 prosrc => 'pg_safe_snapshot_blocking_pids' }, 5806{ oid => '3378', descr => 'isolationtester support function', 5807 proname => 'pg_isolation_test_session_is_blocked', provolatile => 'v', 5808 prorettype => 'bool', proargtypes => 'int4 _int4', 5809 prosrc => 'pg_isolation_test_session_is_blocked' }, 5810{ oid => '1065', descr => 'view two-phase transactions', 5811 proname => 'pg_prepared_xact', prorows => '1000', proretset => 't', 5812 provolatile => 'v', prorettype => 'record', proargtypes => '', 5813 proallargtypes => '{xid,text,timestamptz,oid,oid}', 5814 proargmodes => '{o,o,o,o,o}', 5815 proargnames => '{transaction,gid,prepared,ownerid,dbid}', 5816 prosrc => 'pg_prepared_xact' }, 5817{ oid => '3819', descr => 'view members of a multixactid', 5818 proname => 'pg_get_multixact_members', prorows => '1000', proretset => 't', 5819 provolatile => 'v', prorettype => 'record', proargtypes => 'xid', 5820 proallargtypes => '{xid,xid,text}', proargmodes => '{i,o,o}', 5821 proargnames => '{multixid,xid,mode}', prosrc => 'pg_get_multixact_members' }, 5822 5823{ oid => '3581', descr => 'get commit timestamp of a transaction', 5824 proname => 'pg_xact_commit_timestamp', provolatile => 'v', 5825 prorettype => 'timestamptz', proargtypes => 'xid', 5826 prosrc => 'pg_xact_commit_timestamp' }, 5827 5828{ oid => '3583', 5829 descr => 'get transaction Id and commit timestamp of latest transaction commit', 5830 proname => 'pg_last_committed_xact', provolatile => 'v', 5831 prorettype => 'record', proargtypes => '', 5832 proallargtypes => '{xid,timestamptz}', proargmodes => '{o,o}', 5833 proargnames => '{xid,timestamp}', prosrc => 'pg_last_committed_xact' }, 5834 5835{ oid => '3537', descr => 'get identification of SQL object', 5836 proname => 'pg_describe_object', provolatile => 's', prorettype => 'text', 5837 proargtypes => 'oid oid int4', prosrc => 'pg_describe_object' }, 5838 5839{ oid => '3839', 5840 descr => 'get machine-parseable identification of SQL object', 5841 proname => 'pg_identify_object', provolatile => 's', prorettype => 'record', 5842 proargtypes => 'oid oid int4', 5843 proallargtypes => '{oid,oid,int4,text,text,text,text}', 5844 proargmodes => '{i,i,i,o,o,o,o}', 5845 proargnames => '{classid,objid,objsubid,type,schema,name,identity}', 5846 prosrc => 'pg_identify_object' }, 5847 5848{ oid => '3382', 5849 descr => 'get identification of SQL object for pg_get_object_address()', 5850 proname => 'pg_identify_object_as_address', provolatile => 's', 5851 prorettype => 'record', proargtypes => 'oid oid int4', 5852 proallargtypes => '{oid,oid,int4,text,_text,_text}', 5853 proargmodes => '{i,i,i,o,o,o}', 5854 proargnames => '{classid,objid,objsubid,type,object_names,object_args}', 5855 prosrc => 'pg_identify_object_as_address' }, 5856 5857{ oid => '3954', 5858 descr => 'get OID-based object address from name/args arrays', 5859 proname => 'pg_get_object_address', provolatile => 's', 5860 prorettype => 'record', proargtypes => 'text _text _text', 5861 proallargtypes => '{text,_text,_text,oid,oid,int4}', 5862 proargmodes => '{i,i,i,o,o,o}', 5863 proargnames => '{type,object_names,object_args,classid,objid,objsubid}', 5864 prosrc => 'pg_get_object_address' }, 5865 5866{ oid => '2079', descr => 'is table visible in search path?', 5867 proname => 'pg_table_is_visible', procost => '10', provolatile => 's', 5868 prorettype => 'bool', proargtypes => 'oid', prosrc => 'pg_table_is_visible' }, 5869{ oid => '2080', descr => 'is type visible in search path?', 5870 proname => 'pg_type_is_visible', procost => '10', provolatile => 's', 5871 prorettype => 'bool', proargtypes => 'oid', prosrc => 'pg_type_is_visible' }, 5872{ oid => '2081', descr => 'is function visible in search path?', 5873 proname => 'pg_function_is_visible', procost => '10', provolatile => 's', 5874 prorettype => 'bool', proargtypes => 'oid', 5875 prosrc => 'pg_function_is_visible' }, 5876{ oid => '2082', descr => 'is operator visible in search path?', 5877 proname => 'pg_operator_is_visible', procost => '10', provolatile => 's', 5878 prorettype => 'bool', proargtypes => 'oid', 5879 prosrc => 'pg_operator_is_visible' }, 5880{ oid => '2083', descr => 'is opclass visible in search path?', 5881 proname => 'pg_opclass_is_visible', procost => '10', provolatile => 's', 5882 prorettype => 'bool', proargtypes => 'oid', 5883 prosrc => 'pg_opclass_is_visible' }, 5884{ oid => '3829', descr => 'is opfamily visible in search path?', 5885 proname => 'pg_opfamily_is_visible', procost => '10', provolatile => 's', 5886 prorettype => 'bool', proargtypes => 'oid', 5887 prosrc => 'pg_opfamily_is_visible' }, 5888{ oid => '2093', descr => 'is conversion visible in search path?', 5889 proname => 'pg_conversion_is_visible', procost => '10', provolatile => 's', 5890 prorettype => 'bool', proargtypes => 'oid', 5891 prosrc => 'pg_conversion_is_visible' }, 5892{ oid => '3403', descr => 'is statistics object visible in search path?', 5893 proname => 'pg_statistics_obj_is_visible', procost => '10', 5894 provolatile => 's', prorettype => 'bool', proargtypes => 'oid', 5895 prosrc => 'pg_statistics_obj_is_visible' }, 5896{ oid => '3756', descr => 'is text search parser visible in search path?', 5897 proname => 'pg_ts_parser_is_visible', procost => '10', provolatile => 's', 5898 prorettype => 'bool', proargtypes => 'oid', 5899 prosrc => 'pg_ts_parser_is_visible' }, 5900{ oid => '3757', descr => 'is text search dictionary visible in search path?', 5901 proname => 'pg_ts_dict_is_visible', procost => '10', provolatile => 's', 5902 prorettype => 'bool', proargtypes => 'oid', 5903 prosrc => 'pg_ts_dict_is_visible' }, 5904{ oid => '3768', descr => 'is text search template visible in search path?', 5905 proname => 'pg_ts_template_is_visible', procost => '10', provolatile => 's', 5906 prorettype => 'bool', proargtypes => 'oid', 5907 prosrc => 'pg_ts_template_is_visible' }, 5908{ oid => '3758', 5909 descr => 'is text search configuration visible in search path?', 5910 proname => 'pg_ts_config_is_visible', procost => '10', provolatile => 's', 5911 prorettype => 'bool', proargtypes => 'oid', 5912 prosrc => 'pg_ts_config_is_visible' }, 5913{ oid => '3815', descr => 'is collation visible in search path?', 5914 proname => 'pg_collation_is_visible', procost => '10', provolatile => 's', 5915 prorettype => 'bool', proargtypes => 'oid', 5916 prosrc => 'pg_collation_is_visible' }, 5917 5918{ oid => '2854', descr => 'get OID of current session\'s temp schema, if any', 5919 proname => 'pg_my_temp_schema', provolatile => 's', proparallel => 'r', 5920 prorettype => 'oid', proargtypes => '', prosrc => 'pg_my_temp_schema' }, 5921{ oid => '2855', descr => 'is schema another session\'s temp schema?', 5922 proname => 'pg_is_other_temp_schema', provolatile => 's', 5923 prorettype => 'bool', proargtypes => 'oid', 5924 prosrc => 'pg_is_other_temp_schema' }, 5925 5926{ oid => '2171', descr => 'cancel a server process\' current query', 5927 proname => 'pg_cancel_backend', provolatile => 'v', prorettype => 'bool', 5928 proargtypes => 'int4', prosrc => 'pg_cancel_backend' }, 5929{ oid => '2096', descr => 'terminate a server process', 5930 proname => 'pg_terminate_backend', provolatile => 'v', prorettype => 'bool', 5931 proargtypes => 'int4', prosrc => 'pg_terminate_backend' }, 5932{ oid => '2172', descr => 'prepare for taking an online backup', 5933 proname => 'pg_start_backup', provolatile => 'v', proparallel => 'r', 5934 prorettype => 'pg_lsn', proargtypes => 'text bool bool', 5935 prosrc => 'pg_start_backup' }, 5936{ oid => '2173', descr => 'finish taking an online backup', 5937 proname => 'pg_stop_backup', provolatile => 'v', proparallel => 'r', 5938 prorettype => 'pg_lsn', proargtypes => '', prosrc => 'pg_stop_backup' }, 5939{ oid => '2739', descr => 'finish taking an online backup', 5940 proname => 'pg_stop_backup', prorows => '1', proretset => 't', 5941 provolatile => 'v', proparallel => 'r', prorettype => 'record', 5942 proargtypes => 'bool bool', proallargtypes => '{bool,bool,pg_lsn,text,text}', 5943 proargmodes => '{i,i,o,o,o}', 5944 proargnames => '{exclusive,wait_for_archive,lsn,labelfile,spcmapfile}', 5945 prosrc => 'pg_stop_backup_v2' }, 5946{ oid => '3813', descr => 'true if server is in online backup', 5947 proname => 'pg_is_in_backup', provolatile => 'v', prorettype => 'bool', 5948 proargtypes => '', prosrc => 'pg_is_in_backup' }, 5949{ oid => '3814', descr => 'start time of an online backup', 5950 proname => 'pg_backup_start_time', provolatile => 's', 5951 prorettype => 'timestamptz', proargtypes => '', 5952 prosrc => 'pg_backup_start_time' }, 5953{ oid => '3436', descr => 'promote standby server', 5954 proname => 'pg_promote', provolatile => 'v', prorettype => 'bool', 5955 proargtypes => 'bool int4', proargnames => '{wait,wait_seconds}', 5956 prosrc => 'pg_promote' }, 5957{ oid => '2848', descr => 'switch to new wal file', 5958 proname => 'pg_switch_wal', provolatile => 'v', prorettype => 'pg_lsn', 5959 proargtypes => '', prosrc => 'pg_switch_wal' }, 5960{ oid => '3098', descr => 'create a named restore point', 5961 proname => 'pg_create_restore_point', provolatile => 'v', 5962 prorettype => 'pg_lsn', proargtypes => 'text', 5963 prosrc => 'pg_create_restore_point' }, 5964{ oid => '2849', descr => 'current wal write location', 5965 proname => 'pg_current_wal_lsn', provolatile => 'v', prorettype => 'pg_lsn', 5966 proargtypes => '', prosrc => 'pg_current_wal_lsn' }, 5967{ oid => '2852', descr => 'current wal insert location', 5968 proname => 'pg_current_wal_insert_lsn', provolatile => 'v', 5969 prorettype => 'pg_lsn', proargtypes => '', 5970 prosrc => 'pg_current_wal_insert_lsn' }, 5971{ oid => '3330', descr => 'current wal flush location', 5972 proname => 'pg_current_wal_flush_lsn', provolatile => 'v', 5973 prorettype => 'pg_lsn', proargtypes => '', 5974 prosrc => 'pg_current_wal_flush_lsn' }, 5975{ oid => '2850', 5976 descr => 'wal filename and byte offset, given a wal location', 5977 proname => 'pg_walfile_name_offset', prorettype => 'record', 5978 proargtypes => 'pg_lsn', proallargtypes => '{pg_lsn,text,int4}', 5979 proargmodes => '{i,o,o}', proargnames => '{lsn,file_name,file_offset}', 5980 prosrc => 'pg_walfile_name_offset' }, 5981{ oid => '2851', descr => 'wal filename, given a wal location', 5982 proname => 'pg_walfile_name', prorettype => 'text', proargtypes => 'pg_lsn', 5983 prosrc => 'pg_walfile_name' }, 5984 5985{ oid => '3165', descr => 'difference in bytes, given two wal locations', 5986 proname => 'pg_wal_lsn_diff', prorettype => 'numeric', 5987 proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_wal_lsn_diff' }, 5988 5989{ oid => '3809', descr => 'export a snapshot', 5990 proname => 'pg_export_snapshot', provolatile => 'v', proparallel => 'u', 5991 prorettype => 'text', proargtypes => '', prosrc => 'pg_export_snapshot' }, 5992 5993{ oid => '3810', descr => 'true if server is in recovery', 5994 proname => 'pg_is_in_recovery', provolatile => 'v', prorettype => 'bool', 5995 proargtypes => '', prosrc => 'pg_is_in_recovery' }, 5996 5997{ oid => '3820', descr => 'current wal flush location', 5998 proname => 'pg_last_wal_receive_lsn', provolatile => 'v', 5999 prorettype => 'pg_lsn', proargtypes => '', 6000 prosrc => 'pg_last_wal_receive_lsn' }, 6001{ oid => '3821', descr => 'last wal replay location', 6002 proname => 'pg_last_wal_replay_lsn', provolatile => 'v', 6003 prorettype => 'pg_lsn', proargtypes => '', 6004 prosrc => 'pg_last_wal_replay_lsn' }, 6005{ oid => '3830', descr => 'timestamp of last replay xact', 6006 proname => 'pg_last_xact_replay_timestamp', provolatile => 'v', 6007 prorettype => 'timestamptz', proargtypes => '', 6008 prosrc => 'pg_last_xact_replay_timestamp' }, 6009 6010{ oid => '3071', descr => 'pause wal replay', 6011 proname => 'pg_wal_replay_pause', provolatile => 'v', prorettype => 'void', 6012 proargtypes => '', prosrc => 'pg_wal_replay_pause' }, 6013{ oid => '3072', descr => 'resume wal replay, if it was paused', 6014 proname => 'pg_wal_replay_resume', provolatile => 'v', prorettype => 'void', 6015 proargtypes => '', prosrc => 'pg_wal_replay_resume' }, 6016{ oid => '3073', descr => 'true if wal replay is paused', 6017 proname => 'pg_is_wal_replay_paused', provolatile => 'v', 6018 prorettype => 'bool', proargtypes => '', 6019 prosrc => 'pg_is_wal_replay_paused' }, 6020 6021{ oid => '2621', descr => 'reload configuration files', 6022 proname => 'pg_reload_conf', provolatile => 'v', prorettype => 'bool', 6023 proargtypes => '', prosrc => 'pg_reload_conf' }, 6024{ oid => '2622', descr => 'rotate log file', 6025 proname => 'pg_rotate_logfile', provolatile => 'v', prorettype => 'bool', 6026 proargtypes => '', prosrc => 'pg_rotate_logfile_v2' }, 6027{ oid => '4099', descr => 'rotate log file - old version for adminpack 1.0', 6028 proname => 'pg_rotate_logfile_old', provolatile => 'v', prorettype => 'bool', 6029 proargtypes => '', prosrc => 'pg_rotate_logfile' }, 6030{ oid => '3800', descr => 'current logging collector file location', 6031 proname => 'pg_current_logfile', proisstrict => 'f', provolatile => 'v', 6032 prorettype => 'text', proargtypes => '', prosrc => 'pg_current_logfile' }, 6033{ oid => '3801', descr => 'current logging collector file location', 6034 proname => 'pg_current_logfile', proisstrict => 'f', provolatile => 'v', 6035 prorettype => 'text', proargtypes => 'text', 6036 prosrc => 'pg_current_logfile_1arg' }, 6037 6038{ oid => '2623', descr => 'get information about file', 6039 proname => 'pg_stat_file', provolatile => 'v', prorettype => 'record', 6040 proargtypes => 'text', 6041 proallargtypes => '{text,int8,timestamptz,timestamptz,timestamptz,timestamptz,bool}', 6042 proargmodes => '{i,o,o,o,o,o,o}', 6043 proargnames => '{filename,size,access,modification,change,creation,isdir}', 6044 prosrc => 'pg_stat_file_1arg' }, 6045{ oid => '3307', descr => 'get information about file', 6046 proname => 'pg_stat_file', provolatile => 'v', prorettype => 'record', 6047 proargtypes => 'text bool', 6048 proallargtypes => '{text,bool,int8,timestamptz,timestamptz,timestamptz,timestamptz,bool}', 6049 proargmodes => '{i,i,o,o,o,o,o,o}', 6050 proargnames => '{filename,missing_ok,size,access,modification,change,creation,isdir}', 6051 prosrc => 'pg_stat_file' }, 6052{ oid => '2624', descr => 'read text from a file', 6053 proname => 'pg_read_file', provolatile => 'v', prorettype => 'text', 6054 proargtypes => 'text int8 int8', prosrc => 'pg_read_file_off_len' }, 6055{ oid => '3293', descr => 'read text from a file', 6056 proname => 'pg_read_file', provolatile => 'v', prorettype => 'text', 6057 proargtypes => 'text int8 int8 bool', prosrc => 'pg_read_file_v2' }, 6058{ oid => '4100', 6059 descr => 'read text from a file - old version for adminpack 1.0', 6060 proname => 'pg_read_file_old', provolatile => 'v', prorettype => 'text', 6061 proargtypes => 'text int8 int8', prosrc => 'pg_read_file' }, 6062{ oid => '3826', descr => 'read text from a file', 6063 proname => 'pg_read_file', provolatile => 'v', prorettype => 'text', 6064 proargtypes => 'text', prosrc => 'pg_read_file_all' }, 6065{ oid => '3827', descr => 'read bytea from a file', 6066 proname => 'pg_read_binary_file', provolatile => 'v', prorettype => 'bytea', 6067 proargtypes => 'text int8 int8', prosrc => 'pg_read_binary_file_off_len' }, 6068{ oid => '3295', descr => 'read bytea from a file', 6069 proname => 'pg_read_binary_file', provolatile => 'v', prorettype => 'bytea', 6070 proargtypes => 'text int8 int8 bool', prosrc => 'pg_read_binary_file' }, 6071{ oid => '3828', descr => 'read bytea from a file', 6072 proname => 'pg_read_binary_file', provolatile => 'v', prorettype => 'bytea', 6073 proargtypes => 'text', prosrc => 'pg_read_binary_file_all' }, 6074{ oid => '2625', descr => 'list all files in a directory', 6075 proname => 'pg_ls_dir', prorows => '1000', proretset => 't', 6076 provolatile => 'v', prorettype => 'text', proargtypes => 'text', 6077 prosrc => 'pg_ls_dir_1arg' }, 6078{ oid => '3297', descr => 'list all files in a directory', 6079 proname => 'pg_ls_dir', prorows => '1000', proretset => 't', 6080 provolatile => 'v', prorettype => 'text', proargtypes => 'text bool bool', 6081 prosrc => 'pg_ls_dir' }, 6082{ oid => '2626', descr => 'sleep for the specified time in seconds', 6083 proname => 'pg_sleep', provolatile => 'v', prorettype => 'void', 6084 proargtypes => 'float8', prosrc => 'pg_sleep' }, 6085{ oid => '3935', descr => 'sleep for the specified interval', 6086 proname => 'pg_sleep_for', prolang => 'sql', provolatile => 'v', 6087 prorettype => 'void', proargtypes => 'interval', 6088 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()))' }, 6089{ oid => '3936', descr => 'sleep until the specified time', 6090 proname => 'pg_sleep_until', prolang => 'sql', provolatile => 'v', 6091 prorettype => 'void', proargtypes => 'timestamptz', 6092 prosrc => 'select pg_catalog.pg_sleep(extract(epoch from $1) operator(pg_catalog.-) extract(epoch from pg_catalog.clock_timestamp()))' }, 6093{ oid => '315', descr => 'Is JIT compilation available in this session?', 6094 proname => 'pg_jit_available', provolatile => 'v', prorettype => 'bool', 6095 proargtypes => '', prosrc => 'pg_jit_available' }, 6096 6097{ oid => '2971', descr => 'convert boolean to text', 6098 proname => 'text', prorettype => 'text', proargtypes => 'bool', 6099 prosrc => 'booltext' }, 6100 6101# Aggregates (moved here from pg_aggregate for 7.3) 6102 6103{ oid => '2100', 6104 descr => 'the average (arithmetic mean) as numeric of all bigint values', 6105 proname => 'avg', prokind => 'a', proisstrict => 'f', prorettype => 'numeric', 6106 proargtypes => 'int8', prosrc => 'aggregate_dummy' }, 6107{ oid => '2101', 6108 descr => 'the average (arithmetic mean) as numeric of all integer values', 6109 proname => 'avg', prokind => 'a', proisstrict => 'f', prorettype => 'numeric', 6110 proargtypes => 'int4', prosrc => 'aggregate_dummy' }, 6111{ oid => '2102', 6112 descr => 'the average (arithmetic mean) as numeric of all smallint values', 6113 proname => 'avg', prokind => 'a', proisstrict => 'f', prorettype => 'numeric', 6114 proargtypes => 'int2', prosrc => 'aggregate_dummy' }, 6115{ oid => '2103', 6116 descr => 'the average (arithmetic mean) as numeric of all numeric values', 6117 proname => 'avg', prokind => 'a', proisstrict => 'f', prorettype => 'numeric', 6118 proargtypes => 'numeric', prosrc => 'aggregate_dummy' }, 6119{ oid => '2104', 6120 descr => 'the average (arithmetic mean) as float8 of all float4 values', 6121 proname => 'avg', prokind => 'a', proisstrict => 'f', prorettype => 'float8', 6122 proargtypes => 'float4', prosrc => 'aggregate_dummy' }, 6123{ oid => '2105', 6124 descr => 'the average (arithmetic mean) as float8 of all float8 values', 6125 proname => 'avg', prokind => 'a', proisstrict => 'f', prorettype => 'float8', 6126 proargtypes => 'float8', prosrc => 'aggregate_dummy' }, 6127{ oid => '2106', 6128 descr => 'the average (arithmetic mean) as interval of all interval values', 6129 proname => 'avg', prokind => 'a', proisstrict => 'f', 6130 prorettype => 'interval', proargtypes => 'interval', 6131 prosrc => 'aggregate_dummy' }, 6132 6133{ oid => '2107', descr => 'sum as numeric across all bigint input values', 6134 proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'numeric', 6135 proargtypes => 'int8', prosrc => 'aggregate_dummy' }, 6136{ oid => '2108', descr => 'sum as bigint across all integer input values', 6137 proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'int8', 6138 proargtypes => 'int4', prosrc => 'aggregate_dummy' }, 6139{ oid => '2109', descr => 'sum as bigint across all smallint input values', 6140 proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'int8', 6141 proargtypes => 'int2', prosrc => 'aggregate_dummy' }, 6142{ oid => '2110', descr => 'sum as float4 across all float4 input values', 6143 proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'float4', 6144 proargtypes => 'float4', prosrc => 'aggregate_dummy' }, 6145{ oid => '2111', descr => 'sum as float8 across all float8 input values', 6146 proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'float8', 6147 proargtypes => 'float8', prosrc => 'aggregate_dummy' }, 6148{ oid => '2112', descr => 'sum as money across all money input values', 6149 proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'money', 6150 proargtypes => 'money', prosrc => 'aggregate_dummy' }, 6151{ oid => '2113', descr => 'sum as interval across all interval input values', 6152 proname => 'sum', prokind => 'a', proisstrict => 'f', 6153 prorettype => 'interval', proargtypes => 'interval', 6154 prosrc => 'aggregate_dummy' }, 6155{ oid => '2114', descr => 'sum as numeric across all numeric input values', 6156 proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'numeric', 6157 proargtypes => 'numeric', prosrc => 'aggregate_dummy' }, 6158 6159{ oid => '2115', descr => 'maximum value of all bigint input values', 6160 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'int8', 6161 proargtypes => 'int8', prosrc => 'aggregate_dummy' }, 6162{ oid => '2116', descr => 'maximum value of all integer input values', 6163 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'int4', 6164 proargtypes => 'int4', prosrc => 'aggregate_dummy' }, 6165{ oid => '2117', descr => 'maximum value of all smallint input values', 6166 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'int2', 6167 proargtypes => 'int2', prosrc => 'aggregate_dummy' }, 6168{ oid => '2118', descr => 'maximum value of all oid input values', 6169 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'oid', 6170 proargtypes => 'oid', prosrc => 'aggregate_dummy' }, 6171{ oid => '2119', descr => 'maximum value of all float4 input values', 6172 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'float4', 6173 proargtypes => 'float4', prosrc => 'aggregate_dummy' }, 6174{ oid => '2120', descr => 'maximum value of all float8 input values', 6175 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'float8', 6176 proargtypes => 'float8', prosrc => 'aggregate_dummy' }, 6177{ oid => '2122', descr => 'maximum value of all date input values', 6178 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'date', 6179 proargtypes => 'date', prosrc => 'aggregate_dummy' }, 6180{ oid => '2123', descr => 'maximum value of all time input values', 6181 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'time', 6182 proargtypes => 'time', prosrc => 'aggregate_dummy' }, 6183{ oid => '2124', 6184 descr => 'maximum value of all time with time zone input values', 6185 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'timetz', 6186 proargtypes => 'timetz', prosrc => 'aggregate_dummy' }, 6187{ oid => '2125', descr => 'maximum value of all money input values', 6188 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'money', 6189 proargtypes => 'money', prosrc => 'aggregate_dummy' }, 6190{ oid => '2126', descr => 'maximum value of all timestamp input values', 6191 proname => 'max', prokind => 'a', proisstrict => 'f', 6192 prorettype => 'timestamp', proargtypes => 'timestamp', 6193 prosrc => 'aggregate_dummy' }, 6194{ oid => '2127', 6195 descr => 'maximum value of all timestamp with time zone input values', 6196 proname => 'max', prokind => 'a', proisstrict => 'f', 6197 prorettype => 'timestamptz', proargtypes => 'timestamptz', 6198 prosrc => 'aggregate_dummy' }, 6199{ oid => '2128', descr => 'maximum value of all interval input values', 6200 proname => 'max', prokind => 'a', proisstrict => 'f', 6201 prorettype => 'interval', proargtypes => 'interval', 6202 prosrc => 'aggregate_dummy' }, 6203{ oid => '2129', descr => 'maximum value of all text input values', 6204 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'text', 6205 proargtypes => 'text', prosrc => 'aggregate_dummy' }, 6206{ oid => '2130', descr => 'maximum value of all numeric input values', 6207 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'numeric', 6208 proargtypes => 'numeric', prosrc => 'aggregate_dummy' }, 6209{ oid => '2050', descr => 'maximum value of all anyarray input values', 6210 proname => 'max', prokind => 'a', proisstrict => 'f', 6211 prorettype => 'anyarray', proargtypes => 'anyarray', 6212 prosrc => 'aggregate_dummy' }, 6213{ oid => '2244', descr => 'maximum value of all bpchar input values', 6214 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'bpchar', 6215 proargtypes => 'bpchar', prosrc => 'aggregate_dummy' }, 6216{ oid => '2797', descr => 'maximum value of all tid input values', 6217 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'tid', 6218 proargtypes => 'tid', prosrc => 'aggregate_dummy' }, 6219{ oid => '3564', descr => 'maximum value of all inet input values', 6220 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'inet', 6221 proargtypes => 'inet', prosrc => 'aggregate_dummy' }, 6222 6223{ oid => '2131', descr => 'minimum value of all bigint input values', 6224 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'int8', 6225 proargtypes => 'int8', prosrc => 'aggregate_dummy' }, 6226{ oid => '2132', descr => 'minimum value of all integer input values', 6227 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'int4', 6228 proargtypes => 'int4', prosrc => 'aggregate_dummy' }, 6229{ oid => '2133', descr => 'minimum value of all smallint input values', 6230 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'int2', 6231 proargtypes => 'int2', prosrc => 'aggregate_dummy' }, 6232{ oid => '2134', descr => 'minimum value of all oid input values', 6233 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'oid', 6234 proargtypes => 'oid', prosrc => 'aggregate_dummy' }, 6235{ oid => '2135', descr => 'minimum value of all float4 input values', 6236 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'float4', 6237 proargtypes => 'float4', prosrc => 'aggregate_dummy' }, 6238{ oid => '2136', descr => 'minimum value of all float8 input values', 6239 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'float8', 6240 proargtypes => 'float8', prosrc => 'aggregate_dummy' }, 6241{ oid => '2138', descr => 'minimum value of all date input values', 6242 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'date', 6243 proargtypes => 'date', prosrc => 'aggregate_dummy' }, 6244{ oid => '2139', descr => 'minimum value of all time input values', 6245 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'time', 6246 proargtypes => 'time', prosrc => 'aggregate_dummy' }, 6247{ oid => '2140', 6248 descr => 'minimum value of all time with time zone input values', 6249 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'timetz', 6250 proargtypes => 'timetz', prosrc => 'aggregate_dummy' }, 6251{ oid => '2141', descr => 'minimum value of all money input values', 6252 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'money', 6253 proargtypes => 'money', prosrc => 'aggregate_dummy' }, 6254{ oid => '2142', descr => 'minimum value of all timestamp input values', 6255 proname => 'min', prokind => 'a', proisstrict => 'f', 6256 prorettype => 'timestamp', proargtypes => 'timestamp', 6257 prosrc => 'aggregate_dummy' }, 6258{ oid => '2143', 6259 descr => 'minimum value of all timestamp with time zone input values', 6260 proname => 'min', prokind => 'a', proisstrict => 'f', 6261 prorettype => 'timestamptz', proargtypes => 'timestamptz', 6262 prosrc => 'aggregate_dummy' }, 6263{ oid => '2144', descr => 'minimum value of all interval input values', 6264 proname => 'min', prokind => 'a', proisstrict => 'f', 6265 prorettype => 'interval', proargtypes => 'interval', 6266 prosrc => 'aggregate_dummy' }, 6267{ oid => '2145', descr => 'minimum value of all text values', 6268 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'text', 6269 proargtypes => 'text', prosrc => 'aggregate_dummy' }, 6270{ oid => '2146', descr => 'minimum value of all numeric input values', 6271 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'numeric', 6272 proargtypes => 'numeric', prosrc => 'aggregate_dummy' }, 6273{ oid => '2051', descr => 'minimum value of all anyarray input values', 6274 proname => 'min', prokind => 'a', proisstrict => 'f', 6275 prorettype => 'anyarray', proargtypes => 'anyarray', 6276 prosrc => 'aggregate_dummy' }, 6277{ oid => '2245', descr => 'minimum value of all bpchar input values', 6278 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'bpchar', 6279 proargtypes => 'bpchar', prosrc => 'aggregate_dummy' }, 6280{ oid => '2798', descr => 'minimum value of all tid input values', 6281 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'tid', 6282 proargtypes => 'tid', prosrc => 'aggregate_dummy' }, 6283{ oid => '3565', descr => 'minimum value of all inet input values', 6284 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'inet', 6285 proargtypes => 'inet', prosrc => 'aggregate_dummy' }, 6286 6287# count has two forms: count(any) and count(*) 6288{ oid => '2147', 6289 descr => 'number of input rows for which the input expression is not null', 6290 proname => 'count', prokind => 'a', proisstrict => 'f', prorettype => 'int8', 6291 proargtypes => 'any', prosrc => 'aggregate_dummy' }, 6292{ oid => '2803', descr => 'number of input rows', 6293 proname => 'count', prokind => 'a', proisstrict => 'f', prorettype => 'int8', 6294 proargtypes => '', prosrc => 'aggregate_dummy' }, 6295 6296{ oid => '2718', 6297 descr => 'population variance of bigint input values (square of the population standard deviation)', 6298 proname => 'var_pop', prokind => 'a', proisstrict => 'f', 6299 prorettype => 'numeric', proargtypes => 'int8', prosrc => 'aggregate_dummy' }, 6300{ oid => '2719', 6301 descr => 'population variance of integer input values (square of the population standard deviation)', 6302 proname => 'var_pop', prokind => 'a', proisstrict => 'f', 6303 prorettype => 'numeric', proargtypes => 'int4', prosrc => 'aggregate_dummy' }, 6304{ oid => '2720', 6305 descr => 'population variance of smallint input values (square of the population standard deviation)', 6306 proname => 'var_pop', prokind => 'a', proisstrict => 'f', 6307 prorettype => 'numeric', proargtypes => 'int2', prosrc => 'aggregate_dummy' }, 6308{ oid => '2721', 6309 descr => 'population variance of float4 input values (square of the population standard deviation)', 6310 proname => 'var_pop', prokind => 'a', proisstrict => 'f', 6311 prorettype => 'float8', proargtypes => 'float4', 6312 prosrc => 'aggregate_dummy' }, 6313{ oid => '2722', 6314 descr => 'population variance of float8 input values (square of the population standard deviation)', 6315 proname => 'var_pop', prokind => 'a', proisstrict => 'f', 6316 prorettype => 'float8', proargtypes => 'float8', 6317 prosrc => 'aggregate_dummy' }, 6318{ oid => '2723', 6319 descr => 'population variance of numeric input values (square of the population standard deviation)', 6320 proname => 'var_pop', prokind => 'a', proisstrict => 'f', 6321 prorettype => 'numeric', proargtypes => 'numeric', 6322 prosrc => 'aggregate_dummy' }, 6323 6324{ oid => '2641', 6325 descr => 'sample variance of bigint input values (square of the sample standard deviation)', 6326 proname => 'var_samp', prokind => 'a', proisstrict => 'f', 6327 prorettype => 'numeric', proargtypes => 'int8', prosrc => 'aggregate_dummy' }, 6328{ oid => '2642', 6329 descr => 'sample variance of integer input values (square of the sample standard deviation)', 6330 proname => 'var_samp', prokind => 'a', proisstrict => 'f', 6331 prorettype => 'numeric', proargtypes => 'int4', prosrc => 'aggregate_dummy' }, 6332{ oid => '2643', 6333 descr => 'sample variance of smallint input values (square of the sample standard deviation)', 6334 proname => 'var_samp', prokind => 'a', proisstrict => 'f', 6335 prorettype => 'numeric', proargtypes => 'int2', prosrc => 'aggregate_dummy' }, 6336{ oid => '2644', 6337 descr => 'sample variance of float4 input values (square of the sample standard deviation)', 6338 proname => 'var_samp', prokind => 'a', proisstrict => 'f', 6339 prorettype => 'float8', proargtypes => 'float4', 6340 prosrc => 'aggregate_dummy' }, 6341 6342{ oid => '2645', 6343 descr => 'sample variance of float8 input values (square of the sample standard deviation)', 6344 proname => 'var_samp', prokind => 'a', proisstrict => 'f', 6345 prorettype => 'float8', proargtypes => 'float8', 6346 prosrc => 'aggregate_dummy' }, 6347{ oid => '2646', 6348 descr => 'sample variance of numeric input values (square of the sample standard deviation)', 6349 proname => 'var_samp', prokind => 'a', proisstrict => 'f', 6350 prorettype => 'numeric', proargtypes => 'numeric', 6351 prosrc => 'aggregate_dummy' }, 6352 6353{ oid => '2148', descr => 'historical alias for var_samp', 6354 proname => 'variance', prokind => 'a', proisstrict => 'f', 6355 prorettype => 'numeric', proargtypes => 'int8', prosrc => 'aggregate_dummy' }, 6356{ oid => '2149', descr => 'historical alias for var_samp', 6357 proname => 'variance', prokind => 'a', proisstrict => 'f', 6358 prorettype => 'numeric', proargtypes => 'int4', prosrc => 'aggregate_dummy' }, 6359{ oid => '2150', descr => 'historical alias for var_samp', 6360 proname => 'variance', prokind => 'a', proisstrict => 'f', 6361 prorettype => 'numeric', proargtypes => 'int2', prosrc => 'aggregate_dummy' }, 6362{ oid => '2151', descr => 'historical alias for var_samp', 6363 proname => 'variance', prokind => 'a', proisstrict => 'f', 6364 prorettype => 'float8', proargtypes => 'float4', 6365 prosrc => 'aggregate_dummy' }, 6366{ oid => '2152', descr => 'historical alias for var_samp', 6367 proname => 'variance', prokind => 'a', proisstrict => 'f', 6368 prorettype => 'float8', proargtypes => 'float8', 6369 prosrc => 'aggregate_dummy' }, 6370{ oid => '2153', descr => 'historical alias for var_samp', 6371 proname => 'variance', prokind => 'a', proisstrict => 'f', 6372 prorettype => 'numeric', proargtypes => 'numeric', 6373 prosrc => 'aggregate_dummy' }, 6374 6375{ oid => '2724', 6376 descr => 'population standard deviation of bigint input values', 6377 proname => 'stddev_pop', prokind => 'a', proisstrict => 'f', 6378 prorettype => 'numeric', proargtypes => 'int8', prosrc => 'aggregate_dummy' }, 6379{ oid => '2725', 6380 descr => 'population standard deviation of integer input values', 6381 proname => 'stddev_pop', prokind => 'a', proisstrict => 'f', 6382 prorettype => 'numeric', proargtypes => 'int4', prosrc => 'aggregate_dummy' }, 6383{ oid => '2726', 6384 descr => 'population standard deviation of smallint input values', 6385 proname => 'stddev_pop', prokind => 'a', proisstrict => 'f', 6386 prorettype => 'numeric', proargtypes => 'int2', prosrc => 'aggregate_dummy' }, 6387{ oid => '2727', 6388 descr => 'population standard deviation of float4 input values', 6389 proname => 'stddev_pop', prokind => 'a', proisstrict => 'f', 6390 prorettype => 'float8', proargtypes => 'float4', 6391 prosrc => 'aggregate_dummy' }, 6392{ oid => '2728', 6393 descr => 'population standard deviation of float8 input values', 6394 proname => 'stddev_pop', prokind => 'a', proisstrict => 'f', 6395 prorettype => 'float8', proargtypes => 'float8', 6396 prosrc => 'aggregate_dummy' }, 6397{ oid => '2729', 6398 descr => 'population standard deviation of numeric input values', 6399 proname => 'stddev_pop', prokind => 'a', proisstrict => 'f', 6400 prorettype => 'numeric', proargtypes => 'numeric', 6401 prosrc => 'aggregate_dummy' }, 6402 6403{ oid => '2712', descr => 'sample standard deviation of bigint input values', 6404 proname => 'stddev_samp', prokind => 'a', proisstrict => 'f', 6405 prorettype => 'numeric', proargtypes => 'int8', prosrc => 'aggregate_dummy' }, 6406{ oid => '2713', descr => 'sample standard deviation of integer input values', 6407 proname => 'stddev_samp', prokind => 'a', proisstrict => 'f', 6408 prorettype => 'numeric', proargtypes => 'int4', prosrc => 'aggregate_dummy' }, 6409{ oid => '2714', 6410 descr => 'sample standard deviation of smallint input values', 6411 proname => 'stddev_samp', prokind => 'a', proisstrict => 'f', 6412 prorettype => 'numeric', proargtypes => 'int2', prosrc => 'aggregate_dummy' }, 6413{ oid => '2715', descr => 'sample standard deviation of float4 input values', 6414 proname => 'stddev_samp', prokind => 'a', proisstrict => 'f', 6415 prorettype => 'float8', proargtypes => 'float4', 6416 prosrc => 'aggregate_dummy' }, 6417{ oid => '2716', descr => 'sample standard deviation of float8 input values', 6418 proname => 'stddev_samp', prokind => 'a', proisstrict => 'f', 6419 prorettype => 'float8', proargtypes => 'float8', 6420 prosrc => 'aggregate_dummy' }, 6421{ oid => '2717', descr => 'sample standard deviation of numeric input values', 6422 proname => 'stddev_samp', prokind => 'a', proisstrict => 'f', 6423 prorettype => 'numeric', proargtypes => 'numeric', 6424 prosrc => 'aggregate_dummy' }, 6425 6426{ oid => '2154', descr => 'historical alias for stddev_samp', 6427 proname => 'stddev', prokind => 'a', proisstrict => 'f', 6428 prorettype => 'numeric', proargtypes => 'int8', prosrc => 'aggregate_dummy' }, 6429{ oid => '2155', descr => 'historical alias for stddev_samp', 6430 proname => 'stddev', prokind => 'a', proisstrict => 'f', 6431 prorettype => 'numeric', proargtypes => 'int4', prosrc => 'aggregate_dummy' }, 6432{ oid => '2156', descr => 'historical alias for stddev_samp', 6433 proname => 'stddev', prokind => 'a', proisstrict => 'f', 6434 prorettype => 'numeric', proargtypes => 'int2', prosrc => 'aggregate_dummy' }, 6435{ oid => '2157', descr => 'historical alias for stddev_samp', 6436 proname => 'stddev', prokind => 'a', proisstrict => 'f', 6437 prorettype => 'float8', proargtypes => 'float4', 6438 prosrc => 'aggregate_dummy' }, 6439{ oid => '2158', descr => 'historical alias for stddev_samp', 6440 proname => 'stddev', prokind => 'a', proisstrict => 'f', 6441 prorettype => 'float8', proargtypes => 'float8', 6442 prosrc => 'aggregate_dummy' }, 6443{ oid => '2159', descr => 'historical alias for stddev_samp', 6444 proname => 'stddev', prokind => 'a', proisstrict => 'f', 6445 prorettype => 'numeric', proargtypes => 'numeric', 6446 prosrc => 'aggregate_dummy' }, 6447 6448{ oid => '2818', 6449 descr => 'number of input rows in which both expressions are not null', 6450 proname => 'regr_count', prokind => 'a', proisstrict => 'f', 6451 prorettype => 'int8', proargtypes => 'float8 float8', 6452 prosrc => 'aggregate_dummy' }, 6453{ oid => '2819', 6454 descr => 'sum of squares of the independent variable (sum(X^2) - sum(X)^2/N)', 6455 proname => 'regr_sxx', prokind => 'a', proisstrict => 'f', 6456 prorettype => 'float8', proargtypes => 'float8 float8', 6457 prosrc => 'aggregate_dummy' }, 6458{ oid => '2820', 6459 descr => 'sum of squares of the dependent variable (sum(Y^2) - sum(Y)^2/N)', 6460 proname => 'regr_syy', prokind => 'a', proisstrict => 'f', 6461 prorettype => 'float8', proargtypes => 'float8 float8', 6462 prosrc => 'aggregate_dummy' }, 6463{ oid => '2821', 6464 descr => 'sum of products of independent times dependent variable (sum(X*Y) - sum(X) * sum(Y)/N)', 6465 proname => 'regr_sxy', prokind => 'a', proisstrict => 'f', 6466 prorettype => 'float8', proargtypes => 'float8 float8', 6467 prosrc => 'aggregate_dummy' }, 6468{ oid => '2822', descr => 'average of the independent variable (sum(X)/N)', 6469 proname => 'regr_avgx', prokind => 'a', proisstrict => 'f', 6470 prorettype => 'float8', proargtypes => 'float8 float8', 6471 prosrc => 'aggregate_dummy' }, 6472{ oid => '2823', descr => 'average of the dependent variable (sum(Y)/N)', 6473 proname => 'regr_avgy', prokind => 'a', proisstrict => 'f', 6474 prorettype => 'float8', proargtypes => 'float8 float8', 6475 prosrc => 'aggregate_dummy' }, 6476{ oid => '2824', descr => 'square of the correlation coefficient', 6477 proname => 'regr_r2', prokind => 'a', proisstrict => 'f', 6478 prorettype => 'float8', proargtypes => 'float8 float8', 6479 prosrc => 'aggregate_dummy' }, 6480{ oid => '2825', 6481 descr => 'slope of the least-squares-fit linear equation determined by the (X, Y) pairs', 6482 proname => 'regr_slope', prokind => 'a', proisstrict => 'f', 6483 prorettype => 'float8', proargtypes => 'float8 float8', 6484 prosrc => 'aggregate_dummy' }, 6485{ oid => '2826', 6486 descr => 'y-intercept of the least-squares-fit linear equation determined by the (X, Y) pairs', 6487 proname => 'regr_intercept', prokind => 'a', proisstrict => 'f', 6488 prorettype => 'float8', proargtypes => 'float8 float8', 6489 prosrc => 'aggregate_dummy' }, 6490 6491{ oid => '2827', descr => 'population covariance', 6492 proname => 'covar_pop', prokind => 'a', proisstrict => 'f', 6493 prorettype => 'float8', proargtypes => 'float8 float8', 6494 prosrc => 'aggregate_dummy' }, 6495{ oid => '2828', descr => 'sample covariance', 6496 proname => 'covar_samp', prokind => 'a', proisstrict => 'f', 6497 prorettype => 'float8', proargtypes => 'float8 float8', 6498 prosrc => 'aggregate_dummy' }, 6499{ oid => '2829', descr => 'correlation coefficient', 6500 proname => 'corr', prokind => 'a', proisstrict => 'f', prorettype => 'float8', 6501 proargtypes => 'float8 float8', prosrc => 'aggregate_dummy' }, 6502 6503{ oid => '2160', 6504 proname => 'text_pattern_lt', proleakproof => 't', prorettype => 'bool', 6505 proargtypes => 'text text', prosrc => 'text_pattern_lt' }, 6506{ oid => '2161', 6507 proname => 'text_pattern_le', proleakproof => 't', prorettype => 'bool', 6508 proargtypes => 'text text', prosrc => 'text_pattern_le' }, 6509{ oid => '2163', 6510 proname => 'text_pattern_ge', proleakproof => 't', prorettype => 'bool', 6511 proargtypes => 'text text', prosrc => 'text_pattern_ge' }, 6512{ oid => '2164', 6513 proname => 'text_pattern_gt', proleakproof => 't', prorettype => 'bool', 6514 proargtypes => 'text text', prosrc => 'text_pattern_gt' }, 6515{ oid => '2166', descr => 'less-equal-greater', 6516 proname => 'bttext_pattern_cmp', proleakproof => 't', prorettype => 'int4', 6517 proargtypes => 'text text', prosrc => 'bttext_pattern_cmp' }, 6518{ oid => '3332', descr => 'sort support', 6519 proname => 'bttext_pattern_sortsupport', prorettype => 'void', 6520 proargtypes => 'internal', prosrc => 'bttext_pattern_sortsupport' }, 6521 6522{ oid => '2174', 6523 proname => 'bpchar_pattern_lt', proleakproof => 't', prorettype => 'bool', 6524 proargtypes => 'bpchar bpchar', prosrc => 'bpchar_pattern_lt' }, 6525{ oid => '2175', 6526 proname => 'bpchar_pattern_le', proleakproof => 't', prorettype => 'bool', 6527 proargtypes => 'bpchar bpchar', prosrc => 'bpchar_pattern_le' }, 6528{ oid => '2177', 6529 proname => 'bpchar_pattern_ge', proleakproof => 't', prorettype => 'bool', 6530 proargtypes => 'bpchar bpchar', prosrc => 'bpchar_pattern_ge' }, 6531{ oid => '2178', 6532 proname => 'bpchar_pattern_gt', proleakproof => 't', prorettype => 'bool', 6533 proargtypes => 'bpchar bpchar', prosrc => 'bpchar_pattern_gt' }, 6534{ oid => '2180', descr => 'less-equal-greater', 6535 proname => 'btbpchar_pattern_cmp', proleakproof => 't', prorettype => 'int4', 6536 proargtypes => 'bpchar bpchar', prosrc => 'btbpchar_pattern_cmp' }, 6537{ oid => '3333', descr => 'sort support', 6538 proname => 'btbpchar_pattern_sortsupport', prorettype => 'void', 6539 proargtypes => 'internal', prosrc => 'btbpchar_pattern_sortsupport' }, 6540 6541{ oid => '2188', descr => 'less-equal-greater', 6542 proname => 'btint48cmp', proleakproof => 't', prorettype => 'int4', 6543 proargtypes => 'int4 int8', prosrc => 'btint48cmp' }, 6544{ oid => '2189', descr => 'less-equal-greater', 6545 proname => 'btint84cmp', proleakproof => 't', prorettype => 'int4', 6546 proargtypes => 'int8 int4', prosrc => 'btint84cmp' }, 6547{ oid => '2190', descr => 'less-equal-greater', 6548 proname => 'btint24cmp', proleakproof => 't', prorettype => 'int4', 6549 proargtypes => 'int2 int4', prosrc => 'btint24cmp' }, 6550{ oid => '2191', descr => 'less-equal-greater', 6551 proname => 'btint42cmp', proleakproof => 't', prorettype => 'int4', 6552 proargtypes => 'int4 int2', prosrc => 'btint42cmp' }, 6553{ oid => '2192', descr => 'less-equal-greater', 6554 proname => 'btint28cmp', proleakproof => 't', prorettype => 'int4', 6555 proargtypes => 'int2 int8', prosrc => 'btint28cmp' }, 6556{ oid => '2193', descr => 'less-equal-greater', 6557 proname => 'btint82cmp', proleakproof => 't', prorettype => 'int4', 6558 proargtypes => 'int8 int2', prosrc => 'btint82cmp' }, 6559{ oid => '2194', descr => 'less-equal-greater', 6560 proname => 'btfloat48cmp', proleakproof => 't', prorettype => 'int4', 6561 proargtypes => 'float4 float8', prosrc => 'btfloat48cmp' }, 6562{ oid => '2195', descr => 'less-equal-greater', 6563 proname => 'btfloat84cmp', proleakproof => 't', prorettype => 'int4', 6564 proargtypes => 'float8 float4', prosrc => 'btfloat84cmp' }, 6565 6566{ oid => '2212', descr => 'I/O', 6567 proname => 'regprocedurein', provolatile => 's', prorettype => 'regprocedure', 6568 proargtypes => 'cstring', prosrc => 'regprocedurein' }, 6569{ oid => '2213', descr => 'I/O', 6570 proname => 'regprocedureout', provolatile => 's', prorettype => 'cstring', 6571 proargtypes => 'regprocedure', prosrc => 'regprocedureout' }, 6572{ oid => '2214', descr => 'I/O', 6573 proname => 'regoperin', provolatile => 's', prorettype => 'regoper', 6574 proargtypes => 'cstring', prosrc => 'regoperin' }, 6575{ oid => '2215', descr => 'I/O', 6576 proname => 'regoperout', provolatile => 's', prorettype => 'cstring', 6577 proargtypes => 'regoper', prosrc => 'regoperout' }, 6578{ oid => '3492', descr => 'convert operator name to regoper', 6579 proname => 'to_regoper', provolatile => 's', prorettype => 'regoper', 6580 proargtypes => 'text', prosrc => 'to_regoper' }, 6581{ oid => '3476', descr => 'convert operator name to regoperator', 6582 proname => 'to_regoperator', provolatile => 's', prorettype => 'regoperator', 6583 proargtypes => 'text', prosrc => 'to_regoperator' }, 6584{ oid => '2216', descr => 'I/O', 6585 proname => 'regoperatorin', provolatile => 's', prorettype => 'regoperator', 6586 proargtypes => 'cstring', prosrc => 'regoperatorin' }, 6587{ oid => '2217', descr => 'I/O', 6588 proname => 'regoperatorout', provolatile => 's', prorettype => 'cstring', 6589 proargtypes => 'regoperator', prosrc => 'regoperatorout' }, 6590{ oid => '2218', descr => 'I/O', 6591 proname => 'regclassin', provolatile => 's', prorettype => 'regclass', 6592 proargtypes => 'cstring', prosrc => 'regclassin' }, 6593{ oid => '2219', descr => 'I/O', 6594 proname => 'regclassout', provolatile => 's', prorettype => 'cstring', 6595 proargtypes => 'regclass', prosrc => 'regclassout' }, 6596{ oid => '3495', descr => 'convert classname to regclass', 6597 proname => 'to_regclass', provolatile => 's', prorettype => 'regclass', 6598 proargtypes => 'text', prosrc => 'to_regclass' }, 6599{ oid => '2220', descr => 'I/O', 6600 proname => 'regtypein', provolatile => 's', prorettype => 'regtype', 6601 proargtypes => 'cstring', prosrc => 'regtypein' }, 6602{ oid => '2221', descr => 'I/O', 6603 proname => 'regtypeout', provolatile => 's', prorettype => 'cstring', 6604 proargtypes => 'regtype', prosrc => 'regtypeout' }, 6605{ oid => '3493', descr => 'convert type name to regtype', 6606 proname => 'to_regtype', provolatile => 's', prorettype => 'regtype', 6607 proargtypes => 'text', prosrc => 'to_regtype' }, 6608{ oid => '1079', descr => 'convert text to regclass', 6609 proname => 'regclass', provolatile => 's', prorettype => 'regclass', 6610 proargtypes => 'text', prosrc => 'text_regclass' }, 6611 6612{ oid => '4098', descr => 'I/O', 6613 proname => 'regrolein', provolatile => 's', prorettype => 'regrole', 6614 proargtypes => 'cstring', prosrc => 'regrolein' }, 6615{ oid => '4092', descr => 'I/O', 6616 proname => 'regroleout', provolatile => 's', prorettype => 'cstring', 6617 proargtypes => 'regrole', prosrc => 'regroleout' }, 6618{ oid => '4093', descr => 'convert role name to regrole', 6619 proname => 'to_regrole', provolatile => 's', prorettype => 'regrole', 6620 proargtypes => 'text', prosrc => 'to_regrole' }, 6621 6622{ oid => '4084', descr => 'I/O', 6623 proname => 'regnamespacein', provolatile => 's', prorettype => 'regnamespace', 6624 proargtypes => 'cstring', prosrc => 'regnamespacein' }, 6625{ oid => '4085', descr => 'I/O', 6626 proname => 'regnamespaceout', provolatile => 's', prorettype => 'cstring', 6627 proargtypes => 'regnamespace', prosrc => 'regnamespaceout' }, 6628{ oid => '4086', descr => 'convert namespace name to regnamespace', 6629 proname => 'to_regnamespace', provolatile => 's', 6630 prorettype => 'regnamespace', proargtypes => 'text', 6631 prosrc => 'to_regnamespace' }, 6632 6633{ oid => '1268', 6634 descr => 'parse qualified identifier to array of identifiers', 6635 proname => 'parse_ident', prorettype => '_text', proargtypes => 'text bool', 6636 proargnames => '{str,strict}', prosrc => 'parse_ident' }, 6637 6638{ oid => '2246', descr => '(internal)', 6639 proname => 'fmgr_internal_validator', provolatile => 's', 6640 prorettype => 'void', proargtypes => 'oid', 6641 prosrc => 'fmgr_internal_validator' }, 6642{ oid => '2247', descr => '(internal)', 6643 proname => 'fmgr_c_validator', provolatile => 's', prorettype => 'void', 6644 proargtypes => 'oid', prosrc => 'fmgr_c_validator' }, 6645{ oid => '2248', descr => '(internal)', 6646 proname => 'fmgr_sql_validator', provolatile => 's', prorettype => 'void', 6647 proargtypes => 'oid', prosrc => 'fmgr_sql_validator' }, 6648 6649{ oid => '2250', 6650 descr => 'user privilege on database by username, database name', 6651 proname => 'has_database_privilege', provolatile => 's', prorettype => 'bool', 6652 proargtypes => 'name text text', 6653 prosrc => 'has_database_privilege_name_name' }, 6654{ oid => '2251', 6655 descr => 'user privilege on database by username, database oid', 6656 proname => 'has_database_privilege', provolatile => 's', prorettype => 'bool', 6657 proargtypes => 'name oid text', prosrc => 'has_database_privilege_name_id' }, 6658{ oid => '2252', 6659 descr => 'user privilege on database by user oid, database name', 6660 proname => 'has_database_privilege', provolatile => 's', prorettype => 'bool', 6661 proargtypes => 'oid text text', prosrc => 'has_database_privilege_id_name' }, 6662{ oid => '2253', 6663 descr => 'user privilege on database by user oid, database oid', 6664 proname => 'has_database_privilege', provolatile => 's', prorettype => 'bool', 6665 proargtypes => 'oid oid text', prosrc => 'has_database_privilege_id_id' }, 6666{ oid => '2254', 6667 descr => 'current user privilege on database by database name', 6668 proname => 'has_database_privilege', provolatile => 's', prorettype => 'bool', 6669 proargtypes => 'text text', prosrc => 'has_database_privilege_name' }, 6670{ oid => '2255', 6671 descr => 'current user privilege on database by database oid', 6672 proname => 'has_database_privilege', provolatile => 's', prorettype => 'bool', 6673 proargtypes => 'oid text', prosrc => 'has_database_privilege_id' }, 6674 6675{ oid => '2256', 6676 descr => 'user privilege on function by username, function name', 6677 proname => 'has_function_privilege', provolatile => 's', prorettype => 'bool', 6678 proargtypes => 'name text text', 6679 prosrc => 'has_function_privilege_name_name' }, 6680{ oid => '2257', 6681 descr => 'user privilege on function by username, function oid', 6682 proname => 'has_function_privilege', provolatile => 's', prorettype => 'bool', 6683 proargtypes => 'name oid text', prosrc => 'has_function_privilege_name_id' }, 6684{ oid => '2258', 6685 descr => 'user privilege on function by user oid, function name', 6686 proname => 'has_function_privilege', provolatile => 's', prorettype => 'bool', 6687 proargtypes => 'oid text text', prosrc => 'has_function_privilege_id_name' }, 6688{ oid => '2259', 6689 descr => 'user privilege on function by user oid, function oid', 6690 proname => 'has_function_privilege', provolatile => 's', prorettype => 'bool', 6691 proargtypes => 'oid oid text', prosrc => 'has_function_privilege_id_id' }, 6692{ oid => '2260', 6693 descr => 'current user privilege on function by function name', 6694 proname => 'has_function_privilege', provolatile => 's', prorettype => 'bool', 6695 proargtypes => 'text text', prosrc => 'has_function_privilege_name' }, 6696{ oid => '2261', 6697 descr => 'current user privilege on function by function oid', 6698 proname => 'has_function_privilege', provolatile => 's', prorettype => 'bool', 6699 proargtypes => 'oid text', prosrc => 'has_function_privilege_id' }, 6700 6701{ oid => '2262', 6702 descr => 'user privilege on language by username, language name', 6703 proname => 'has_language_privilege', provolatile => 's', prorettype => 'bool', 6704 proargtypes => 'name text text', 6705 prosrc => 'has_language_privilege_name_name' }, 6706{ oid => '2263', 6707 descr => 'user privilege on language by username, language oid', 6708 proname => 'has_language_privilege', provolatile => 's', prorettype => 'bool', 6709 proargtypes => 'name oid text', prosrc => 'has_language_privilege_name_id' }, 6710{ oid => '2264', 6711 descr => 'user privilege on language by user oid, language name', 6712 proname => 'has_language_privilege', provolatile => 's', prorettype => 'bool', 6713 proargtypes => 'oid text text', prosrc => 'has_language_privilege_id_name' }, 6714{ oid => '2265', 6715 descr => 'user privilege on language by user oid, language oid', 6716 proname => 'has_language_privilege', provolatile => 's', prorettype => 'bool', 6717 proargtypes => 'oid oid text', prosrc => 'has_language_privilege_id_id' }, 6718{ oid => '2266', 6719 descr => 'current user privilege on language by language name', 6720 proname => 'has_language_privilege', provolatile => 's', prorettype => 'bool', 6721 proargtypes => 'text text', prosrc => 'has_language_privilege_name' }, 6722{ oid => '2267', 6723 descr => 'current user privilege on language by language oid', 6724 proname => 'has_language_privilege', provolatile => 's', prorettype => 'bool', 6725 proargtypes => 'oid text', prosrc => 'has_language_privilege_id' }, 6726 6727{ oid => '2268', descr => 'user privilege on schema by username, schema name', 6728 proname => 'has_schema_privilege', provolatile => 's', prorettype => 'bool', 6729 proargtypes => 'name text text', prosrc => 'has_schema_privilege_name_name' }, 6730{ oid => '2269', descr => 'user privilege on schema by username, schema oid', 6731 proname => 'has_schema_privilege', provolatile => 's', prorettype => 'bool', 6732 proargtypes => 'name oid text', prosrc => 'has_schema_privilege_name_id' }, 6733{ oid => '2270', descr => 'user privilege on schema by user oid, schema name', 6734 proname => 'has_schema_privilege', provolatile => 's', prorettype => 'bool', 6735 proargtypes => 'oid text text', prosrc => 'has_schema_privilege_id_name' }, 6736{ oid => '2271', descr => 'user privilege on schema by user oid, schema oid', 6737 proname => 'has_schema_privilege', provolatile => 's', prorettype => 'bool', 6738 proargtypes => 'oid oid text', prosrc => 'has_schema_privilege_id_id' }, 6739{ oid => '2272', descr => 'current user privilege on schema by schema name', 6740 proname => 'has_schema_privilege', provolatile => 's', prorettype => 'bool', 6741 proargtypes => 'text text', prosrc => 'has_schema_privilege_name' }, 6742{ oid => '2273', descr => 'current user privilege on schema by schema oid', 6743 proname => 'has_schema_privilege', provolatile => 's', prorettype => 'bool', 6744 proargtypes => 'oid text', prosrc => 'has_schema_privilege_id' }, 6745 6746{ oid => '2390', 6747 descr => 'user privilege on tablespace by username, tablespace name', 6748 proname => 'has_tablespace_privilege', provolatile => 's', 6749 prorettype => 'bool', proargtypes => 'name text text', 6750 prosrc => 'has_tablespace_privilege_name_name' }, 6751{ oid => '2391', 6752 descr => 'user privilege on tablespace by username, tablespace oid', 6753 proname => 'has_tablespace_privilege', provolatile => 's', 6754 prorettype => 'bool', proargtypes => 'name oid text', 6755 prosrc => 'has_tablespace_privilege_name_id' }, 6756{ oid => '2392', 6757 descr => 'user privilege on tablespace by user oid, tablespace name', 6758 proname => 'has_tablespace_privilege', provolatile => 's', 6759 prorettype => 'bool', proargtypes => 'oid text text', 6760 prosrc => 'has_tablespace_privilege_id_name' }, 6761{ oid => '2393', 6762 descr => 'user privilege on tablespace by user oid, tablespace oid', 6763 proname => 'has_tablespace_privilege', provolatile => 's', 6764 prorettype => 'bool', proargtypes => 'oid oid text', 6765 prosrc => 'has_tablespace_privilege_id_id' }, 6766{ oid => '2394', 6767 descr => 'current user privilege on tablespace by tablespace name', 6768 proname => 'has_tablespace_privilege', provolatile => 's', 6769 prorettype => 'bool', proargtypes => 'text text', 6770 prosrc => 'has_tablespace_privilege_name' }, 6771{ oid => '2395', 6772 descr => 'current user privilege on tablespace by tablespace oid', 6773 proname => 'has_tablespace_privilege', provolatile => 's', 6774 prorettype => 'bool', proargtypes => 'oid text', 6775 prosrc => 'has_tablespace_privilege_id' }, 6776 6777{ oid => '3000', 6778 descr => 'user privilege on foreign data wrapper by username, foreign data wrapper name', 6779 proname => 'has_foreign_data_wrapper_privilege', provolatile => 's', 6780 prorettype => 'bool', proargtypes => 'name text text', 6781 prosrc => 'has_foreign_data_wrapper_privilege_name_name' }, 6782{ oid => '3001', 6783 descr => 'user privilege on foreign data wrapper by username, foreign data wrapper oid', 6784 proname => 'has_foreign_data_wrapper_privilege', provolatile => 's', 6785 prorettype => 'bool', proargtypes => 'name oid text', 6786 prosrc => 'has_foreign_data_wrapper_privilege_name_id' }, 6787{ oid => '3002', 6788 descr => 'user privilege on foreign data wrapper by user oid, foreign data wrapper name', 6789 proname => 'has_foreign_data_wrapper_privilege', provolatile => 's', 6790 prorettype => 'bool', proargtypes => 'oid text text', 6791 prosrc => 'has_foreign_data_wrapper_privilege_id_name' }, 6792{ oid => '3003', 6793 descr => 'user privilege on foreign data wrapper by user oid, foreign data wrapper oid', 6794 proname => 'has_foreign_data_wrapper_privilege', provolatile => 's', 6795 prorettype => 'bool', proargtypes => 'oid oid text', 6796 prosrc => 'has_foreign_data_wrapper_privilege_id_id' }, 6797{ oid => '3004', 6798 descr => 'current user privilege on foreign data wrapper by foreign data wrapper name', 6799 proname => 'has_foreign_data_wrapper_privilege', provolatile => 's', 6800 prorettype => 'bool', proargtypes => 'text text', 6801 prosrc => 'has_foreign_data_wrapper_privilege_name' }, 6802{ oid => '3005', 6803 descr => 'current user privilege on foreign data wrapper by foreign data wrapper oid', 6804 proname => 'has_foreign_data_wrapper_privilege', provolatile => 's', 6805 prorettype => 'bool', proargtypes => 'oid text', 6806 prosrc => 'has_foreign_data_wrapper_privilege_id' }, 6807 6808{ oid => '3006', descr => 'user privilege on server by username, server name', 6809 proname => 'has_server_privilege', provolatile => 's', prorettype => 'bool', 6810 proargtypes => 'name text text', prosrc => 'has_server_privilege_name_name' }, 6811{ oid => '3007', descr => 'user privilege on server by username, server oid', 6812 proname => 'has_server_privilege', provolatile => 's', prorettype => 'bool', 6813 proargtypes => 'name oid text', prosrc => 'has_server_privilege_name_id' }, 6814{ oid => '3008', descr => 'user privilege on server by user oid, server name', 6815 proname => 'has_server_privilege', provolatile => 's', prorettype => 'bool', 6816 proargtypes => 'oid text text', prosrc => 'has_server_privilege_id_name' }, 6817{ oid => '3009', descr => 'user privilege on server by user oid, server oid', 6818 proname => 'has_server_privilege', provolatile => 's', prorettype => 'bool', 6819 proargtypes => 'oid oid text', prosrc => 'has_server_privilege_id_id' }, 6820{ oid => '3010', descr => 'current user privilege on server by server name', 6821 proname => 'has_server_privilege', provolatile => 's', prorettype => 'bool', 6822 proargtypes => 'text text', prosrc => 'has_server_privilege_name' }, 6823{ oid => '3011', descr => 'current user privilege on server by server oid', 6824 proname => 'has_server_privilege', provolatile => 's', prorettype => 'bool', 6825 proargtypes => 'oid text', prosrc => 'has_server_privilege_id' }, 6826 6827{ oid => '3138', descr => 'user privilege on type by username, type name', 6828 proname => 'has_type_privilege', provolatile => 's', prorettype => 'bool', 6829 proargtypes => 'name text text', prosrc => 'has_type_privilege_name_name' }, 6830{ oid => '3139', descr => 'user privilege on type by username, type oid', 6831 proname => 'has_type_privilege', provolatile => 's', prorettype => 'bool', 6832 proargtypes => 'name oid text', prosrc => 'has_type_privilege_name_id' }, 6833{ oid => '3140', descr => 'user privilege on type by user oid, type name', 6834 proname => 'has_type_privilege', provolatile => 's', prorettype => 'bool', 6835 proargtypes => 'oid text text', prosrc => 'has_type_privilege_id_name' }, 6836{ oid => '3141', descr => 'user privilege on type by user oid, type oid', 6837 proname => 'has_type_privilege', provolatile => 's', prorettype => 'bool', 6838 proargtypes => 'oid oid text', prosrc => 'has_type_privilege_id_id' }, 6839{ oid => '3142', descr => 'current user privilege on type by type name', 6840 proname => 'has_type_privilege', provolatile => 's', prorettype => 'bool', 6841 proargtypes => 'text text', prosrc => 'has_type_privilege_name' }, 6842{ oid => '3143', descr => 'current user privilege on type by type oid', 6843 proname => 'has_type_privilege', provolatile => 's', prorettype => 'bool', 6844 proargtypes => 'oid text', prosrc => 'has_type_privilege_id' }, 6845 6846{ oid => '2705', descr => 'user privilege on role by username, role name', 6847 proname => 'pg_has_role', provolatile => 's', prorettype => 'bool', 6848 proargtypes => 'name name text', prosrc => 'pg_has_role_name_name' }, 6849{ oid => '2706', descr => 'user privilege on role by username, role oid', 6850 proname => 'pg_has_role', provolatile => 's', prorettype => 'bool', 6851 proargtypes => 'name oid text', prosrc => 'pg_has_role_name_id' }, 6852{ oid => '2707', descr => 'user privilege on role by user oid, role name', 6853 proname => 'pg_has_role', provolatile => 's', prorettype => 'bool', 6854 proargtypes => 'oid name text', prosrc => 'pg_has_role_id_name' }, 6855{ oid => '2708', descr => 'user privilege on role by user oid, role oid', 6856 proname => 'pg_has_role', provolatile => 's', prorettype => 'bool', 6857 proargtypes => 'oid oid text', prosrc => 'pg_has_role_id_id' }, 6858{ oid => '2709', descr => 'current user privilege on role by role name', 6859 proname => 'pg_has_role', provolatile => 's', prorettype => 'bool', 6860 proargtypes => 'name text', prosrc => 'pg_has_role_name' }, 6861{ oid => '2710', descr => 'current user privilege on role by role oid', 6862 proname => 'pg_has_role', provolatile => 's', prorettype => 'bool', 6863 proargtypes => 'oid text', prosrc => 'pg_has_role_id' }, 6864 6865{ oid => '1269', 6866 descr => 'bytes required to store the value, perhaps with compression', 6867 proname => 'pg_column_size', provolatile => 's', prorettype => 'int4', 6868 proargtypes => 'any', prosrc => 'pg_column_size' }, 6869{ oid => '2322', 6870 descr => 'total disk space usage for the specified tablespace', 6871 proname => 'pg_tablespace_size', provolatile => 'v', prorettype => 'int8', 6872 proargtypes => 'oid', prosrc => 'pg_tablespace_size_oid' }, 6873{ oid => '2323', 6874 descr => 'total disk space usage for the specified tablespace', 6875 proname => 'pg_tablespace_size', provolatile => 'v', prorettype => 'int8', 6876 proargtypes => 'name', prosrc => 'pg_tablespace_size_name' }, 6877{ oid => '2324', descr => 'total disk space usage for the specified database', 6878 proname => 'pg_database_size', provolatile => 'v', prorettype => 'int8', 6879 proargtypes => 'oid', prosrc => 'pg_database_size_oid' }, 6880{ oid => '2168', descr => 'total disk space usage for the specified database', 6881 proname => 'pg_database_size', provolatile => 'v', prorettype => 'int8', 6882 proargtypes => 'name', prosrc => 'pg_database_size_name' }, 6883{ oid => '2325', 6884 descr => 'disk space usage for the main fork of the specified table or index', 6885 proname => 'pg_relation_size', prolang => 'sql', provolatile => 'v', 6886 prorettype => 'int8', proargtypes => 'regclass', 6887 prosrc => 'select pg_catalog.pg_relation_size($1, \'main\')' }, 6888{ oid => '2332', 6889 descr => 'disk space usage for the specified fork of a table or index', 6890 proname => 'pg_relation_size', provolatile => 'v', prorettype => 'int8', 6891 proargtypes => 'regclass text', prosrc => 'pg_relation_size' }, 6892{ oid => '2286', 6893 descr => 'total disk space usage for the specified table and associated indexes', 6894 proname => 'pg_total_relation_size', provolatile => 'v', prorettype => 'int8', 6895 proargtypes => 'regclass', prosrc => 'pg_total_relation_size' }, 6896{ oid => '2288', 6897 descr => 'convert a long int to a human readable text using size units', 6898 proname => 'pg_size_pretty', prorettype => 'text', proargtypes => 'int8', 6899 prosrc => 'pg_size_pretty' }, 6900{ oid => '3166', 6901 descr => 'convert a numeric to a human readable text using size units', 6902 proname => 'pg_size_pretty', prorettype => 'text', proargtypes => 'numeric', 6903 prosrc => 'pg_size_pretty_numeric' }, 6904{ oid => '3334', 6905 descr => 'convert a size in human-readable format with size units into bytes', 6906 proname => 'pg_size_bytes', prorettype => 'int8', proargtypes => 'text', 6907 prosrc => 'pg_size_bytes' }, 6908{ oid => '2997', 6909 descr => 'disk space usage for the specified table, including TOAST, free space and visibility map', 6910 proname => 'pg_table_size', provolatile => 'v', prorettype => 'int8', 6911 proargtypes => 'regclass', prosrc => 'pg_table_size' }, 6912{ oid => '2998', 6913 descr => 'disk space usage for all indexes attached to the specified table', 6914 proname => 'pg_indexes_size', provolatile => 'v', prorettype => 'int8', 6915 proargtypes => 'regclass', prosrc => 'pg_indexes_size' }, 6916{ oid => '2999', descr => 'filenode identifier of relation', 6917 proname => 'pg_relation_filenode', provolatile => 's', prorettype => 'oid', 6918 proargtypes => 'regclass', prosrc => 'pg_relation_filenode' }, 6919{ oid => '3454', descr => 'relation OID for filenode and tablespace', 6920 proname => 'pg_filenode_relation', provolatile => 's', 6921 prorettype => 'regclass', proargtypes => 'oid oid', 6922 prosrc => 'pg_filenode_relation' }, 6923{ oid => '3034', descr => 'file path of relation', 6924 proname => 'pg_relation_filepath', provolatile => 's', prorettype => 'text', 6925 proargtypes => 'regclass', prosrc => 'pg_relation_filepath' }, 6926 6927{ oid => '2316', descr => '(internal)', 6928 proname => 'postgresql_fdw_validator', prorettype => 'bool', 6929 proargtypes => '_text oid', prosrc => 'postgresql_fdw_validator' }, 6930 6931{ oid => '2290', descr => 'I/O', 6932 proname => 'record_in', provolatile => 's', prorettype => 'record', 6933 proargtypes => 'cstring oid int4', prosrc => 'record_in' }, 6934{ oid => '2291', descr => 'I/O', 6935 proname => 'record_out', provolatile => 's', prorettype => 'cstring', 6936 proargtypes => 'record', prosrc => 'record_out' }, 6937{ oid => '2292', descr => 'I/O', 6938 proname => 'cstring_in', prorettype => 'cstring', proargtypes => 'cstring', 6939 prosrc => 'cstring_in' }, 6940{ oid => '2293', descr => 'I/O', 6941 proname => 'cstring_out', prorettype => 'cstring', proargtypes => 'cstring', 6942 prosrc => 'cstring_out' }, 6943{ oid => '2294', descr => 'I/O', 6944 proname => 'any_in', prorettype => 'any', proargtypes => 'cstring', 6945 prosrc => 'any_in' }, 6946{ oid => '2295', descr => 'I/O', 6947 proname => 'any_out', prorettype => 'cstring', proargtypes => 'any', 6948 prosrc => 'any_out' }, 6949{ oid => '2296', descr => 'I/O', 6950 proname => 'anyarray_in', prorettype => 'anyarray', proargtypes => 'cstring', 6951 prosrc => 'anyarray_in' }, 6952{ oid => '2297', descr => 'I/O', 6953 proname => 'anyarray_out', provolatile => 's', prorettype => 'cstring', 6954 proargtypes => 'anyarray', prosrc => 'anyarray_out' }, 6955{ oid => '2298', descr => 'I/O', 6956 proname => 'void_in', prorettype => 'void', proargtypes => 'cstring', 6957 prosrc => 'void_in' }, 6958{ oid => '2299', descr => 'I/O', 6959 proname => 'void_out', prorettype => 'cstring', proargtypes => 'void', 6960 prosrc => 'void_out' }, 6961{ oid => '2300', descr => 'I/O', 6962 proname => 'trigger_in', proisstrict => 'f', prorettype => 'trigger', 6963 proargtypes => 'cstring', prosrc => 'trigger_in' }, 6964{ oid => '2301', descr => 'I/O', 6965 proname => 'trigger_out', prorettype => 'cstring', proargtypes => 'trigger', 6966 prosrc => 'trigger_out' }, 6967{ oid => '3594', descr => 'I/O', 6968 proname => 'event_trigger_in', proisstrict => 'f', 6969 prorettype => 'event_trigger', proargtypes => 'cstring', 6970 prosrc => 'event_trigger_in' }, 6971{ oid => '3595', descr => 'I/O', 6972 proname => 'event_trigger_out', prorettype => 'cstring', 6973 proargtypes => 'event_trigger', prosrc => 'event_trigger_out' }, 6974{ oid => '2302', descr => 'I/O', 6975 proname => 'language_handler_in', proisstrict => 'f', 6976 prorettype => 'language_handler', proargtypes => 'cstring', 6977 prosrc => 'language_handler_in' }, 6978{ oid => '2303', descr => 'I/O', 6979 proname => 'language_handler_out', prorettype => 'cstring', 6980 proargtypes => 'language_handler', prosrc => 'language_handler_out' }, 6981{ oid => '2304', descr => 'I/O', 6982 proname => 'internal_in', proisstrict => 'f', prorettype => 'internal', 6983 proargtypes => 'cstring', prosrc => 'internal_in' }, 6984{ oid => '2305', descr => 'I/O', 6985 proname => 'internal_out', prorettype => 'cstring', proargtypes => 'internal', 6986 prosrc => 'internal_out' }, 6987{ oid => '2306', descr => 'I/O', 6988 proname => 'opaque_in', proisstrict => 'f', prorettype => 'opaque', 6989 proargtypes => 'cstring', prosrc => 'opaque_in' }, 6990{ oid => '2307', descr => 'I/O', 6991 proname => 'opaque_out', prorettype => 'cstring', proargtypes => 'opaque', 6992 prosrc => 'opaque_out' }, 6993{ oid => '2312', descr => 'I/O', 6994 proname => 'anyelement_in', prorettype => 'anyelement', 6995 proargtypes => 'cstring', prosrc => 'anyelement_in' }, 6996{ oid => '2313', descr => 'I/O', 6997 proname => 'anyelement_out', prorettype => 'cstring', 6998 proargtypes => 'anyelement', prosrc => 'anyelement_out' }, 6999{ oid => '2398', descr => 'I/O', 7000 proname => 'shell_in', proisstrict => 'f', prorettype => 'opaque', 7001 proargtypes => 'cstring', prosrc => 'shell_in' }, 7002{ oid => '2399', descr => 'I/O', 7003 proname => 'shell_out', prorettype => 'cstring', proargtypes => 'opaque', 7004 prosrc => 'shell_out' }, 7005{ oid => '2597', descr => 'I/O', 7006 proname => 'domain_in', proisstrict => 'f', provolatile => 's', 7007 prorettype => 'any', proargtypes => 'cstring oid int4', 7008 prosrc => 'domain_in' }, 7009{ oid => '2598', descr => 'I/O', 7010 proname => 'domain_recv', proisstrict => 'f', provolatile => 's', 7011 prorettype => 'any', proargtypes => 'internal oid int4', 7012 prosrc => 'domain_recv' }, 7013{ oid => '2777', descr => 'I/O', 7014 proname => 'anynonarray_in', prorettype => 'anynonarray', 7015 proargtypes => 'cstring', prosrc => 'anynonarray_in' }, 7016{ oid => '2778', descr => 'I/O', 7017 proname => 'anynonarray_out', prorettype => 'cstring', 7018 proargtypes => 'anynonarray', prosrc => 'anynonarray_out' }, 7019{ oid => '3116', descr => 'I/O', 7020 proname => 'fdw_handler_in', proisstrict => 'f', prorettype => 'fdw_handler', 7021 proargtypes => 'cstring', prosrc => 'fdw_handler_in' }, 7022{ oid => '3117', descr => 'I/O', 7023 proname => 'fdw_handler_out', prorettype => 'cstring', 7024 proargtypes => 'fdw_handler', prosrc => 'fdw_handler_out' }, 7025{ oid => '326', descr => 'I/O', 7026 proname => 'index_am_handler_in', proisstrict => 'f', 7027 prorettype => 'index_am_handler', proargtypes => 'cstring', 7028 prosrc => 'index_am_handler_in' }, 7029{ oid => '327', descr => 'I/O', 7030 proname => 'index_am_handler_out', prorettype => 'cstring', 7031 proargtypes => 'index_am_handler', prosrc => 'index_am_handler_out' }, 7032{ oid => '3311', descr => 'I/O', 7033 proname => 'tsm_handler_in', proisstrict => 'f', prorettype => 'tsm_handler', 7034 proargtypes => 'cstring', prosrc => 'tsm_handler_in' }, 7035{ oid => '3312', descr => 'I/O', 7036 proname => 'tsm_handler_out', prorettype => 'cstring', 7037 proargtypes => 'tsm_handler', prosrc => 'tsm_handler_out' }, 7038{ oid => '267', descr => 'I/O', 7039 proname => 'table_am_handler_in', proisstrict => 'f', 7040 prorettype => 'table_am_handler', proargtypes => 'cstring', 7041 prosrc => 'table_am_handler_in' }, 7042{ oid => '268', descr => 'I/O', 7043 proname => 'table_am_handler_out', prorettype => 'cstring', 7044 proargtypes => 'table_am_handler', prosrc => 'table_am_handler_out' }, 7045 7046# tablesample method handlers 7047{ oid => '3313', descr => 'BERNOULLI tablesample method handler', 7048 proname => 'bernoulli', provolatile => 'v', prorettype => 'tsm_handler', 7049 proargtypes => 'internal', prosrc => 'tsm_bernoulli_handler' }, 7050{ oid => '3314', descr => 'SYSTEM tablesample method handler', 7051 proname => 'system', provolatile => 'v', prorettype => 'tsm_handler', 7052 proargtypes => 'internal', prosrc => 'tsm_system_handler' }, 7053 7054# cryptographic 7055{ oid => '2311', descr => 'MD5 hash', 7056 proname => 'md5', proleakproof => 't', prorettype => 'text', 7057 proargtypes => 'text', prosrc => 'md5_text' }, 7058{ oid => '2321', descr => 'MD5 hash', 7059 proname => 'md5', proleakproof => 't', prorettype => 'text', 7060 proargtypes => 'bytea', prosrc => 'md5_bytea' }, 7061{ oid => '3419', descr => 'SHA-224 hash', 7062 proname => 'sha224', proleakproof => 't', prorettype => 'bytea', 7063 proargtypes => 'bytea', prosrc => 'sha224_bytea' }, 7064{ oid => '3420', descr => 'SHA-256 hash', 7065 proname => 'sha256', proleakproof => 't', prorettype => 'bytea', 7066 proargtypes => 'bytea', prosrc => 'sha256_bytea' }, 7067{ oid => '3421', descr => 'SHA-384 hash', 7068 proname => 'sha384', proleakproof => 't', prorettype => 'bytea', 7069 proargtypes => 'bytea', prosrc => 'sha384_bytea' }, 7070{ oid => '3422', descr => 'SHA-512 hash', 7071 proname => 'sha512', proleakproof => 't', prorettype => 'bytea', 7072 proargtypes => 'bytea', prosrc => 'sha512_bytea' }, 7073 7074# crosstype operations for date vs. timestamp and timestamptz 7075{ oid => '2338', 7076 proname => 'date_lt_timestamp', prorettype => 'bool', 7077 proargtypes => 'date timestamp', prosrc => 'date_lt_timestamp' }, 7078{ oid => '2339', 7079 proname => 'date_le_timestamp', prorettype => 'bool', 7080 proargtypes => 'date timestamp', prosrc => 'date_le_timestamp' }, 7081{ oid => '2340', 7082 proname => 'date_eq_timestamp', prorettype => 'bool', 7083 proargtypes => 'date timestamp', prosrc => 'date_eq_timestamp' }, 7084{ oid => '2341', 7085 proname => 'date_gt_timestamp', prorettype => 'bool', 7086 proargtypes => 'date timestamp', prosrc => 'date_gt_timestamp' }, 7087{ oid => '2342', 7088 proname => 'date_ge_timestamp', prorettype => 'bool', 7089 proargtypes => 'date timestamp', prosrc => 'date_ge_timestamp' }, 7090{ oid => '2343', 7091 proname => 'date_ne_timestamp', prorettype => 'bool', 7092 proargtypes => 'date timestamp', prosrc => 'date_ne_timestamp' }, 7093{ oid => '2344', descr => 'less-equal-greater', 7094 proname => 'date_cmp_timestamp', prorettype => 'int4', 7095 proargtypes => 'date timestamp', prosrc => 'date_cmp_timestamp' }, 7096 7097{ oid => '2351', 7098 proname => 'date_lt_timestamptz', provolatile => 's', prorettype => 'bool', 7099 proargtypes => 'date timestamptz', prosrc => 'date_lt_timestamptz' }, 7100{ oid => '2352', 7101 proname => 'date_le_timestamptz', provolatile => 's', prorettype => 'bool', 7102 proargtypes => 'date timestamptz', prosrc => 'date_le_timestamptz' }, 7103{ oid => '2353', 7104 proname => 'date_eq_timestamptz', provolatile => 's', prorettype => 'bool', 7105 proargtypes => 'date timestamptz', prosrc => 'date_eq_timestamptz' }, 7106{ oid => '2354', 7107 proname => 'date_gt_timestamptz', provolatile => 's', prorettype => 'bool', 7108 proargtypes => 'date timestamptz', prosrc => 'date_gt_timestamptz' }, 7109{ oid => '2355', 7110 proname => 'date_ge_timestamptz', provolatile => 's', prorettype => 'bool', 7111 proargtypes => 'date timestamptz', prosrc => 'date_ge_timestamptz' }, 7112{ oid => '2356', 7113 proname => 'date_ne_timestamptz', provolatile => 's', prorettype => 'bool', 7114 proargtypes => 'date timestamptz', prosrc => 'date_ne_timestamptz' }, 7115{ oid => '2357', descr => 'less-equal-greater', 7116 proname => 'date_cmp_timestamptz', provolatile => 's', prorettype => 'int4', 7117 proargtypes => 'date timestamptz', prosrc => 'date_cmp_timestamptz' }, 7118 7119{ oid => '2364', 7120 proname => 'timestamp_lt_date', prorettype => 'bool', 7121 proargtypes => 'timestamp date', prosrc => 'timestamp_lt_date' }, 7122{ oid => '2365', 7123 proname => 'timestamp_le_date', prorettype => 'bool', 7124 proargtypes => 'timestamp date', prosrc => 'timestamp_le_date' }, 7125{ oid => '2366', 7126 proname => 'timestamp_eq_date', prorettype => 'bool', 7127 proargtypes => 'timestamp date', prosrc => 'timestamp_eq_date' }, 7128{ oid => '2367', 7129 proname => 'timestamp_gt_date', prorettype => 'bool', 7130 proargtypes => 'timestamp date', prosrc => 'timestamp_gt_date' }, 7131{ oid => '2368', 7132 proname => 'timestamp_ge_date', prorettype => 'bool', 7133 proargtypes => 'timestamp date', prosrc => 'timestamp_ge_date' }, 7134{ oid => '2369', 7135 proname => 'timestamp_ne_date', prorettype => 'bool', 7136 proargtypes => 'timestamp date', prosrc => 'timestamp_ne_date' }, 7137{ oid => '2370', descr => 'less-equal-greater', 7138 proname => 'timestamp_cmp_date', prorettype => 'int4', 7139 proargtypes => 'timestamp date', prosrc => 'timestamp_cmp_date' }, 7140 7141{ oid => '2377', 7142 proname => 'timestamptz_lt_date', provolatile => 's', prorettype => 'bool', 7143 proargtypes => 'timestamptz date', prosrc => 'timestamptz_lt_date' }, 7144{ oid => '2378', 7145 proname => 'timestamptz_le_date', provolatile => 's', prorettype => 'bool', 7146 proargtypes => 'timestamptz date', prosrc => 'timestamptz_le_date' }, 7147{ oid => '2379', 7148 proname => 'timestamptz_eq_date', provolatile => 's', prorettype => 'bool', 7149 proargtypes => 'timestamptz date', prosrc => 'timestamptz_eq_date' }, 7150{ oid => '2380', 7151 proname => 'timestamptz_gt_date', provolatile => 's', prorettype => 'bool', 7152 proargtypes => 'timestamptz date', prosrc => 'timestamptz_gt_date' }, 7153{ oid => '2381', 7154 proname => 'timestamptz_ge_date', provolatile => 's', prorettype => 'bool', 7155 proargtypes => 'timestamptz date', prosrc => 'timestamptz_ge_date' }, 7156{ oid => '2382', 7157 proname => 'timestamptz_ne_date', provolatile => 's', prorettype => 'bool', 7158 proargtypes => 'timestamptz date', prosrc => 'timestamptz_ne_date' }, 7159{ oid => '2383', descr => 'less-equal-greater', 7160 proname => 'timestamptz_cmp_date', provolatile => 's', prorettype => 'int4', 7161 proargtypes => 'timestamptz date', prosrc => 'timestamptz_cmp_date' }, 7162 7163# crosstype operations for timestamp vs. timestamptz 7164{ oid => '2520', 7165 proname => 'timestamp_lt_timestamptz', provolatile => 's', 7166 prorettype => 'bool', proargtypes => 'timestamp timestamptz', 7167 prosrc => 'timestamp_lt_timestamptz' }, 7168{ oid => '2521', 7169 proname => 'timestamp_le_timestamptz', provolatile => 's', 7170 prorettype => 'bool', proargtypes => 'timestamp timestamptz', 7171 prosrc => 'timestamp_le_timestamptz' }, 7172{ oid => '2522', 7173 proname => 'timestamp_eq_timestamptz', provolatile => 's', 7174 prorettype => 'bool', proargtypes => 'timestamp timestamptz', 7175 prosrc => 'timestamp_eq_timestamptz' }, 7176{ oid => '2523', 7177 proname => 'timestamp_gt_timestamptz', provolatile => 's', 7178 prorettype => 'bool', proargtypes => 'timestamp timestamptz', 7179 prosrc => 'timestamp_gt_timestamptz' }, 7180{ oid => '2524', 7181 proname => 'timestamp_ge_timestamptz', provolatile => 's', 7182 prorettype => 'bool', proargtypes => 'timestamp timestamptz', 7183 prosrc => 'timestamp_ge_timestamptz' }, 7184{ oid => '2525', 7185 proname => 'timestamp_ne_timestamptz', provolatile => 's', 7186 prorettype => 'bool', proargtypes => 'timestamp timestamptz', 7187 prosrc => 'timestamp_ne_timestamptz' }, 7188{ oid => '2526', descr => 'less-equal-greater', 7189 proname => 'timestamp_cmp_timestamptz', provolatile => 's', 7190 prorettype => 'int4', proargtypes => 'timestamp timestamptz', 7191 prosrc => 'timestamp_cmp_timestamptz' }, 7192 7193{ oid => '2527', 7194 proname => 'timestamptz_lt_timestamp', provolatile => 's', 7195 prorettype => 'bool', proargtypes => 'timestamptz timestamp', 7196 prosrc => 'timestamptz_lt_timestamp' }, 7197{ oid => '2528', 7198 proname => 'timestamptz_le_timestamp', provolatile => 's', 7199 prorettype => 'bool', proargtypes => 'timestamptz timestamp', 7200 prosrc => 'timestamptz_le_timestamp' }, 7201{ oid => '2529', 7202 proname => 'timestamptz_eq_timestamp', provolatile => 's', 7203 prorettype => 'bool', proargtypes => 'timestamptz timestamp', 7204 prosrc => 'timestamptz_eq_timestamp' }, 7205{ oid => '2530', 7206 proname => 'timestamptz_gt_timestamp', provolatile => 's', 7207 prorettype => 'bool', proargtypes => 'timestamptz timestamp', 7208 prosrc => 'timestamptz_gt_timestamp' }, 7209{ oid => '2531', 7210 proname => 'timestamptz_ge_timestamp', provolatile => 's', 7211 prorettype => 'bool', proargtypes => 'timestamptz timestamp', 7212 prosrc => 'timestamptz_ge_timestamp' }, 7213{ oid => '2532', 7214 proname => 'timestamptz_ne_timestamp', provolatile => 's', 7215 prorettype => 'bool', proargtypes => 'timestamptz timestamp', 7216 prosrc => 'timestamptz_ne_timestamp' }, 7217{ oid => '2533', descr => 'less-equal-greater', 7218 proname => 'timestamptz_cmp_timestamp', provolatile => 's', 7219 prorettype => 'int4', proargtypes => 'timestamptz timestamp', 7220 prosrc => 'timestamptz_cmp_timestamp' }, 7221 7222# send/receive functions 7223{ oid => '2400', descr => 'I/O', 7224 proname => 'array_recv', provolatile => 's', prorettype => 'anyarray', 7225 proargtypes => 'internal oid int4', prosrc => 'array_recv' }, 7226{ oid => '2401', descr => 'I/O', 7227 proname => 'array_send', provolatile => 's', prorettype => 'bytea', 7228 proargtypes => 'anyarray', prosrc => 'array_send' }, 7229{ oid => '2402', descr => 'I/O', 7230 proname => 'record_recv', provolatile => 's', prorettype => 'record', 7231 proargtypes => 'internal oid int4', prosrc => 'record_recv' }, 7232{ oid => '2403', descr => 'I/O', 7233 proname => 'record_send', provolatile => 's', prorettype => 'bytea', 7234 proargtypes => 'record', prosrc => 'record_send' }, 7235{ oid => '2404', descr => 'I/O', 7236 proname => 'int2recv', prorettype => 'int2', proargtypes => 'internal', 7237 prosrc => 'int2recv' }, 7238{ oid => '2405', descr => 'I/O', 7239 proname => 'int2send', prorettype => 'bytea', proargtypes => 'int2', 7240 prosrc => 'int2send' }, 7241{ oid => '2406', descr => 'I/O', 7242 proname => 'int4recv', prorettype => 'int4', proargtypes => 'internal', 7243 prosrc => 'int4recv' }, 7244{ oid => '2407', descr => 'I/O', 7245 proname => 'int4send', prorettype => 'bytea', proargtypes => 'int4', 7246 prosrc => 'int4send' }, 7247{ oid => '2408', descr => 'I/O', 7248 proname => 'int8recv', prorettype => 'int8', proargtypes => 'internal', 7249 prosrc => 'int8recv' }, 7250{ oid => '2409', descr => 'I/O', 7251 proname => 'int8send', prorettype => 'bytea', proargtypes => 'int8', 7252 prosrc => 'int8send' }, 7253{ oid => '2410', descr => 'I/O', 7254 proname => 'int2vectorrecv', prorettype => 'int2vector', 7255 proargtypes => 'internal', prosrc => 'int2vectorrecv' }, 7256{ oid => '2411', descr => 'I/O', 7257 proname => 'int2vectorsend', prorettype => 'bytea', 7258 proargtypes => 'int2vector', prosrc => 'int2vectorsend' }, 7259{ oid => '2412', descr => 'I/O', 7260 proname => 'bytearecv', prorettype => 'bytea', proargtypes => 'internal', 7261 prosrc => 'bytearecv' }, 7262{ oid => '2413', descr => 'I/O', 7263 proname => 'byteasend', prorettype => 'bytea', proargtypes => 'bytea', 7264 prosrc => 'byteasend' }, 7265{ oid => '2414', descr => 'I/O', 7266 proname => 'textrecv', provolatile => 's', prorettype => 'text', 7267 proargtypes => 'internal', prosrc => 'textrecv' }, 7268{ oid => '2415', descr => 'I/O', 7269 proname => 'textsend', provolatile => 's', prorettype => 'bytea', 7270 proargtypes => 'text', prosrc => 'textsend' }, 7271{ oid => '2416', descr => 'I/O', 7272 proname => 'unknownrecv', prorettype => 'unknown', proargtypes => 'internal', 7273 prosrc => 'unknownrecv' }, 7274{ oid => '2417', descr => 'I/O', 7275 proname => 'unknownsend', prorettype => 'bytea', proargtypes => 'unknown', 7276 prosrc => 'unknownsend' }, 7277{ oid => '2418', descr => 'I/O', 7278 proname => 'oidrecv', prorettype => 'oid', proargtypes => 'internal', 7279 prosrc => 'oidrecv' }, 7280{ oid => '2419', descr => 'I/O', 7281 proname => 'oidsend', prorettype => 'bytea', proargtypes => 'oid', 7282 prosrc => 'oidsend' }, 7283{ oid => '2420', descr => 'I/O', 7284 proname => 'oidvectorrecv', prorettype => 'oidvector', 7285 proargtypes => 'internal', prosrc => 'oidvectorrecv' }, 7286{ oid => '2421', descr => 'I/O', 7287 proname => 'oidvectorsend', prorettype => 'bytea', proargtypes => 'oidvector', 7288 prosrc => 'oidvectorsend' }, 7289{ oid => '2422', descr => 'I/O', 7290 proname => 'namerecv', provolatile => 's', prorettype => 'name', 7291 proargtypes => 'internal', prosrc => 'namerecv' }, 7292{ oid => '2423', descr => 'I/O', 7293 proname => 'namesend', provolatile => 's', prorettype => 'bytea', 7294 proargtypes => 'name', prosrc => 'namesend' }, 7295{ oid => '2424', descr => 'I/O', 7296 proname => 'float4recv', prorettype => 'float4', proargtypes => 'internal', 7297 prosrc => 'float4recv' }, 7298{ oid => '2425', descr => 'I/O', 7299 proname => 'float4send', prorettype => 'bytea', proargtypes => 'float4', 7300 prosrc => 'float4send' }, 7301{ oid => '2426', descr => 'I/O', 7302 proname => 'float8recv', prorettype => 'float8', proargtypes => 'internal', 7303 prosrc => 'float8recv' }, 7304{ oid => '2427', descr => 'I/O', 7305 proname => 'float8send', prorettype => 'bytea', proargtypes => 'float8', 7306 prosrc => 'float8send' }, 7307{ oid => '2428', descr => 'I/O', 7308 proname => 'point_recv', prorettype => 'point', proargtypes => 'internal', 7309 prosrc => 'point_recv' }, 7310{ oid => '2429', descr => 'I/O', 7311 proname => 'point_send', prorettype => 'bytea', proargtypes => 'point', 7312 prosrc => 'point_send' }, 7313{ oid => '2430', descr => 'I/O', 7314 proname => 'bpcharrecv', provolatile => 's', prorettype => 'bpchar', 7315 proargtypes => 'internal oid int4', prosrc => 'bpcharrecv' }, 7316{ oid => '2431', descr => 'I/O', 7317 proname => 'bpcharsend', provolatile => 's', prorettype => 'bytea', 7318 proargtypes => 'bpchar', prosrc => 'bpcharsend' }, 7319{ oid => '2432', descr => 'I/O', 7320 proname => 'varcharrecv', provolatile => 's', prorettype => 'varchar', 7321 proargtypes => 'internal oid int4', prosrc => 'varcharrecv' }, 7322{ oid => '2433', descr => 'I/O', 7323 proname => 'varcharsend', provolatile => 's', prorettype => 'bytea', 7324 proargtypes => 'varchar', prosrc => 'varcharsend' }, 7325{ oid => '2434', descr => 'I/O', 7326 proname => 'charrecv', prorettype => 'char', proargtypes => 'internal', 7327 prosrc => 'charrecv' }, 7328{ oid => '2435', descr => 'I/O', 7329 proname => 'charsend', prorettype => 'bytea', proargtypes => 'char', 7330 prosrc => 'charsend' }, 7331{ oid => '2436', descr => 'I/O', 7332 proname => 'boolrecv', prorettype => 'bool', proargtypes => 'internal', 7333 prosrc => 'boolrecv' }, 7334{ oid => '2437', descr => 'I/O', 7335 proname => 'boolsend', prorettype => 'bytea', proargtypes => 'bool', 7336 prosrc => 'boolsend' }, 7337{ oid => '2438', descr => 'I/O', 7338 proname => 'tidrecv', prorettype => 'tid', proargtypes => 'internal', 7339 prosrc => 'tidrecv' }, 7340{ oid => '2439', descr => 'I/O', 7341 proname => 'tidsend', prorettype => 'bytea', proargtypes => 'tid', 7342 prosrc => 'tidsend' }, 7343{ oid => '2440', descr => 'I/O', 7344 proname => 'xidrecv', prorettype => 'xid', proargtypes => 'internal', 7345 prosrc => 'xidrecv' }, 7346{ oid => '2441', descr => 'I/O', 7347 proname => 'xidsend', prorettype => 'bytea', proargtypes => 'xid', 7348 prosrc => 'xidsend' }, 7349{ oid => '2442', descr => 'I/O', 7350 proname => 'cidrecv', prorettype => 'cid', proargtypes => 'internal', 7351 prosrc => 'cidrecv' }, 7352{ oid => '2443', descr => 'I/O', 7353 proname => 'cidsend', prorettype => 'bytea', proargtypes => 'cid', 7354 prosrc => 'cidsend' }, 7355{ oid => '2444', descr => 'I/O', 7356 proname => 'regprocrecv', prorettype => 'regproc', proargtypes => 'internal', 7357 prosrc => 'regprocrecv' }, 7358{ oid => '2445', descr => 'I/O', 7359 proname => 'regprocsend', prorettype => 'bytea', proargtypes => 'regproc', 7360 prosrc => 'regprocsend' }, 7361{ oid => '2446', descr => 'I/O', 7362 proname => 'regprocedurerecv', prorettype => 'regprocedure', 7363 proargtypes => 'internal', prosrc => 'regprocedurerecv' }, 7364{ oid => '2447', descr => 'I/O', 7365 proname => 'regproceduresend', prorettype => 'bytea', 7366 proargtypes => 'regprocedure', prosrc => 'regproceduresend' }, 7367{ oid => '2448', descr => 'I/O', 7368 proname => 'regoperrecv', prorettype => 'regoper', proargtypes => 'internal', 7369 prosrc => 'regoperrecv' }, 7370{ oid => '2449', descr => 'I/O', 7371 proname => 'regopersend', prorettype => 'bytea', proargtypes => 'regoper', 7372 prosrc => 'regopersend' }, 7373{ oid => '2450', descr => 'I/O', 7374 proname => 'regoperatorrecv', prorettype => 'regoperator', 7375 proargtypes => 'internal', prosrc => 'regoperatorrecv' }, 7376{ oid => '2451', descr => 'I/O', 7377 proname => 'regoperatorsend', prorettype => 'bytea', 7378 proargtypes => 'regoperator', prosrc => 'regoperatorsend' }, 7379{ oid => '2452', descr => 'I/O', 7380 proname => 'regclassrecv', prorettype => 'regclass', 7381 proargtypes => 'internal', prosrc => 'regclassrecv' }, 7382{ oid => '2453', descr => 'I/O', 7383 proname => 'regclasssend', prorettype => 'bytea', proargtypes => 'regclass', 7384 prosrc => 'regclasssend' }, 7385{ oid => '2454', descr => 'I/O', 7386 proname => 'regtyperecv', prorettype => 'regtype', proargtypes => 'internal', 7387 prosrc => 'regtyperecv' }, 7388{ oid => '2455', descr => 'I/O', 7389 proname => 'regtypesend', prorettype => 'bytea', proargtypes => 'regtype', 7390 prosrc => 'regtypesend' }, 7391 7392{ oid => '4094', descr => 'I/O', 7393 proname => 'regrolerecv', prorettype => 'regrole', proargtypes => 'internal', 7394 prosrc => 'regrolerecv' }, 7395{ oid => '4095', descr => 'I/O', 7396 proname => 'regrolesend', prorettype => 'bytea', proargtypes => 'regrole', 7397 prosrc => 'regrolesend' }, 7398{ oid => '4087', descr => 'I/O', 7399 proname => 'regnamespacerecv', prorettype => 'regnamespace', 7400 proargtypes => 'internal', prosrc => 'regnamespacerecv' }, 7401{ oid => '4088', descr => 'I/O', 7402 proname => 'regnamespacesend', prorettype => 'bytea', 7403 proargtypes => 'regnamespace', prosrc => 'regnamespacesend' }, 7404{ oid => '2456', descr => 'I/O', 7405 proname => 'bit_recv', prorettype => 'bit', 7406 proargtypes => 'internal oid int4', prosrc => 'bit_recv' }, 7407{ oid => '2457', descr => 'I/O', 7408 proname => 'bit_send', prorettype => 'bytea', proargtypes => 'bit', 7409 prosrc => 'bit_send' }, 7410{ oid => '2458', descr => 'I/O', 7411 proname => 'varbit_recv', prorettype => 'varbit', 7412 proargtypes => 'internal oid int4', prosrc => 'varbit_recv' }, 7413{ oid => '2459', descr => 'I/O', 7414 proname => 'varbit_send', prorettype => 'bytea', proargtypes => 'varbit', 7415 prosrc => 'varbit_send' }, 7416{ oid => '2460', descr => 'I/O', 7417 proname => 'numeric_recv', prorettype => 'numeric', 7418 proargtypes => 'internal oid int4', prosrc => 'numeric_recv' }, 7419{ oid => '2461', descr => 'I/O', 7420 proname => 'numeric_send', prorettype => 'bytea', proargtypes => 'numeric', 7421 prosrc => 'numeric_send' }, 7422{ oid => '2468', descr => 'I/O', 7423 proname => 'date_recv', prorettype => 'date', proargtypes => 'internal', 7424 prosrc => 'date_recv' }, 7425{ oid => '2469', descr => 'I/O', 7426 proname => 'date_send', prorettype => 'bytea', proargtypes => 'date', 7427 prosrc => 'date_send' }, 7428{ oid => '2470', descr => 'I/O', 7429 proname => 'time_recv', prorettype => 'time', 7430 proargtypes => 'internal oid int4', prosrc => 'time_recv' }, 7431{ oid => '2471', descr => 'I/O', 7432 proname => 'time_send', prorettype => 'bytea', proargtypes => 'time', 7433 prosrc => 'time_send' }, 7434{ oid => '2472', descr => 'I/O', 7435 proname => 'timetz_recv', prorettype => 'timetz', 7436 proargtypes => 'internal oid int4', prosrc => 'timetz_recv' }, 7437{ oid => '2473', descr => 'I/O', 7438 proname => 'timetz_send', prorettype => 'bytea', proargtypes => 'timetz', 7439 prosrc => 'timetz_send' }, 7440{ oid => '2474', descr => 'I/O', 7441 proname => 'timestamp_recv', prorettype => 'timestamp', 7442 proargtypes => 'internal oid int4', prosrc => 'timestamp_recv' }, 7443{ oid => '2475', descr => 'I/O', 7444 proname => 'timestamp_send', prorettype => 'bytea', 7445 proargtypes => 'timestamp', prosrc => 'timestamp_send' }, 7446{ oid => '2476', descr => 'I/O', 7447 proname => 'timestamptz_recv', prorettype => 'timestamptz', 7448 proargtypes => 'internal oid int4', prosrc => 'timestamptz_recv' }, 7449{ oid => '2477', descr => 'I/O', 7450 proname => 'timestamptz_send', prorettype => 'bytea', 7451 proargtypes => 'timestamptz', prosrc => 'timestamptz_send' }, 7452{ oid => '2478', descr => 'I/O', 7453 proname => 'interval_recv', prorettype => 'interval', 7454 proargtypes => 'internal oid int4', prosrc => 'interval_recv' }, 7455{ oid => '2479', descr => 'I/O', 7456 proname => 'interval_send', prorettype => 'bytea', proargtypes => 'interval', 7457 prosrc => 'interval_send' }, 7458{ oid => '2480', descr => 'I/O', 7459 proname => 'lseg_recv', prorettype => 'lseg', proargtypes => 'internal', 7460 prosrc => 'lseg_recv' }, 7461{ oid => '2481', descr => 'I/O', 7462 proname => 'lseg_send', prorettype => 'bytea', proargtypes => 'lseg', 7463 prosrc => 'lseg_send' }, 7464{ oid => '2482', descr => 'I/O', 7465 proname => 'path_recv', prorettype => 'path', proargtypes => 'internal', 7466 prosrc => 'path_recv' }, 7467{ oid => '2483', descr => 'I/O', 7468 proname => 'path_send', prorettype => 'bytea', proargtypes => 'path', 7469 prosrc => 'path_send' }, 7470{ oid => '2484', descr => 'I/O', 7471 proname => 'box_recv', prorettype => 'box', proargtypes => 'internal', 7472 prosrc => 'box_recv' }, 7473{ oid => '2485', descr => 'I/O', 7474 proname => 'box_send', prorettype => 'bytea', proargtypes => 'box', 7475 prosrc => 'box_send' }, 7476{ oid => '2486', descr => 'I/O', 7477 proname => 'poly_recv', prorettype => 'polygon', proargtypes => 'internal', 7478 prosrc => 'poly_recv' }, 7479{ oid => '2487', descr => 'I/O', 7480 proname => 'poly_send', prorettype => 'bytea', proargtypes => 'polygon', 7481 prosrc => 'poly_send' }, 7482{ oid => '2488', descr => 'I/O', 7483 proname => 'line_recv', prorettype => 'line', proargtypes => 'internal', 7484 prosrc => 'line_recv' }, 7485{ oid => '2489', descr => 'I/O', 7486 proname => 'line_send', prorettype => 'bytea', proargtypes => 'line', 7487 prosrc => 'line_send' }, 7488{ oid => '2490', descr => 'I/O', 7489 proname => 'circle_recv', prorettype => 'circle', proargtypes => 'internal', 7490 prosrc => 'circle_recv' }, 7491{ oid => '2491', descr => 'I/O', 7492 proname => 'circle_send', prorettype => 'bytea', proargtypes => 'circle', 7493 prosrc => 'circle_send' }, 7494{ oid => '2492', descr => 'I/O', 7495 proname => 'cash_recv', prorettype => 'money', proargtypes => 'internal', 7496 prosrc => 'cash_recv' }, 7497{ oid => '2493', descr => 'I/O', 7498 proname => 'cash_send', prorettype => 'bytea', proargtypes => 'money', 7499 prosrc => 'cash_send' }, 7500{ oid => '2494', descr => 'I/O', 7501 proname => 'macaddr_recv', prorettype => 'macaddr', proargtypes => 'internal', 7502 prosrc => 'macaddr_recv' }, 7503{ oid => '2495', descr => 'I/O', 7504 proname => 'macaddr_send', prorettype => 'bytea', proargtypes => 'macaddr', 7505 prosrc => 'macaddr_send' }, 7506{ oid => '2496', descr => 'I/O', 7507 proname => 'inet_recv', prorettype => 'inet', proargtypes => 'internal', 7508 prosrc => 'inet_recv' }, 7509{ oid => '2497', descr => 'I/O', 7510 proname => 'inet_send', prorettype => 'bytea', proargtypes => 'inet', 7511 prosrc => 'inet_send' }, 7512{ oid => '2498', descr => 'I/O', 7513 proname => 'cidr_recv', prorettype => 'cidr', proargtypes => 'internal', 7514 prosrc => 'cidr_recv' }, 7515{ oid => '2499', descr => 'I/O', 7516 proname => 'cidr_send', prorettype => 'bytea', proargtypes => 'cidr', 7517 prosrc => 'cidr_send' }, 7518{ oid => '2500', descr => 'I/O', 7519 proname => 'cstring_recv', provolatile => 's', prorettype => 'cstring', 7520 proargtypes => 'internal', prosrc => 'cstring_recv' }, 7521{ oid => '2501', descr => 'I/O', 7522 proname => 'cstring_send', provolatile => 's', prorettype => 'bytea', 7523 proargtypes => 'cstring', prosrc => 'cstring_send' }, 7524{ oid => '2502', descr => 'I/O', 7525 proname => 'anyarray_recv', provolatile => 's', prorettype => 'anyarray', 7526 proargtypes => 'internal', prosrc => 'anyarray_recv' }, 7527{ oid => '2503', descr => 'I/O', 7528 proname => 'anyarray_send', provolatile => 's', prorettype => 'bytea', 7529 proargtypes => 'anyarray', prosrc => 'anyarray_send' }, 7530{ oid => '3120', descr => 'I/O', 7531 proname => 'void_recv', prorettype => 'void', proargtypes => 'internal', 7532 prosrc => 'void_recv' }, 7533{ oid => '3121', descr => 'I/O', 7534 proname => 'void_send', prorettype => 'bytea', proargtypes => 'void', 7535 prosrc => 'void_send' }, 7536{ oid => '3446', descr => 'I/O', 7537 proname => 'macaddr8_recv', prorettype => 'macaddr8', 7538 proargtypes => 'internal', prosrc => 'macaddr8_recv' }, 7539{ oid => '3447', descr => 'I/O', 7540 proname => 'macaddr8_send', prorettype => 'bytea', proargtypes => 'macaddr8', 7541 prosrc => 'macaddr8_send' }, 7542 7543# System-view support functions with pretty-print option 7544{ oid => '2504', descr => 'source text of a rule with pretty-print option', 7545 proname => 'pg_get_ruledef', provolatile => 's', prorettype => 'text', 7546 proargtypes => 'oid bool', prosrc => 'pg_get_ruledef_ext' }, 7547{ oid => '2505', 7548 descr => 'select statement of a view with pretty-print option', 7549 proname => 'pg_get_viewdef', provolatile => 's', proparallel => 'r', 7550 prorettype => 'text', proargtypes => 'text bool', 7551 prosrc => 'pg_get_viewdef_name_ext' }, 7552{ oid => '2506', 7553 descr => 'select statement of a view with pretty-print option', 7554 proname => 'pg_get_viewdef', provolatile => 's', proparallel => 'r', 7555 prorettype => 'text', proargtypes => 'oid bool', 7556 prosrc => 'pg_get_viewdef_ext' }, 7557{ oid => '3159', 7558 descr => 'select statement of a view with pretty-printing and specified line wrapping', 7559 proname => 'pg_get_viewdef', provolatile => 's', proparallel => 'r', 7560 prorettype => 'text', proargtypes => 'oid int4', 7561 prosrc => 'pg_get_viewdef_wrap' }, 7562{ oid => '2507', 7563 descr => 'index description (full create statement or single expression) with pretty-print option', 7564 proname => 'pg_get_indexdef', provolatile => 's', prorettype => 'text', 7565 proargtypes => 'oid int4 bool', prosrc => 'pg_get_indexdef_ext' }, 7566{ oid => '2508', descr => 'constraint description with pretty-print option', 7567 proname => 'pg_get_constraintdef', provolatile => 's', prorettype => 'text', 7568 proargtypes => 'oid bool', prosrc => 'pg_get_constraintdef_ext' }, 7569{ oid => '2509', 7570 descr => 'deparse an encoded expression with pretty-print option', 7571 proname => 'pg_get_expr', provolatile => 's', prorettype => 'text', 7572 proargtypes => 'pg_node_tree oid bool', prosrc => 'pg_get_expr_ext' }, 7573{ oid => '2510', descr => 'get the prepared statements for this session', 7574 proname => 'pg_prepared_statement', prorows => '1000', proretset => 't', 7575 provolatile => 's', proparallel => 'r', prorettype => 'record', 7576 proargtypes => '', proallargtypes => '{text,text,timestamptz,_regtype,bool}', 7577 proargmodes => '{o,o,o,o,o}', 7578 proargnames => '{name,statement,prepare_time,parameter_types,from_sql}', 7579 prosrc => 'pg_prepared_statement' }, 7580{ oid => '2511', descr => 'get the open cursors for this session', 7581 proname => 'pg_cursor', prorows => '1000', proretset => 't', 7582 provolatile => 's', proparallel => 'r', prorettype => 'record', 7583 proargtypes => '', proallargtypes => '{text,text,bool,bool,bool,timestamptz}', 7584 proargmodes => '{o,o,o,o,o,o}', 7585 proargnames => '{name,statement,is_holdable,is_binary,is_scrollable,creation_time}', 7586 prosrc => 'pg_cursor' }, 7587{ oid => '2599', descr => 'get the available time zone abbreviations', 7588 proname => 'pg_timezone_abbrevs', prorows => '1000', proretset => 't', 7589 provolatile => 's', prorettype => 'record', proargtypes => '', 7590 proallargtypes => '{text,interval,bool}', proargmodes => '{o,o,o}', 7591 proargnames => '{abbrev,utc_offset,is_dst}', 7592 prosrc => 'pg_timezone_abbrevs' }, 7593{ oid => '2856', descr => 'get the available time zone names', 7594 proname => 'pg_timezone_names', prorows => '1000', proretset => 't', 7595 provolatile => 's', prorettype => 'record', proargtypes => '', 7596 proallargtypes => '{text,text,interval,bool}', proargmodes => '{o,o,o,o}', 7597 proargnames => '{name,abbrev,utc_offset,is_dst}', 7598 prosrc => 'pg_timezone_names' }, 7599{ oid => '2730', descr => 'trigger description with pretty-print option', 7600 proname => 'pg_get_triggerdef', provolatile => 's', prorettype => 'text', 7601 proargtypes => 'oid bool', prosrc => 'pg_get_triggerdef_ext' }, 7602 7603# asynchronous notifications 7604{ oid => '3035', 7605 descr => 'get the channels that the current backend listens to', 7606 proname => 'pg_listening_channels', prorows => '10', proretset => 't', 7607 provolatile => 's', proparallel => 'r', prorettype => 'text', 7608 proargtypes => '', prosrc => 'pg_listening_channels' }, 7609{ oid => '3036', descr => 'send a notification event', 7610 proname => 'pg_notify', proisstrict => 'f', provolatile => 'v', 7611 proparallel => 'r', prorettype => 'void', proargtypes => 'text text', 7612 prosrc => 'pg_notify' }, 7613{ oid => '3296', 7614 descr => 'get the fraction of the asynchronous notification queue currently in use', 7615 proname => 'pg_notification_queue_usage', provolatile => 'v', 7616 prorettype => 'float8', proargtypes => '', 7617 prosrc => 'pg_notification_queue_usage' }, 7618 7619# non-persistent series generator 7620{ oid => '1066', descr => 'non-persistent series generator', 7621 proname => 'generate_series', prorows => '1000', 7622 prosupport => 'generate_series_int4_support', proretset => 't', 7623 prorettype => 'int4', proargtypes => 'int4 int4 int4', 7624 prosrc => 'generate_series_step_int4' }, 7625{ oid => '1067', descr => 'non-persistent series generator', 7626 proname => 'generate_series', prorows => '1000', 7627 prosupport => 'generate_series_int4_support', proretset => 't', 7628 prorettype => 'int4', proargtypes => 'int4 int4', 7629 prosrc => 'generate_series_int4' }, 7630{ oid => '3994', descr => 'planner support for generate_series', 7631 proname => 'generate_series_int4_support', prorettype => 'internal', 7632 proargtypes => 'internal', prosrc => 'generate_series_int4_support' }, 7633{ oid => '1068', descr => 'non-persistent series generator', 7634 proname => 'generate_series', prorows => '1000', 7635 prosupport => 'generate_series_int8_support', proretset => 't', 7636 prorettype => 'int8', proargtypes => 'int8 int8 int8', 7637 prosrc => 'generate_series_step_int8' }, 7638{ oid => '1069', descr => 'non-persistent series generator', 7639 proname => 'generate_series', prorows => '1000', 7640 prosupport => 'generate_series_int8_support', proretset => 't', 7641 prorettype => 'int8', proargtypes => 'int8 int8', 7642 prosrc => 'generate_series_int8' }, 7643{ oid => '3995', descr => 'planner support for generate_series', 7644 proname => 'generate_series_int8_support', prorettype => 'internal', 7645 proargtypes => 'internal', prosrc => 'generate_series_int8_support' }, 7646{ oid => '3259', descr => 'non-persistent series generator', 7647 proname => 'generate_series', prorows => '1000', proretset => 't', 7648 prorettype => 'numeric', proargtypes => 'numeric numeric numeric', 7649 prosrc => 'generate_series_step_numeric' }, 7650{ oid => '3260', descr => 'non-persistent series generator', 7651 proname => 'generate_series', prorows => '1000', proretset => 't', 7652 prorettype => 'numeric', proargtypes => 'numeric numeric', 7653 prosrc => 'generate_series_numeric' }, 7654{ oid => '938', descr => 'non-persistent series generator', 7655 proname => 'generate_series', prorows => '1000', proretset => 't', 7656 prorettype => 'timestamp', proargtypes => 'timestamp timestamp interval', 7657 prosrc => 'generate_series_timestamp' }, 7658{ oid => '939', descr => 'non-persistent series generator', 7659 proname => 'generate_series', prorows => '1000', proretset => 't', 7660 provolatile => 's', prorettype => 'timestamptz', 7661 proargtypes => 'timestamptz timestamptz interval', 7662 prosrc => 'generate_series_timestamptz' }, 7663 7664# boolean aggregates 7665{ oid => '2515', descr => 'aggregate transition function', 7666 proname => 'booland_statefunc', prorettype => 'bool', 7667 proargtypes => 'bool bool', prosrc => 'booland_statefunc' }, 7668{ oid => '2516', descr => 'aggregate transition function', 7669 proname => 'boolor_statefunc', prorettype => 'bool', 7670 proargtypes => 'bool bool', prosrc => 'boolor_statefunc' }, 7671{ oid => '3496', descr => 'aggregate transition function', 7672 proname => 'bool_accum', proisstrict => 'f', prorettype => 'internal', 7673 proargtypes => 'internal bool', prosrc => 'bool_accum' }, 7674{ oid => '3497', descr => 'aggregate transition function', 7675 proname => 'bool_accum_inv', proisstrict => 'f', prorettype => 'internal', 7676 proargtypes => 'internal bool', prosrc => 'bool_accum_inv' }, 7677{ oid => '3498', descr => 'aggregate final function', 7678 proname => 'bool_alltrue', prorettype => 'bool', proargtypes => 'internal', 7679 prosrc => 'bool_alltrue' }, 7680{ oid => '3499', descr => 'aggregate final function', 7681 proname => 'bool_anytrue', prorettype => 'bool', proargtypes => 'internal', 7682 prosrc => 'bool_anytrue' }, 7683{ oid => '2517', descr => 'boolean-and aggregate', 7684 proname => 'bool_and', prokind => 'a', proisstrict => 'f', 7685 prorettype => 'bool', proargtypes => 'bool', prosrc => 'aggregate_dummy' }, 7686 7687# ANY, SOME? These names conflict with subquery operators. See doc. 7688{ oid => '2518', descr => 'boolean-or aggregate', 7689 proname => 'bool_or', prokind => 'a', proisstrict => 'f', 7690 prorettype => 'bool', proargtypes => 'bool', prosrc => 'aggregate_dummy' }, 7691{ oid => '2519', descr => 'boolean-and aggregate', 7692 proname => 'every', prokind => 'a', proisstrict => 'f', prorettype => 'bool', 7693 proargtypes => 'bool', prosrc => 'aggregate_dummy' }, 7694 7695# bitwise integer aggregates 7696{ oid => '2236', descr => 'bitwise-and smallint aggregate', 7697 proname => 'bit_and', prokind => 'a', proisstrict => 'f', 7698 prorettype => 'int2', proargtypes => 'int2', prosrc => 'aggregate_dummy' }, 7699{ oid => '2237', descr => 'bitwise-or smallint aggregate', 7700 proname => 'bit_or', prokind => 'a', proisstrict => 'f', prorettype => 'int2', 7701 proargtypes => 'int2', prosrc => 'aggregate_dummy' }, 7702{ oid => '2238', descr => 'bitwise-and integer aggregate', 7703 proname => 'bit_and', prokind => 'a', proisstrict => 'f', 7704 prorettype => 'int4', proargtypes => 'int4', prosrc => 'aggregate_dummy' }, 7705{ oid => '2239', descr => 'bitwise-or integer aggregate', 7706 proname => 'bit_or', prokind => 'a', proisstrict => 'f', prorettype => 'int4', 7707 proargtypes => 'int4', prosrc => 'aggregate_dummy' }, 7708{ oid => '2240', descr => 'bitwise-and bigint aggregate', 7709 proname => 'bit_and', prokind => 'a', proisstrict => 'f', 7710 prorettype => 'int8', proargtypes => 'int8', prosrc => 'aggregate_dummy' }, 7711{ oid => '2241', descr => 'bitwise-or bigint aggregate', 7712 proname => 'bit_or', prokind => 'a', proisstrict => 'f', prorettype => 'int8', 7713 proargtypes => 'int8', prosrc => 'aggregate_dummy' }, 7714{ oid => '2242', descr => 'bitwise-and bit aggregate', 7715 proname => 'bit_and', prokind => 'a', proisstrict => 'f', prorettype => 'bit', 7716 proargtypes => 'bit', prosrc => 'aggregate_dummy' }, 7717{ oid => '2243', descr => 'bitwise-or bit aggregate', 7718 proname => 'bit_or', prokind => 'a', proisstrict => 'f', prorettype => 'bit', 7719 proargtypes => 'bit', prosrc => 'aggregate_dummy' }, 7720 7721# formerly-missing interval + datetime operators 7722{ oid => '2546', 7723 proname => 'interval_pl_date', prolang => 'sql', prorettype => 'timestamp', 7724 proargtypes => 'interval date', prosrc => 'select $2 + $1' }, 7725{ oid => '2547', 7726 proname => 'interval_pl_timetz', prolang => 'sql', prorettype => 'timetz', 7727 proargtypes => 'interval timetz', prosrc => 'select $2 + $1' }, 7728{ oid => '2548', 7729 proname => 'interval_pl_timestamp', prolang => 'sql', 7730 prorettype => 'timestamp', proargtypes => 'interval timestamp', 7731 prosrc => 'select $2 + $1' }, 7732{ oid => '2549', 7733 proname => 'interval_pl_timestamptz', prolang => 'sql', provolatile => 's', 7734 prorettype => 'timestamptz', proargtypes => 'interval timestamptz', 7735 prosrc => 'select $2 + $1' }, 7736{ oid => '2550', 7737 proname => 'integer_pl_date', prolang => 'sql', prorettype => 'date', 7738 proargtypes => 'int4 date', prosrc => 'select $2 + $1' }, 7739 7740{ oid => '2556', descr => 'get OIDs of databases in a tablespace', 7741 proname => 'pg_tablespace_databases', prorows => '1000', proretset => 't', 7742 provolatile => 's', prorettype => 'oid', proargtypes => 'oid', 7743 prosrc => 'pg_tablespace_databases' }, 7744 7745{ oid => '2557', descr => 'convert int4 to boolean', 7746 proname => 'bool', prorettype => 'bool', proargtypes => 'int4', 7747 prosrc => 'int4_bool' }, 7748{ oid => '2558', descr => 'convert boolean to int4', 7749 proname => 'int4', prorettype => 'int4', proargtypes => 'bool', 7750 prosrc => 'bool_int4' }, 7751{ oid => '2559', descr => 'current value from last used sequence', 7752 proname => 'lastval', provolatile => 'v', proparallel => 'u', 7753 prorettype => 'int8', proargtypes => '', prosrc => 'lastval' }, 7754 7755# start time function 7756{ oid => '2560', descr => 'postmaster start time', 7757 proname => 'pg_postmaster_start_time', provolatile => 's', 7758 prorettype => 'timestamptz', proargtypes => '', 7759 prosrc => 'pg_postmaster_start_time' }, 7760 7761# config reload time function 7762{ oid => '2034', descr => 'configuration load time', 7763 proname => 'pg_conf_load_time', provolatile => 's', proparallel => 'r', 7764 prorettype => 'timestamptz', proargtypes => '', 7765 prosrc => 'pg_conf_load_time' }, 7766 7767# new functions for Y-direction rtree opclasses 7768{ oid => '2562', 7769 proname => 'box_below', prorettype => 'bool', proargtypes => 'box box', 7770 prosrc => 'box_below' }, 7771{ oid => '2563', 7772 proname => 'box_overbelow', prorettype => 'bool', proargtypes => 'box box', 7773 prosrc => 'box_overbelow' }, 7774{ oid => '2564', 7775 proname => 'box_overabove', prorettype => 'bool', proargtypes => 'box box', 7776 prosrc => 'box_overabove' }, 7777{ oid => '2565', 7778 proname => 'box_above', prorettype => 'bool', proargtypes => 'box box', 7779 prosrc => 'box_above' }, 7780{ oid => '2566', 7781 proname => 'poly_below', prorettype => 'bool', 7782 proargtypes => 'polygon polygon', prosrc => 'poly_below' }, 7783{ oid => '2567', 7784 proname => 'poly_overbelow', prorettype => 'bool', 7785 proargtypes => 'polygon polygon', prosrc => 'poly_overbelow' }, 7786{ oid => '2568', 7787 proname => 'poly_overabove', prorettype => 'bool', 7788 proargtypes => 'polygon polygon', prosrc => 'poly_overabove' }, 7789{ oid => '2569', 7790 proname => 'poly_above', prorettype => 'bool', 7791 proargtypes => 'polygon polygon', prosrc => 'poly_above' }, 7792{ oid => '2587', 7793 proname => 'circle_overbelow', prorettype => 'bool', 7794 proargtypes => 'circle circle', prosrc => 'circle_overbelow' }, 7795{ oid => '2588', 7796 proname => 'circle_overabove', prorettype => 'bool', 7797 proargtypes => 'circle circle', prosrc => 'circle_overabove' }, 7798 7799# support functions for GiST r-tree emulation 7800{ oid => '2578', descr => 'GiST support', 7801 proname => 'gist_box_consistent', prorettype => 'bool', 7802 proargtypes => 'internal box int2 oid internal', 7803 prosrc => 'gist_box_consistent' }, 7804{ oid => '2581', descr => 'GiST support', 7805 proname => 'gist_box_penalty', prorettype => 'internal', 7806 proargtypes => 'internal internal internal', prosrc => 'gist_box_penalty' }, 7807{ oid => '2582', descr => 'GiST support', 7808 proname => 'gist_box_picksplit', prorettype => 'internal', 7809 proargtypes => 'internal internal', prosrc => 'gist_box_picksplit' }, 7810{ oid => '2583', descr => 'GiST support', 7811 proname => 'gist_box_union', prorettype => 'box', 7812 proargtypes => 'internal internal', prosrc => 'gist_box_union' }, 7813{ oid => '2584', descr => 'GiST support', 7814 proname => 'gist_box_same', prorettype => 'internal', 7815 proargtypes => 'box box internal', prosrc => 'gist_box_same' }, 7816{ oid => '2585', descr => 'GiST support', 7817 proname => 'gist_poly_consistent', prorettype => 'bool', 7818 proargtypes => 'internal polygon int2 oid internal', 7819 prosrc => 'gist_poly_consistent' }, 7820{ oid => '2586', descr => 'GiST support', 7821 proname => 'gist_poly_compress', prorettype => 'internal', 7822 proargtypes => 'internal', prosrc => 'gist_poly_compress' }, 7823{ oid => '2591', descr => 'GiST support', 7824 proname => 'gist_circle_consistent', prorettype => 'bool', 7825 proargtypes => 'internal circle int2 oid internal', 7826 prosrc => 'gist_circle_consistent' }, 7827{ oid => '2592', descr => 'GiST support', 7828 proname => 'gist_circle_compress', prorettype => 'internal', 7829 proargtypes => 'internal', prosrc => 'gist_circle_compress' }, 7830{ oid => '1030', descr => 'GiST support', 7831 proname => 'gist_point_compress', prorettype => 'internal', 7832 proargtypes => 'internal', prosrc => 'gist_point_compress' }, 7833{ oid => '3282', descr => 'GiST support', 7834 proname => 'gist_point_fetch', prorettype => 'internal', 7835 proargtypes => 'internal', prosrc => 'gist_point_fetch' }, 7836{ oid => '2179', descr => 'GiST support', 7837 proname => 'gist_point_consistent', prorettype => 'bool', 7838 proargtypes => 'internal point int2 oid internal', 7839 prosrc => 'gist_point_consistent' }, 7840{ oid => '3064', descr => 'GiST support', 7841 proname => 'gist_point_distance', prorettype => 'float8', 7842 proargtypes => 'internal point int2 oid internal', 7843 prosrc => 'gist_point_distance' }, 7844{ oid => '3280', descr => 'GiST support', 7845 proname => 'gist_circle_distance', prorettype => 'float8', 7846 proargtypes => 'internal circle int2 oid internal', 7847 prosrc => 'gist_circle_distance' }, 7848{ oid => '3288', descr => 'GiST support', 7849 proname => 'gist_poly_distance', prorettype => 'float8', 7850 proargtypes => 'internal polygon int2 oid internal', 7851 prosrc => 'gist_poly_distance' }, 7852 7853# GIN array support 7854{ oid => '2743', descr => 'GIN array support', 7855 proname => 'ginarrayextract', prorettype => 'internal', 7856 proargtypes => 'anyarray internal internal', prosrc => 'ginarrayextract' }, 7857{ oid => '2774', descr => 'GIN array support', 7858 proname => 'ginqueryarrayextract', prorettype => 'internal', 7859 proargtypes => 'anyarray internal int2 internal internal internal internal', 7860 prosrc => 'ginqueryarrayextract' }, 7861{ oid => '2744', descr => 'GIN array support', 7862 proname => 'ginarrayconsistent', prorettype => 'bool', 7863 proargtypes => 'internal int2 anyarray int4 internal internal internal internal', 7864 prosrc => 'ginarrayconsistent' }, 7865{ oid => '3920', descr => 'GIN array support', 7866 proname => 'ginarraytriconsistent', prorettype => 'char', 7867 proargtypes => 'internal int2 anyarray int4 internal internal internal', 7868 prosrc => 'ginarraytriconsistent' }, 7869{ oid => '3076', descr => 'GIN array support (obsolete)', 7870 proname => 'ginarrayextract', prorettype => 'internal', 7871 proargtypes => 'anyarray internal', prosrc => 'ginarrayextract_2args' }, 7872 7873# overlap/contains/contained 7874{ oid => '2747', 7875 proname => 'arrayoverlap', prorettype => 'bool', 7876 proargtypes => 'anyarray anyarray', prosrc => 'arrayoverlap' }, 7877{ oid => '2748', 7878 proname => 'arraycontains', prorettype => 'bool', 7879 proargtypes => 'anyarray anyarray', prosrc => 'arraycontains' }, 7880{ oid => '2749', 7881 proname => 'arraycontained', prorettype => 'bool', 7882 proargtypes => 'anyarray anyarray', prosrc => 'arraycontained' }, 7883 7884# BRIN minmax 7885{ oid => '3383', descr => 'BRIN minmax support', 7886 proname => 'brin_minmax_opcinfo', prorettype => 'internal', 7887 proargtypes => 'internal', prosrc => 'brin_minmax_opcinfo' }, 7888{ oid => '3384', descr => 'BRIN minmax support', 7889 proname => 'brin_minmax_add_value', prorettype => 'bool', 7890 proargtypes => 'internal internal internal internal', 7891 prosrc => 'brin_minmax_add_value' }, 7892{ oid => '3385', descr => 'BRIN minmax support', 7893 proname => 'brin_minmax_consistent', prorettype => 'bool', 7894 proargtypes => 'internal internal internal', 7895 prosrc => 'brin_minmax_consistent' }, 7896{ oid => '3386', descr => 'BRIN minmax support', 7897 proname => 'brin_minmax_union', prorettype => 'bool', 7898 proargtypes => 'internal internal internal', prosrc => 'brin_minmax_union' }, 7899 7900# BRIN inclusion 7901{ oid => '4105', descr => 'BRIN inclusion support', 7902 proname => 'brin_inclusion_opcinfo', prorettype => 'internal', 7903 proargtypes => 'internal', prosrc => 'brin_inclusion_opcinfo' }, 7904{ oid => '4106', descr => 'BRIN inclusion support', 7905 proname => 'brin_inclusion_add_value', prorettype => 'bool', 7906 proargtypes => 'internal internal internal internal', 7907 prosrc => 'brin_inclusion_add_value' }, 7908{ oid => '4107', descr => 'BRIN inclusion support', 7909 proname => 'brin_inclusion_consistent', prorettype => 'bool', 7910 proargtypes => 'internal internal internal', 7911 prosrc => 'brin_inclusion_consistent' }, 7912{ oid => '4108', descr => 'BRIN inclusion support', 7913 proname => 'brin_inclusion_union', prorettype => 'bool', 7914 proargtypes => 'internal internal internal', 7915 prosrc => 'brin_inclusion_union' }, 7916 7917# userlock replacements 7918{ oid => '2880', descr => 'obtain exclusive advisory lock', 7919 proname => 'pg_advisory_lock', provolatile => 'v', proparallel => 'u', 7920 prorettype => 'void', proargtypes => 'int8', 7921 prosrc => 'pg_advisory_lock_int8' }, 7922{ oid => '3089', descr => 'obtain exclusive advisory lock', 7923 proname => 'pg_advisory_xact_lock', provolatile => 'v', proparallel => 'u', 7924 prorettype => 'void', proargtypes => 'int8', 7925 prosrc => 'pg_advisory_xact_lock_int8' }, 7926{ oid => '2881', descr => 'obtain shared advisory lock', 7927 proname => 'pg_advisory_lock_shared', provolatile => 'v', proparallel => 'u', 7928 prorettype => 'void', proargtypes => 'int8', 7929 prosrc => 'pg_advisory_lock_shared_int8' }, 7930{ oid => '3090', descr => 'obtain shared advisory lock', 7931 proname => 'pg_advisory_xact_lock_shared', provolatile => 'v', 7932 proparallel => 'u', prorettype => 'void', proargtypes => 'int8', 7933 prosrc => 'pg_advisory_xact_lock_shared_int8' }, 7934{ oid => '2882', descr => 'obtain exclusive advisory lock if available', 7935 proname => 'pg_try_advisory_lock', provolatile => 'v', proparallel => 'u', 7936 prorettype => 'bool', proargtypes => 'int8', 7937 prosrc => 'pg_try_advisory_lock_int8' }, 7938{ oid => '3091', descr => 'obtain exclusive advisory lock if available', 7939 proname => 'pg_try_advisory_xact_lock', provolatile => 'v', 7940 proparallel => 'u', prorettype => 'bool', proargtypes => 'int8', 7941 prosrc => 'pg_try_advisory_xact_lock_int8' }, 7942{ oid => '2883', descr => 'obtain shared advisory lock if available', 7943 proname => 'pg_try_advisory_lock_shared', provolatile => 'v', 7944 proparallel => 'u', prorettype => 'bool', proargtypes => 'int8', 7945 prosrc => 'pg_try_advisory_lock_shared_int8' }, 7946{ oid => '3092', descr => 'obtain shared advisory lock if available', 7947 proname => 'pg_try_advisory_xact_lock_shared', provolatile => 'v', 7948 proparallel => 'u', prorettype => 'bool', proargtypes => 'int8', 7949 prosrc => 'pg_try_advisory_xact_lock_shared_int8' }, 7950{ oid => '2884', descr => 'release exclusive advisory lock', 7951 proname => 'pg_advisory_unlock', provolatile => 'v', proparallel => 'u', 7952 prorettype => 'bool', proargtypes => 'int8', 7953 prosrc => 'pg_advisory_unlock_int8' }, 7954{ oid => '2885', descr => 'release shared advisory lock', 7955 proname => 'pg_advisory_unlock_shared', provolatile => 'v', 7956 proparallel => 'u', prorettype => 'bool', proargtypes => 'int8', 7957 prosrc => 'pg_advisory_unlock_shared_int8' }, 7958{ oid => '2886', descr => 'obtain exclusive advisory lock', 7959 proname => 'pg_advisory_lock', provolatile => 'v', proparallel => 'u', 7960 prorettype => 'void', proargtypes => 'int4 int4', 7961 prosrc => 'pg_advisory_lock_int4' }, 7962{ oid => '3093', descr => 'obtain exclusive advisory lock', 7963 proname => 'pg_advisory_xact_lock', provolatile => 'v', proparallel => 'u', 7964 prorettype => 'void', proargtypes => 'int4 int4', 7965 prosrc => 'pg_advisory_xact_lock_int4' }, 7966{ oid => '2887', descr => 'obtain shared advisory lock', 7967 proname => 'pg_advisory_lock_shared', provolatile => 'v', proparallel => 'u', 7968 prorettype => 'void', proargtypes => 'int4 int4', 7969 prosrc => 'pg_advisory_lock_shared_int4' }, 7970{ oid => '3094', descr => 'obtain shared advisory lock', 7971 proname => 'pg_advisory_xact_lock_shared', provolatile => 'v', 7972 proparallel => 'u', prorettype => 'void', proargtypes => 'int4 int4', 7973 prosrc => 'pg_advisory_xact_lock_shared_int4' }, 7974{ oid => '2888', descr => 'obtain exclusive advisory lock if available', 7975 proname => 'pg_try_advisory_lock', provolatile => 'v', proparallel => 'u', 7976 prorettype => 'bool', proargtypes => 'int4 int4', 7977 prosrc => 'pg_try_advisory_lock_int4' }, 7978{ oid => '3095', descr => 'obtain exclusive advisory lock if available', 7979 proname => 'pg_try_advisory_xact_lock', provolatile => 'v', 7980 proparallel => 'u', prorettype => 'bool', proargtypes => 'int4 int4', 7981 prosrc => 'pg_try_advisory_xact_lock_int4' }, 7982{ oid => '2889', descr => 'obtain shared advisory lock if available', 7983 proname => 'pg_try_advisory_lock_shared', provolatile => 'v', 7984 proparallel => 'u', prorettype => 'bool', proargtypes => 'int4 int4', 7985 prosrc => 'pg_try_advisory_lock_shared_int4' }, 7986{ oid => '3096', descr => 'obtain shared advisory lock if available', 7987 proname => 'pg_try_advisory_xact_lock_shared', provolatile => 'v', 7988 proparallel => 'u', prorettype => 'bool', proargtypes => 'int4 int4', 7989 prosrc => 'pg_try_advisory_xact_lock_shared_int4' }, 7990{ oid => '2890', descr => 'release exclusive advisory lock', 7991 proname => 'pg_advisory_unlock', provolatile => 'v', proparallel => 'u', 7992 prorettype => 'bool', proargtypes => 'int4 int4', 7993 prosrc => 'pg_advisory_unlock_int4' }, 7994{ oid => '2891', descr => 'release shared advisory lock', 7995 proname => 'pg_advisory_unlock_shared', provolatile => 'v', 7996 proparallel => 'u', prorettype => 'bool', proargtypes => 'int4 int4', 7997 prosrc => 'pg_advisory_unlock_shared_int4' }, 7998{ oid => '2892', descr => 'release all advisory locks', 7999 proname => 'pg_advisory_unlock_all', provolatile => 'v', proparallel => 'u', 8000 prorettype => 'void', proargtypes => '', prosrc => 'pg_advisory_unlock_all' }, 8001 8002# XML support 8003{ oid => '2893', descr => 'I/O', 8004 proname => 'xml_in', provolatile => 's', prorettype => 'xml', 8005 proargtypes => 'cstring', prosrc => 'xml_in' }, 8006{ oid => '2894', descr => 'I/O', 8007 proname => 'xml_out', prorettype => 'cstring', proargtypes => 'xml', 8008 prosrc => 'xml_out' }, 8009{ oid => '2895', descr => 'generate XML comment', 8010 proname => 'xmlcomment', prorettype => 'xml', proargtypes => 'text', 8011 prosrc => 'xmlcomment' }, 8012{ oid => '2896', 8013 descr => 'perform a non-validating parse of a character string to produce an XML value', 8014 proname => 'xml', provolatile => 's', prorettype => 'xml', 8015 proargtypes => 'text', prosrc => 'texttoxml' }, 8016{ oid => '2897', descr => 'validate an XML value', 8017 proname => 'xmlvalidate', prorettype => 'bool', proargtypes => 'xml text', 8018 prosrc => 'xmlvalidate' }, 8019{ oid => '2898', descr => 'I/O', 8020 proname => 'xml_recv', provolatile => 's', prorettype => 'xml', 8021 proargtypes => 'internal', prosrc => 'xml_recv' }, 8022{ oid => '2899', descr => 'I/O', 8023 proname => 'xml_send', provolatile => 's', prorettype => 'bytea', 8024 proargtypes => 'xml', prosrc => 'xml_send' }, 8025{ oid => '2900', descr => 'aggregate transition function', 8026 proname => 'xmlconcat2', proisstrict => 'f', prorettype => 'xml', 8027 proargtypes => 'xml xml', prosrc => 'xmlconcat2' }, 8028{ oid => '2901', descr => 'concatenate XML values', 8029 proname => 'xmlagg', prokind => 'a', proisstrict => 'f', prorettype => 'xml', 8030 proargtypes => 'xml', prosrc => 'aggregate_dummy' }, 8031{ oid => '2922', descr => 'serialize an XML value to a character string', 8032 proname => 'text', prorettype => 'text', proargtypes => 'xml', 8033 prosrc => 'xmltotext' }, 8034 8035{ oid => '2923', descr => 'map table contents to XML', 8036 proname => 'table_to_xml', procost => '100', provolatile => 's', 8037 proparallel => 'r', prorettype => 'xml', 8038 proargtypes => 'regclass bool bool text', 8039 proargnames => '{tbl,nulls,tableforest,targetns}', prosrc => 'table_to_xml' }, 8040{ oid => '2924', descr => 'map query result to XML', 8041 proname => 'query_to_xml', procost => '100', provolatile => 'v', 8042 proparallel => 'u', prorettype => 'xml', proargtypes => 'text bool bool text', 8043 proargnames => '{query,nulls,tableforest,targetns}', 8044 prosrc => 'query_to_xml' }, 8045{ oid => '2925', descr => 'map rows from cursor to XML', 8046 proname => 'cursor_to_xml', procost => '100', provolatile => 'v', 8047 proparallel => 'u', prorettype => 'xml', 8048 proargtypes => 'refcursor int4 bool bool text', 8049 proargnames => '{cursor,count,nulls,tableforest,targetns}', 8050 prosrc => 'cursor_to_xml' }, 8051{ oid => '2926', descr => 'map table structure to XML Schema', 8052 proname => 'table_to_xmlschema', procost => '100', provolatile => 's', 8053 proparallel => 'r', prorettype => 'xml', 8054 proargtypes => 'regclass bool bool text', 8055 proargnames => '{tbl,nulls,tableforest,targetns}', 8056 prosrc => 'table_to_xmlschema' }, 8057{ oid => '2927', descr => 'map query result structure to XML Schema', 8058 proname => 'query_to_xmlschema', procost => '100', provolatile => 'v', 8059 proparallel => 'u', prorettype => 'xml', proargtypes => 'text bool bool text', 8060 proargnames => '{query,nulls,tableforest,targetns}', 8061 prosrc => 'query_to_xmlschema' }, 8062{ oid => '2928', descr => 'map cursor structure to XML Schema', 8063 proname => 'cursor_to_xmlschema', procost => '100', provolatile => 'v', 8064 proparallel => 'u', prorettype => 'xml', 8065 proargtypes => 'refcursor bool bool text', 8066 proargnames => '{cursor,nulls,tableforest,targetns}', 8067 prosrc => 'cursor_to_xmlschema' }, 8068{ oid => '2929', 8069 descr => 'map table contents and structure to XML and XML Schema', 8070 proname => 'table_to_xml_and_xmlschema', procost => '100', provolatile => 's', 8071 proparallel => 'r', prorettype => 'xml', 8072 proargtypes => 'regclass bool bool text', 8073 proargnames => '{tbl,nulls,tableforest,targetns}', 8074 prosrc => 'table_to_xml_and_xmlschema' }, 8075{ oid => '2930', 8076 descr => 'map query result and structure to XML and XML Schema', 8077 proname => 'query_to_xml_and_xmlschema', procost => '100', provolatile => 'v', 8078 proparallel => 'u', prorettype => 'xml', proargtypes => 'text bool bool text', 8079 proargnames => '{query,nulls,tableforest,targetns}', 8080 prosrc => 'query_to_xml_and_xmlschema' }, 8081 8082{ oid => '2933', descr => 'map schema contents to XML', 8083 proname => 'schema_to_xml', procost => '100', provolatile => 's', 8084 proparallel => 'r', prorettype => 'xml', proargtypes => 'name bool bool text', 8085 proargnames => '{schema,nulls,tableforest,targetns}', 8086 prosrc => 'schema_to_xml' }, 8087{ oid => '2934', descr => 'map schema structure to XML Schema', 8088 proname => 'schema_to_xmlschema', procost => '100', provolatile => 's', 8089 proparallel => 'r', prorettype => 'xml', proargtypes => 'name bool bool text', 8090 proargnames => '{schema,nulls,tableforest,targetns}', 8091 prosrc => 'schema_to_xmlschema' }, 8092{ oid => '2935', 8093 descr => 'map schema contents and structure to XML and XML Schema', 8094 proname => 'schema_to_xml_and_xmlschema', procost => '100', 8095 provolatile => 's', proparallel => 'r', prorettype => 'xml', 8096 proargtypes => 'name bool bool text', 8097 proargnames => '{schema,nulls,tableforest,targetns}', 8098 prosrc => 'schema_to_xml_and_xmlschema' }, 8099 8100{ oid => '2936', descr => 'map database contents to XML', 8101 proname => 'database_to_xml', procost => '100', provolatile => 's', 8102 proparallel => 'r', prorettype => 'xml', proargtypes => 'bool bool text', 8103 proargnames => '{nulls,tableforest,targetns}', prosrc => 'database_to_xml' }, 8104{ oid => '2937', descr => 'map database structure to XML Schema', 8105 proname => 'database_to_xmlschema', procost => '100', provolatile => 's', 8106 proparallel => 'r', prorettype => 'xml', proargtypes => 'bool bool text', 8107 proargnames => '{nulls,tableforest,targetns}', 8108 prosrc => 'database_to_xmlschema' }, 8109{ oid => '2938', 8110 descr => 'map database contents and structure to XML and XML Schema', 8111 proname => 'database_to_xml_and_xmlschema', procost => '100', 8112 provolatile => 's', proparallel => 'r', prorettype => 'xml', 8113 proargtypes => 'bool bool text', 8114 proargnames => '{nulls,tableforest,targetns}', 8115 prosrc => 'database_to_xml_and_xmlschema' }, 8116 8117{ oid => '2931', 8118 descr => 'evaluate XPath expression, with namespaces support', 8119 proname => 'xpath', prorettype => '_xml', proargtypes => 'text xml _text', 8120 prosrc => 'xpath' }, 8121{ oid => '2932', descr => 'evaluate XPath expression', 8122 proname => 'xpath', prolang => 'sql', prorettype => '_xml', 8123 proargtypes => 'text xml', 8124 prosrc => 'select pg_catalog.xpath($1, $2, \'{}\'::pg_catalog.text[])' }, 8125 8126{ oid => '2614', descr => 'test XML value against XPath expression', 8127 proname => 'xmlexists', prorettype => 'bool', proargtypes => 'text xml', 8128 prosrc => 'xmlexists' }, 8129 8130{ oid => '3049', 8131 descr => 'test XML value against XPath expression, with namespace support', 8132 proname => 'xpath_exists', prorettype => 'bool', 8133 proargtypes => 'text xml _text', prosrc => 'xpath_exists' }, 8134{ oid => '3050', descr => 'test XML value against XPath expression', 8135 proname => 'xpath_exists', prolang => 'sql', prorettype => 'bool', 8136 proargtypes => 'text xml', 8137 prosrc => 'select pg_catalog.xpath_exists($1, $2, \'{}\'::pg_catalog.text[])' }, 8138{ oid => '3051', descr => 'determine if a string is well formed XML', 8139 proname => 'xml_is_well_formed', provolatile => 's', prorettype => 'bool', 8140 proargtypes => 'text', prosrc => 'xml_is_well_formed' }, 8141{ oid => '3052', descr => 'determine if a string is well formed XML document', 8142 proname => 'xml_is_well_formed_document', prorettype => 'bool', 8143 proargtypes => 'text', prosrc => 'xml_is_well_formed_document' }, 8144{ oid => '3053', descr => 'determine if a string is well formed XML content', 8145 proname => 'xml_is_well_formed_content', prorettype => 'bool', 8146 proargtypes => 'text', prosrc => 'xml_is_well_formed_content' }, 8147 8148# json 8149{ oid => '321', descr => 'I/O', 8150 proname => 'json_in', prorettype => 'json', proargtypes => 'cstring', 8151 prosrc => 'json_in' }, 8152{ oid => '322', descr => 'I/O', 8153 proname => 'json_out', prorettype => 'cstring', proargtypes => 'json', 8154 prosrc => 'json_out' }, 8155{ oid => '323', descr => 'I/O', 8156 proname => 'json_recv', prorettype => 'json', proargtypes => 'internal', 8157 prosrc => 'json_recv' }, 8158{ oid => '324', descr => 'I/O', 8159 proname => 'json_send', prorettype => 'bytea', proargtypes => 'json', 8160 prosrc => 'json_send' }, 8161{ oid => '3153', descr => 'map array to json', 8162 proname => 'array_to_json', provolatile => 's', prorettype => 'json', 8163 proargtypes => 'anyarray', prosrc => 'array_to_json' }, 8164{ oid => '3154', descr => 'map array to json with optional pretty printing', 8165 proname => 'array_to_json', provolatile => 's', prorettype => 'json', 8166 proargtypes => 'anyarray bool', prosrc => 'array_to_json_pretty' }, 8167{ oid => '3155', descr => 'map row to json', 8168 proname => 'row_to_json', provolatile => 's', prorettype => 'json', 8169 proargtypes => 'record', prosrc => 'row_to_json' }, 8170{ oid => '3156', descr => 'map row to json with optional pretty printing', 8171 proname => 'row_to_json', provolatile => 's', prorettype => 'json', 8172 proargtypes => 'record bool', prosrc => 'row_to_json_pretty' }, 8173{ oid => '3173', descr => 'json aggregate transition function', 8174 proname => 'json_agg_transfn', proisstrict => 'f', provolatile => 's', 8175 prorettype => 'internal', proargtypes => 'internal anyelement', 8176 prosrc => 'json_agg_transfn' }, 8177{ oid => '3174', descr => 'json aggregate final function', 8178 proname => 'json_agg_finalfn', proisstrict => 'f', prorettype => 'json', 8179 proargtypes => 'internal', prosrc => 'json_agg_finalfn' }, 8180{ oid => '3175', descr => 'aggregate input into json', 8181 proname => 'json_agg', prokind => 'a', proisstrict => 'f', provolatile => 's', 8182 prorettype => 'json', proargtypes => 'anyelement', 8183 prosrc => 'aggregate_dummy' }, 8184{ oid => '3180', descr => 'json object aggregate transition function', 8185 proname => 'json_object_agg_transfn', proisstrict => 'f', provolatile => 's', 8186 prorettype => 'internal', proargtypes => 'internal any any', 8187 prosrc => 'json_object_agg_transfn' }, 8188{ oid => '3196', descr => 'json object aggregate final function', 8189 proname => 'json_object_agg_finalfn', proisstrict => 'f', 8190 prorettype => 'json', proargtypes => 'internal', 8191 prosrc => 'json_object_agg_finalfn' }, 8192{ oid => '3197', descr => 'aggregate input into a json object', 8193 proname => 'json_object_agg', prokind => 'a', proisstrict => 'f', 8194 provolatile => 's', prorettype => 'json', proargtypes => 'any any', 8195 prosrc => 'aggregate_dummy' }, 8196{ oid => '3198', descr => 'build a json array from any inputs', 8197 proname => 'json_build_array', provariadic => 'any', proisstrict => 'f', 8198 provolatile => 's', prorettype => 'json', proargtypes => 'any', 8199 proallargtypes => '{any}', proargmodes => '{v}', 8200 prosrc => 'json_build_array' }, 8201{ oid => '3199', descr => 'build an empty json array', 8202 proname => 'json_build_array', proisstrict => 'f', provolatile => 's', 8203 prorettype => 'json', proargtypes => '', 8204 prosrc => 'json_build_array_noargs' }, 8205{ oid => '3200', 8206 descr => 'build a json object from pairwise key/value inputs', 8207 proname => 'json_build_object', provariadic => 'any', proisstrict => 'f', 8208 provolatile => 's', prorettype => 'json', proargtypes => 'any', 8209 proallargtypes => '{any}', proargmodes => '{v}', 8210 prosrc => 'json_build_object' }, 8211{ oid => '3201', descr => 'build an empty json object', 8212 proname => 'json_build_object', proisstrict => 'f', provolatile => 's', 8213 prorettype => 'json', proargtypes => '', 8214 prosrc => 'json_build_object_noargs' }, 8215{ oid => '3202', descr => 'map text array of key value pairs to json object', 8216 proname => 'json_object', prorettype => 'json', proargtypes => '_text', 8217 prosrc => 'json_object' }, 8218{ oid => '3203', descr => 'map text arrays of keys and values to json object', 8219 proname => 'json_object', prorettype => 'json', proargtypes => '_text _text', 8220 prosrc => 'json_object_two_arg' }, 8221{ oid => '3176', descr => 'map input to json', 8222 proname => 'to_json', provolatile => 's', prorettype => 'json', 8223 proargtypes => 'anyelement', prosrc => 'to_json' }, 8224{ oid => '3261', descr => 'remove object fields with null values from json', 8225 proname => 'json_strip_nulls', prorettype => 'json', proargtypes => 'json', 8226 prosrc => 'json_strip_nulls' }, 8227 8228{ oid => '3947', 8229 proname => 'json_object_field', prorettype => 'json', 8230 proargtypes => 'json text', proargnames => '{from_json, field_name}', 8231 prosrc => 'json_object_field' }, 8232{ oid => '3948', 8233 proname => 'json_object_field_text', prorettype => 'text', 8234 proargtypes => 'json text', proargnames => '{from_json, field_name}', 8235 prosrc => 'json_object_field_text' }, 8236{ oid => '3949', 8237 proname => 'json_array_element', prorettype => 'json', 8238 proargtypes => 'json int4', proargnames => '{from_json, element_index}', 8239 prosrc => 'json_array_element' }, 8240{ oid => '3950', 8241 proname => 'json_array_element_text', prorettype => 'text', 8242 proargtypes => 'json int4', proargnames => '{from_json, element_index}', 8243 prosrc => 'json_array_element_text' }, 8244{ oid => '3951', descr => 'get value from json with path elements', 8245 proname => 'json_extract_path', provariadic => 'text', prorettype => 'json', 8246 proargtypes => 'json _text', proallargtypes => '{json,_text}', 8247 proargmodes => '{i,v}', proargnames => '{from_json,path_elems}', 8248 prosrc => 'json_extract_path' }, 8249{ oid => '3953', descr => 'get value from json as text with path elements', 8250 proname => 'json_extract_path_text', provariadic => 'text', 8251 prorettype => 'text', proargtypes => 'json _text', 8252 proallargtypes => '{json,_text}', proargmodes => '{i,v}', 8253 proargnames => '{from_json,path_elems}', prosrc => 'json_extract_path_text' }, 8254{ oid => '3955', descr => 'key value pairs of a json object', 8255 proname => 'json_array_elements', prorows => '100', proretset => 't', 8256 prorettype => 'json', proargtypes => 'json', proallargtypes => '{json,json}', 8257 proargmodes => '{i,o}', proargnames => '{from_json,value}', 8258 prosrc => 'json_array_elements' }, 8259{ oid => '3969', descr => 'elements of json array', 8260 proname => 'json_array_elements_text', prorows => '100', proretset => 't', 8261 prorettype => 'text', proargtypes => 'json', proallargtypes => '{json,text}', 8262 proargmodes => '{i,o}', proargnames => '{from_json,value}', 8263 prosrc => 'json_array_elements_text' }, 8264{ oid => '3956', descr => 'length of json array', 8265 proname => 'json_array_length', prorettype => 'int4', proargtypes => 'json', 8266 prosrc => 'json_array_length' }, 8267{ oid => '3957', descr => 'get json object keys', 8268 proname => 'json_object_keys', prorows => '100', proretset => 't', 8269 prorettype => 'text', proargtypes => 'json', prosrc => 'json_object_keys' }, 8270{ oid => '3958', descr => 'key value pairs of a json object', 8271 proname => 'json_each', prorows => '100', proretset => 't', 8272 prorettype => 'record', proargtypes => 'json', 8273 proallargtypes => '{json,text,json}', proargmodes => '{i,o,o}', 8274 proargnames => '{from_json,key,value}', prosrc => 'json_each' }, 8275{ oid => '3959', descr => 'key value pairs of a json object', 8276 proname => 'json_each_text', prorows => '100', proretset => 't', 8277 prorettype => 'record', proargtypes => 'json', 8278 proallargtypes => '{json,text,text}', proargmodes => '{i,o,o}', 8279 proargnames => '{from_json,key,value}', prosrc => 'json_each_text' }, 8280{ oid => '3960', descr => 'get record fields from a json object', 8281 proname => 'json_populate_record', proisstrict => 'f', provolatile => 's', 8282 prorettype => 'anyelement', proargtypes => 'anyelement json bool', 8283 prosrc => 'json_populate_record' }, 8284{ oid => '3961', 8285 descr => 'get set of records with fields from a json array of objects', 8286 proname => 'json_populate_recordset', prorows => '100', proisstrict => 'f', 8287 proretset => 't', provolatile => 's', prorettype => 'anyelement', 8288 proargtypes => 'anyelement json bool', prosrc => 'json_populate_recordset' }, 8289{ oid => '3204', descr => 'get record fields from a json object', 8290 proname => 'json_to_record', provolatile => 's', prorettype => 'record', 8291 proargtypes => 'json', prosrc => 'json_to_record' }, 8292{ oid => '3205', 8293 descr => 'get set of records with fields from a json array of objects', 8294 proname => 'json_to_recordset', prorows => '100', proisstrict => 'f', 8295 proretset => 't', provolatile => 's', prorettype => 'record', 8296 proargtypes => 'json', prosrc => 'json_to_recordset' }, 8297{ oid => '3968', descr => 'get the type of a json value', 8298 proname => 'json_typeof', prorettype => 'text', proargtypes => 'json', 8299 prosrc => 'json_typeof' }, 8300 8301# uuid 8302{ oid => '2952', descr => 'I/O', 8303 proname => 'uuid_in', prorettype => 'uuid', proargtypes => 'cstring', 8304 prosrc => 'uuid_in' }, 8305{ oid => '2953', descr => 'I/O', 8306 proname => 'uuid_out', prorettype => 'cstring', proargtypes => 'uuid', 8307 prosrc => 'uuid_out' }, 8308{ oid => '2954', 8309 proname => 'uuid_lt', proleakproof => 't', prorettype => 'bool', 8310 proargtypes => 'uuid uuid', prosrc => 'uuid_lt' }, 8311{ oid => '2955', 8312 proname => 'uuid_le', proleakproof => 't', prorettype => 'bool', 8313 proargtypes => 'uuid uuid', prosrc => 'uuid_le' }, 8314{ oid => '2956', 8315 proname => 'uuid_eq', proleakproof => 't', prorettype => 'bool', 8316 proargtypes => 'uuid uuid', prosrc => 'uuid_eq' }, 8317{ oid => '2957', 8318 proname => 'uuid_ge', proleakproof => 't', prorettype => 'bool', 8319 proargtypes => 'uuid uuid', prosrc => 'uuid_ge' }, 8320{ oid => '2958', 8321 proname => 'uuid_gt', proleakproof => 't', prorettype => 'bool', 8322 proargtypes => 'uuid uuid', prosrc => 'uuid_gt' }, 8323{ oid => '2959', 8324 proname => 'uuid_ne', proleakproof => 't', prorettype => 'bool', 8325 proargtypes => 'uuid uuid', prosrc => 'uuid_ne' }, 8326{ oid => '2960', descr => 'less-equal-greater', 8327 proname => 'uuid_cmp', proleakproof => 't', prorettype => 'int4', 8328 proargtypes => 'uuid uuid', prosrc => 'uuid_cmp' }, 8329{ oid => '3300', descr => 'sort support', 8330 proname => 'uuid_sortsupport', prorettype => 'void', 8331 proargtypes => 'internal', prosrc => 'uuid_sortsupport' }, 8332{ oid => '2961', descr => 'I/O', 8333 proname => 'uuid_recv', prorettype => 'uuid', proargtypes => 'internal', 8334 prosrc => 'uuid_recv' }, 8335{ oid => '2962', descr => 'I/O', 8336 proname => 'uuid_send', prorettype => 'bytea', proargtypes => 'uuid', 8337 prosrc => 'uuid_send' }, 8338{ oid => '2963', descr => 'hash', 8339 proname => 'uuid_hash', prorettype => 'int4', proargtypes => 'uuid', 8340 prosrc => 'uuid_hash' }, 8341{ oid => '3412', descr => 'hash', 8342 proname => 'uuid_hash_extended', prorettype => 'int8', 8343 proargtypes => 'uuid int8', prosrc => 'uuid_hash_extended' }, 8344 8345# pg_lsn 8346{ oid => '3229', descr => 'I/O', 8347 proname => 'pg_lsn_in', prorettype => 'pg_lsn', proargtypes => 'cstring', 8348 prosrc => 'pg_lsn_in' }, 8349{ oid => '3230', descr => 'I/O', 8350 proname => 'pg_lsn_out', prorettype => 'cstring', proargtypes => 'pg_lsn', 8351 prosrc => 'pg_lsn_out' }, 8352{ oid => '3231', 8353 proname => 'pg_lsn_lt', proleakproof => 't', prorettype => 'bool', 8354 proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_lt' }, 8355{ oid => '3232', 8356 proname => 'pg_lsn_le', proleakproof => 't', prorettype => 'bool', 8357 proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_le' }, 8358{ oid => '3233', 8359 proname => 'pg_lsn_eq', proleakproof => 't', prorettype => 'bool', 8360 proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_eq' }, 8361{ oid => '3234', 8362 proname => 'pg_lsn_ge', proleakproof => 't', prorettype => 'bool', 8363 proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_ge' }, 8364{ oid => '3235', 8365 proname => 'pg_lsn_gt', proleakproof => 't', prorettype => 'bool', 8366 proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_gt' }, 8367{ oid => '3236', 8368 proname => 'pg_lsn_ne', proleakproof => 't', prorettype => 'bool', 8369 proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_ne' }, 8370{ oid => '3237', 8371 proname => 'pg_lsn_mi', prorettype => 'numeric', 8372 proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_mi' }, 8373{ oid => '3238', descr => 'I/O', 8374 proname => 'pg_lsn_recv', prorettype => 'pg_lsn', proargtypes => 'internal', 8375 prosrc => 'pg_lsn_recv' }, 8376{ oid => '3239', descr => 'I/O', 8377 proname => 'pg_lsn_send', prorettype => 'bytea', proargtypes => 'pg_lsn', 8378 prosrc => 'pg_lsn_send' }, 8379{ oid => '3251', descr => 'less-equal-greater', 8380 proname => 'pg_lsn_cmp', proleakproof => 't', prorettype => 'int4', 8381 proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_cmp' }, 8382{ oid => '3252', descr => 'hash', 8383 proname => 'pg_lsn_hash', prorettype => 'int4', proargtypes => 'pg_lsn', 8384 prosrc => 'pg_lsn_hash' }, 8385{ oid => '3413', descr => 'hash', 8386 proname => 'pg_lsn_hash_extended', prorettype => 'int8', 8387 proargtypes => 'pg_lsn int8', prosrc => 'pg_lsn_hash_extended' }, 8388 8389# enum related procs 8390{ oid => '3504', descr => 'I/O', 8391 proname => 'anyenum_in', prorettype => 'anyenum', proargtypes => 'cstring', 8392 prosrc => 'anyenum_in' }, 8393{ oid => '3505', descr => 'I/O', 8394 proname => 'anyenum_out', provolatile => 's', prorettype => 'cstring', 8395 proargtypes => 'anyenum', prosrc => 'anyenum_out' }, 8396{ oid => '3506', descr => 'I/O', 8397 proname => 'enum_in', provolatile => 's', prorettype => 'anyenum', 8398 proargtypes => 'cstring oid', prosrc => 'enum_in' }, 8399{ oid => '3507', descr => 'I/O', 8400 proname => 'enum_out', provolatile => 's', prorettype => 'cstring', 8401 proargtypes => 'anyenum', prosrc => 'enum_out' }, 8402{ oid => '3508', 8403 proname => 'enum_eq', prorettype => 'bool', proargtypes => 'anyenum anyenum', 8404 prosrc => 'enum_eq' }, 8405{ oid => '3509', 8406 proname => 'enum_ne', prorettype => 'bool', proargtypes => 'anyenum anyenum', 8407 prosrc => 'enum_ne' }, 8408{ oid => '3510', 8409 proname => 'enum_lt', prorettype => 'bool', proargtypes => 'anyenum anyenum', 8410 prosrc => 'enum_lt' }, 8411{ oid => '3511', 8412 proname => 'enum_gt', prorettype => 'bool', proargtypes => 'anyenum anyenum', 8413 prosrc => 'enum_gt' }, 8414{ oid => '3512', 8415 proname => 'enum_le', prorettype => 'bool', proargtypes => 'anyenum anyenum', 8416 prosrc => 'enum_le' }, 8417{ oid => '3513', 8418 proname => 'enum_ge', prorettype => 'bool', proargtypes => 'anyenum anyenum', 8419 prosrc => 'enum_ge' }, 8420{ oid => '3514', descr => 'less-equal-greater', 8421 proname => 'enum_cmp', prorettype => 'int4', proargtypes => 'anyenum anyenum', 8422 prosrc => 'enum_cmp' }, 8423{ oid => '3515', descr => 'hash', 8424 proname => 'hashenum', prorettype => 'int4', proargtypes => 'anyenum', 8425 prosrc => 'hashenum' }, 8426{ oid => '3414', descr => 'hash', 8427 proname => 'hashenumextended', prorettype => 'int8', 8428 proargtypes => 'anyenum int8', prosrc => 'hashenumextended' }, 8429{ oid => '3524', descr => 'smaller of two', 8430 proname => 'enum_smaller', prorettype => 'anyenum', 8431 proargtypes => 'anyenum anyenum', prosrc => 'enum_smaller' }, 8432{ oid => '3525', descr => 'larger of two', 8433 proname => 'enum_larger', prorettype => 'anyenum', 8434 proargtypes => 'anyenum anyenum', prosrc => 'enum_larger' }, 8435{ oid => '3526', descr => 'maximum value of all enum input values', 8436 proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'anyenum', 8437 proargtypes => 'anyenum', prosrc => 'aggregate_dummy' }, 8438{ oid => '3527', descr => 'minimum value of all enum input values', 8439 proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'anyenum', 8440 proargtypes => 'anyenum', prosrc => 'aggregate_dummy' }, 8441{ oid => '3528', descr => 'first value of the input enum type', 8442 proname => 'enum_first', proisstrict => 'f', provolatile => 's', 8443 prorettype => 'anyenum', proargtypes => 'anyenum', prosrc => 'enum_first' }, 8444{ oid => '3529', descr => 'last value of the input enum type', 8445 proname => 'enum_last', proisstrict => 'f', provolatile => 's', 8446 prorettype => 'anyenum', proargtypes => 'anyenum', prosrc => 'enum_last' }, 8447{ oid => '3530', 8448 descr => 'range between the two given enum values, as an ordered array', 8449 proname => 'enum_range', proisstrict => 'f', provolatile => 's', 8450 prorettype => 'anyarray', proargtypes => 'anyenum anyenum', 8451 prosrc => 'enum_range_bounds' }, 8452{ oid => '3531', descr => 'range of the given enum type, as an ordered array', 8453 proname => 'enum_range', proisstrict => 'f', provolatile => 's', 8454 prorettype => 'anyarray', proargtypes => 'anyenum', 8455 prosrc => 'enum_range_all' }, 8456{ oid => '3532', descr => 'I/O', 8457 proname => 'enum_recv', provolatile => 's', prorettype => 'anyenum', 8458 proargtypes => 'internal oid', prosrc => 'enum_recv' }, 8459{ oid => '3533', descr => 'I/O', 8460 proname => 'enum_send', provolatile => 's', prorettype => 'bytea', 8461 proargtypes => 'anyenum', prosrc => 'enum_send' }, 8462 8463# text search stuff 8464{ oid => '3610', descr => 'I/O', 8465 proname => 'tsvectorin', prorettype => 'tsvector', proargtypes => 'cstring', 8466 prosrc => 'tsvectorin' }, 8467{ oid => '3639', descr => 'I/O', 8468 proname => 'tsvectorrecv', prorettype => 'tsvector', 8469 proargtypes => 'internal', prosrc => 'tsvectorrecv' }, 8470{ oid => '3611', descr => 'I/O', 8471 proname => 'tsvectorout', prorettype => 'cstring', proargtypes => 'tsvector', 8472 prosrc => 'tsvectorout' }, 8473{ oid => '3638', descr => 'I/O', 8474 proname => 'tsvectorsend', prorettype => 'bytea', proargtypes => 'tsvector', 8475 prosrc => 'tsvectorsend' }, 8476{ oid => '3612', descr => 'I/O', 8477 proname => 'tsqueryin', prorettype => 'tsquery', proargtypes => 'cstring', 8478 prosrc => 'tsqueryin' }, 8479{ oid => '3641', descr => 'I/O', 8480 proname => 'tsqueryrecv', prorettype => 'tsquery', proargtypes => 'internal', 8481 prosrc => 'tsqueryrecv' }, 8482{ oid => '3613', descr => 'I/O', 8483 proname => 'tsqueryout', prorettype => 'cstring', proargtypes => 'tsquery', 8484 prosrc => 'tsqueryout' }, 8485{ oid => '3640', descr => 'I/O', 8486 proname => 'tsquerysend', prorettype => 'bytea', proargtypes => 'tsquery', 8487 prosrc => 'tsquerysend' }, 8488{ oid => '3646', descr => 'I/O', 8489 proname => 'gtsvectorin', prorettype => 'gtsvector', proargtypes => 'cstring', 8490 prosrc => 'gtsvectorin' }, 8491{ oid => '3647', descr => 'I/O', 8492 proname => 'gtsvectorout', prorettype => 'cstring', 8493 proargtypes => 'gtsvector', prosrc => 'gtsvectorout' }, 8494 8495{ oid => '3616', 8496 proname => 'tsvector_lt', prorettype => 'bool', 8497 proargtypes => 'tsvector tsvector', prosrc => 'tsvector_lt' }, 8498{ oid => '3617', 8499 proname => 'tsvector_le', prorettype => 'bool', 8500 proargtypes => 'tsvector tsvector', prosrc => 'tsvector_le' }, 8501{ oid => '3618', 8502 proname => 'tsvector_eq', prorettype => 'bool', 8503 proargtypes => 'tsvector tsvector', prosrc => 'tsvector_eq' }, 8504{ oid => '3619', 8505 proname => 'tsvector_ne', prorettype => 'bool', 8506 proargtypes => 'tsvector tsvector', prosrc => 'tsvector_ne' }, 8507{ oid => '3620', 8508 proname => 'tsvector_ge', prorettype => 'bool', 8509 proargtypes => 'tsvector tsvector', prosrc => 'tsvector_ge' }, 8510{ oid => '3621', 8511 proname => 'tsvector_gt', prorettype => 'bool', 8512 proargtypes => 'tsvector tsvector', prosrc => 'tsvector_gt' }, 8513{ oid => '3622', descr => 'less-equal-greater', 8514 proname => 'tsvector_cmp', prorettype => 'int4', 8515 proargtypes => 'tsvector tsvector', prosrc => 'tsvector_cmp' }, 8516 8517{ oid => '3711', descr => 'number of lexemes', 8518 proname => 'length', prorettype => 'int4', proargtypes => 'tsvector', 8519 prosrc => 'tsvector_length' }, 8520{ oid => '3623', descr => 'strip position information', 8521 proname => 'strip', prorettype => 'tsvector', proargtypes => 'tsvector', 8522 prosrc => 'tsvector_strip' }, 8523{ oid => '3624', descr => 'set given weight for whole tsvector', 8524 proname => 'setweight', prorettype => 'tsvector', 8525 proargtypes => 'tsvector char', prosrc => 'tsvector_setweight' }, 8526{ oid => '3320', descr => 'set given weight for given lexemes', 8527 proname => 'setweight', prorettype => 'tsvector', 8528 proargtypes => 'tsvector char _text', 8529 prosrc => 'tsvector_setweight_by_filter' }, 8530{ oid => '3625', 8531 proname => 'tsvector_concat', prorettype => 'tsvector', 8532 proargtypes => 'tsvector tsvector', prosrc => 'tsvector_concat' }, 8533{ oid => '3321', descr => 'delete lexeme', 8534 proname => 'ts_delete', prorettype => 'tsvector', 8535 proargtypes => 'tsvector text', prosrc => 'tsvector_delete_str' }, 8536{ oid => '3323', descr => 'delete given lexemes', 8537 proname => 'ts_delete', prorettype => 'tsvector', 8538 proargtypes => 'tsvector _text', prosrc => 'tsvector_delete_arr' }, 8539{ oid => '3322', descr => 'expand tsvector to set of rows', 8540 proname => 'unnest', prorows => '10', proretset => 't', 8541 prorettype => 'record', proargtypes => 'tsvector', 8542 proallargtypes => '{tsvector,text,_int2,_text}', proargmodes => '{i,o,o,o}', 8543 proargnames => '{tsvector,lexeme,positions,weights}', 8544 prosrc => 'tsvector_unnest' }, 8545{ oid => '3326', descr => 'convert tsvector to array of lexemes', 8546 proname => 'tsvector_to_array', prorettype => '_text', 8547 proargtypes => 'tsvector', prosrc => 'tsvector_to_array' }, 8548{ oid => '3327', descr => 'build tsvector from array of lexemes', 8549 proname => 'array_to_tsvector', prorettype => 'tsvector', 8550 proargtypes => '_text', prosrc => 'array_to_tsvector' }, 8551{ oid => '3319', 8552 descr => 'delete lexemes that do not have one of the given weights', 8553 proname => 'ts_filter', prorettype => 'tsvector', 8554 proargtypes => 'tsvector _char', prosrc => 'tsvector_filter' }, 8555 8556{ oid => '3634', 8557 proname => 'ts_match_vq', prorettype => 'bool', 8558 proargtypes => 'tsvector tsquery', prosrc => 'ts_match_vq' }, 8559{ oid => '3635', 8560 proname => 'ts_match_qv', prorettype => 'bool', 8561 proargtypes => 'tsquery tsvector', prosrc => 'ts_match_qv' }, 8562{ oid => '3760', 8563 proname => 'ts_match_tt', procost => '100', provolatile => 's', 8564 prorettype => 'bool', proargtypes => 'text text', prosrc => 'ts_match_tt' }, 8565{ oid => '3761', 8566 proname => 'ts_match_tq', procost => '100', provolatile => 's', 8567 prorettype => 'bool', proargtypes => 'text tsquery', 8568 prosrc => 'ts_match_tq' }, 8569 8570{ oid => '3648', descr => 'GiST tsvector support', 8571 proname => 'gtsvector_compress', prorettype => 'internal', 8572 proargtypes => 'internal', prosrc => 'gtsvector_compress' }, 8573{ oid => '3649', descr => 'GiST tsvector support', 8574 proname => 'gtsvector_decompress', prorettype => 'internal', 8575 proargtypes => 'internal', prosrc => 'gtsvector_decompress' }, 8576{ oid => '3650', descr => 'GiST tsvector support', 8577 proname => 'gtsvector_picksplit', prorettype => 'internal', 8578 proargtypes => 'internal internal', prosrc => 'gtsvector_picksplit' }, 8579{ oid => '3651', descr => 'GiST tsvector support', 8580 proname => 'gtsvector_union', prorettype => 'gtsvector', 8581 proargtypes => 'internal internal', prosrc => 'gtsvector_union' }, 8582{ oid => '3652', descr => 'GiST tsvector support', 8583 proname => 'gtsvector_same', prorettype => 'internal', 8584 proargtypes => 'gtsvector gtsvector internal', prosrc => 'gtsvector_same' }, 8585{ oid => '3653', descr => 'GiST tsvector support', 8586 proname => 'gtsvector_penalty', prorettype => 'internal', 8587 proargtypes => 'internal internal internal', prosrc => 'gtsvector_penalty' }, 8588{ oid => '3654', descr => 'GiST tsvector support', 8589 proname => 'gtsvector_consistent', prorettype => 'bool', 8590 proargtypes => 'internal tsvector int2 oid internal', 8591 prosrc => 'gtsvector_consistent' }, 8592{ oid => '3790', descr => 'GiST tsvector support (obsolete)', 8593 proname => 'gtsvector_consistent', prorettype => 'bool', 8594 proargtypes => 'internal gtsvector int4 oid internal', 8595 prosrc => 'gtsvector_consistent_oldsig' }, 8596 8597{ oid => '3656', descr => 'GIN tsvector support', 8598 proname => 'gin_extract_tsvector', prorettype => 'internal', 8599 proargtypes => 'tsvector internal internal', 8600 prosrc => 'gin_extract_tsvector' }, 8601{ oid => '3657', descr => 'GIN tsvector support', 8602 proname => 'gin_extract_tsquery', prorettype => 'internal', 8603 proargtypes => 'tsvector internal int2 internal internal internal internal', 8604 prosrc => 'gin_extract_tsquery' }, 8605{ oid => '3658', descr => 'GIN tsvector support', 8606 proname => 'gin_tsquery_consistent', prorettype => 'bool', 8607 proargtypes => 'internal int2 tsvector int4 internal internal internal internal', 8608 prosrc => 'gin_tsquery_consistent' }, 8609{ oid => '3921', descr => 'GIN tsvector support', 8610 proname => 'gin_tsquery_triconsistent', prorettype => 'char', 8611 proargtypes => 'internal int2 tsvector int4 internal internal internal', 8612 prosrc => 'gin_tsquery_triconsistent' }, 8613{ oid => '3724', descr => 'GIN tsvector support', 8614 proname => 'gin_cmp_tslexeme', prorettype => 'int4', 8615 proargtypes => 'text text', prosrc => 'gin_cmp_tslexeme' }, 8616{ oid => '2700', descr => 'GIN tsvector support', 8617 proname => 'gin_cmp_prefix', prorettype => 'int4', 8618 proargtypes => 'text text int2 internal', prosrc => 'gin_cmp_prefix' }, 8619{ oid => '3077', descr => 'GIN tsvector support (obsolete)', 8620 proname => 'gin_extract_tsvector', prorettype => 'internal', 8621 proargtypes => 'tsvector internal', prosrc => 'gin_extract_tsvector_2args' }, 8622{ oid => '3087', descr => 'GIN tsvector support (obsolete)', 8623 proname => 'gin_extract_tsquery', prorettype => 'internal', 8624 proargtypes => 'tsquery internal int2 internal internal', 8625 prosrc => 'gin_extract_tsquery_5args' }, 8626{ oid => '3088', descr => 'GIN tsvector support (obsolete)', 8627 proname => 'gin_tsquery_consistent', prorettype => 'bool', 8628 proargtypes => 'internal int2 tsquery int4 internal internal', 8629 prosrc => 'gin_tsquery_consistent_6args' }, 8630{ oid => '3791', descr => 'GIN tsvector support (obsolete)', 8631 proname => 'gin_extract_tsquery', prorettype => 'internal', 8632 proargtypes => 'tsquery internal int2 internal internal internal internal', 8633 prosrc => 'gin_extract_tsquery_oldsig' }, 8634{ oid => '3792', descr => 'GIN tsvector support (obsolete)', 8635 proname => 'gin_tsquery_consistent', prorettype => 'bool', 8636 proargtypes => 'internal int2 tsquery int4 internal internal internal internal', 8637 prosrc => 'gin_tsquery_consistent_oldsig' }, 8638 8639{ oid => '3789', descr => 'clean up GIN pending list', 8640 proname => 'gin_clean_pending_list', provolatile => 'v', proparallel => 'u', 8641 prorettype => 'int8', proargtypes => 'regclass', 8642 prosrc => 'gin_clean_pending_list' }, 8643 8644{ oid => '3662', 8645 proname => 'tsquery_lt', prorettype => 'bool', 8646 proargtypes => 'tsquery tsquery', prosrc => 'tsquery_lt' }, 8647{ oid => '3663', 8648 proname => 'tsquery_le', prorettype => 'bool', 8649 proargtypes => 'tsquery tsquery', prosrc => 'tsquery_le' }, 8650{ oid => '3664', 8651 proname => 'tsquery_eq', prorettype => 'bool', 8652 proargtypes => 'tsquery tsquery', prosrc => 'tsquery_eq' }, 8653{ oid => '3665', 8654 proname => 'tsquery_ne', prorettype => 'bool', 8655 proargtypes => 'tsquery tsquery', prosrc => 'tsquery_ne' }, 8656{ oid => '3666', 8657 proname => 'tsquery_ge', prorettype => 'bool', 8658 proargtypes => 'tsquery tsquery', prosrc => 'tsquery_ge' }, 8659{ oid => '3667', 8660 proname => 'tsquery_gt', prorettype => 'bool', 8661 proargtypes => 'tsquery tsquery', prosrc => 'tsquery_gt' }, 8662{ oid => '3668', descr => 'less-equal-greater', 8663 proname => 'tsquery_cmp', prorettype => 'int4', 8664 proargtypes => 'tsquery tsquery', prosrc => 'tsquery_cmp' }, 8665 8666{ oid => '3669', 8667 proname => 'tsquery_and', prorettype => 'tsquery', 8668 proargtypes => 'tsquery tsquery', prosrc => 'tsquery_and' }, 8669{ oid => '3670', 8670 proname => 'tsquery_or', prorettype => 'tsquery', 8671 proargtypes => 'tsquery tsquery', prosrc => 'tsquery_or' }, 8672{ oid => '5003', 8673 proname => 'tsquery_phrase', prorettype => 'tsquery', 8674 proargtypes => 'tsquery tsquery', prosrc => 'tsquery_phrase' }, 8675{ oid => '5004', descr => 'phrase-concatenate with distance', 8676 proname => 'tsquery_phrase', prorettype => 'tsquery', 8677 proargtypes => 'tsquery tsquery int4', prosrc => 'tsquery_phrase_distance' }, 8678{ oid => '3671', 8679 proname => 'tsquery_not', prorettype => 'tsquery', proargtypes => 'tsquery', 8680 prosrc => 'tsquery_not' }, 8681 8682{ oid => '3691', 8683 proname => 'tsq_mcontains', prorettype => 'bool', 8684 proargtypes => 'tsquery tsquery', prosrc => 'tsq_mcontains' }, 8685{ oid => '3692', 8686 proname => 'tsq_mcontained', prorettype => 'bool', 8687 proargtypes => 'tsquery tsquery', prosrc => 'tsq_mcontained' }, 8688 8689{ oid => '3672', descr => 'number of nodes', 8690 proname => 'numnode', prorettype => 'int4', proargtypes => 'tsquery', 8691 prosrc => 'tsquery_numnode' }, 8692{ oid => '3673', descr => 'show real useful query for GiST index', 8693 proname => 'querytree', prorettype => 'text', proargtypes => 'tsquery', 8694 prosrc => 'tsquerytree' }, 8695 8696{ oid => '3684', descr => 'rewrite tsquery', 8697 proname => 'ts_rewrite', prorettype => 'tsquery', 8698 proargtypes => 'tsquery tsquery tsquery', prosrc => 'tsquery_rewrite' }, 8699{ oid => '3685', descr => 'rewrite tsquery', 8700 proname => 'ts_rewrite', procost => '100', provolatile => 'v', 8701 proparallel => 'u', prorettype => 'tsquery', proargtypes => 'tsquery text', 8702 prosrc => 'tsquery_rewrite_query' }, 8703 8704{ oid => '3695', descr => 'GiST tsquery support', 8705 proname => 'gtsquery_compress', prorettype => 'internal', 8706 proargtypes => 'internal', prosrc => 'gtsquery_compress' }, 8707{ oid => '3697', descr => 'GiST tsquery support', 8708 proname => 'gtsquery_picksplit', prorettype => 'internal', 8709 proargtypes => 'internal internal', prosrc => 'gtsquery_picksplit' }, 8710{ oid => '3698', descr => 'GiST tsquery support', 8711 proname => 'gtsquery_union', prorettype => 'int8', 8712 proargtypes => 'internal internal', prosrc => 'gtsquery_union' }, 8713{ oid => '3699', descr => 'GiST tsquery support', 8714 proname => 'gtsquery_same', prorettype => 'internal', 8715 proargtypes => 'int8 int8 internal', prosrc => 'gtsquery_same' }, 8716{ oid => '3700', descr => 'GiST tsquery support', 8717 proname => 'gtsquery_penalty', prorettype => 'internal', 8718 proargtypes => 'internal internal internal', prosrc => 'gtsquery_penalty' }, 8719{ oid => '3701', descr => 'GiST tsquery support', 8720 proname => 'gtsquery_consistent', prorettype => 'bool', 8721 proargtypes => 'internal tsquery int2 oid internal', 8722 prosrc => 'gtsquery_consistent' }, 8723{ oid => '3793', descr => 'GiST tsquery support (obsolete)', 8724 proname => 'gtsquery_consistent', prorettype => 'bool', 8725 proargtypes => 'internal internal int4 oid internal', 8726 prosrc => 'gtsquery_consistent_oldsig' }, 8727 8728{ oid => '3686', descr => 'restriction selectivity of tsvector @@ tsquery', 8729 proname => 'tsmatchsel', provolatile => 's', prorettype => 'float8', 8730 proargtypes => 'internal oid internal int4', prosrc => 'tsmatchsel' }, 8731{ oid => '3687', descr => 'join selectivity of tsvector @@ tsquery', 8732 proname => 'tsmatchjoinsel', provolatile => 's', prorettype => 'float8', 8733 proargtypes => 'internal oid internal int2 internal', 8734 prosrc => 'tsmatchjoinsel' }, 8735{ oid => '3688', descr => 'tsvector typanalyze', 8736 proname => 'ts_typanalyze', provolatile => 's', prorettype => 'bool', 8737 proargtypes => 'internal', prosrc => 'ts_typanalyze' }, 8738 8739{ oid => '3689', descr => 'statistics of tsvector column', 8740 proname => 'ts_stat', procost => '10', prorows => '10000', proretset => 't', 8741 provolatile => 'v', proparallel => 'u', prorettype => 'record', 8742 proargtypes => 'text', proallargtypes => '{text,text,int4,int4}', 8743 proargmodes => '{i,o,o,o}', proargnames => '{query,word,ndoc,nentry}', 8744 prosrc => 'ts_stat1' }, 8745{ oid => '3690', descr => 'statistics of tsvector column', 8746 proname => 'ts_stat', procost => '10', prorows => '10000', proretset => 't', 8747 provolatile => 'v', proparallel => 'u', prorettype => 'record', 8748 proargtypes => 'text text', proallargtypes => '{text,text,text,int4,int4}', 8749 proargmodes => '{i,i,o,o,o}', 8750 proargnames => '{query,weights,word,ndoc,nentry}', prosrc => 'ts_stat2' }, 8751 8752{ oid => '3703', descr => 'relevance', 8753 proname => 'ts_rank', prorettype => 'float4', 8754 proargtypes => '_float4 tsvector tsquery int4', prosrc => 'ts_rank_wttf' }, 8755{ oid => '3704', descr => 'relevance', 8756 proname => 'ts_rank', prorettype => 'float4', 8757 proargtypes => '_float4 tsvector tsquery', prosrc => 'ts_rank_wtt' }, 8758{ oid => '3705', descr => 'relevance', 8759 proname => 'ts_rank', prorettype => 'float4', 8760 proargtypes => 'tsvector tsquery int4', prosrc => 'ts_rank_ttf' }, 8761{ oid => '3706', descr => 'relevance', 8762 proname => 'ts_rank', prorettype => 'float4', 8763 proargtypes => 'tsvector tsquery', prosrc => 'ts_rank_tt' }, 8764{ oid => '3707', descr => 'relevance', 8765 proname => 'ts_rank_cd', prorettype => 'float4', 8766 proargtypes => '_float4 tsvector tsquery int4', prosrc => 'ts_rankcd_wttf' }, 8767{ oid => '3708', descr => 'relevance', 8768 proname => 'ts_rank_cd', prorettype => 'float4', 8769 proargtypes => '_float4 tsvector tsquery', prosrc => 'ts_rankcd_wtt' }, 8770{ oid => '3709', descr => 'relevance', 8771 proname => 'ts_rank_cd', prorettype => 'float4', 8772 proargtypes => 'tsvector tsquery int4', prosrc => 'ts_rankcd_ttf' }, 8773{ oid => '3710', descr => 'relevance', 8774 proname => 'ts_rank_cd', prorettype => 'float4', 8775 proargtypes => 'tsvector tsquery', prosrc => 'ts_rankcd_tt' }, 8776 8777{ oid => '3713', descr => 'get parser\'s token types', 8778 proname => 'ts_token_type', prorows => '16', proretset => 't', 8779 prorettype => 'record', proargtypes => 'oid', 8780 proallargtypes => '{oid,int4,text,text}', proargmodes => '{i,o,o,o}', 8781 proargnames => '{parser_oid,tokid,alias,description}', 8782 prosrc => 'ts_token_type_byid' }, 8783{ oid => '3714', descr => 'get parser\'s token types', 8784 proname => 'ts_token_type', prorows => '16', proretset => 't', 8785 provolatile => 's', prorettype => 'record', proargtypes => 'text', 8786 proallargtypes => '{text,int4,text,text}', proargmodes => '{i,o,o,o}', 8787 proargnames => '{parser_name,tokid,alias,description}', 8788 prosrc => 'ts_token_type_byname' }, 8789{ oid => '3715', descr => 'parse text to tokens', 8790 proname => 'ts_parse', prorows => '1000', proretset => 't', 8791 prorettype => 'record', proargtypes => 'oid text', 8792 proallargtypes => '{oid,text,int4,text}', proargmodes => '{i,i,o,o}', 8793 proargnames => '{parser_oid,txt,tokid,token}', prosrc => 'ts_parse_byid' }, 8794{ oid => '3716', descr => 'parse text to tokens', 8795 proname => 'ts_parse', prorows => '1000', proretset => 't', 8796 provolatile => 's', prorettype => 'record', proargtypes => 'text text', 8797 proallargtypes => '{text,text,int4,text}', proargmodes => '{i,i,o,o}', 8798 proargnames => '{parser_name,txt,tokid,token}', prosrc => 'ts_parse_byname' }, 8799 8800{ oid => '3717', descr => '(internal)', 8801 proname => 'prsd_start', prorettype => 'internal', 8802 proargtypes => 'internal int4', prosrc => 'prsd_start' }, 8803{ oid => '3718', descr => '(internal)', 8804 proname => 'prsd_nexttoken', prorettype => 'internal', 8805 proargtypes => 'internal internal internal', prosrc => 'prsd_nexttoken' }, 8806{ oid => '3719', descr => '(internal)', 8807 proname => 'prsd_end', prorettype => 'void', proargtypes => 'internal', 8808 prosrc => 'prsd_end' }, 8809{ oid => '3720', descr => '(internal)', 8810 proname => 'prsd_headline', prorettype => 'internal', 8811 proargtypes => 'internal internal tsquery', prosrc => 'prsd_headline' }, 8812{ oid => '3721', descr => '(internal)', 8813 proname => 'prsd_lextype', prorettype => 'internal', 8814 proargtypes => 'internal', prosrc => 'prsd_lextype' }, 8815 8816{ oid => '3723', descr => 'normalize one word by dictionary', 8817 proname => 'ts_lexize', prorettype => '_text', 8818 proargtypes => 'regdictionary text', prosrc => 'ts_lexize' }, 8819 8820{ oid => '3725', descr => '(internal)', 8821 proname => 'dsimple_init', prorettype => 'internal', 8822 proargtypes => 'internal', prosrc => 'dsimple_init' }, 8823{ oid => '3726', descr => '(internal)', 8824 proname => 'dsimple_lexize', prorettype => 'internal', 8825 proargtypes => 'internal internal internal internal', 8826 prosrc => 'dsimple_lexize' }, 8827 8828{ oid => '3728', descr => '(internal)', 8829 proname => 'dsynonym_init', prorettype => 'internal', 8830 proargtypes => 'internal', prosrc => 'dsynonym_init' }, 8831{ oid => '3729', descr => '(internal)', 8832 proname => 'dsynonym_lexize', prorettype => 'internal', 8833 proargtypes => 'internal internal internal internal', 8834 prosrc => 'dsynonym_lexize' }, 8835 8836{ oid => '3731', descr => '(internal)', 8837 proname => 'dispell_init', prorettype => 'internal', 8838 proargtypes => 'internal', prosrc => 'dispell_init' }, 8839{ oid => '3732', descr => '(internal)', 8840 proname => 'dispell_lexize', prorettype => 'internal', 8841 proargtypes => 'internal internal internal internal', 8842 prosrc => 'dispell_lexize' }, 8843 8844{ oid => '3740', descr => '(internal)', 8845 proname => 'thesaurus_init', prorettype => 'internal', 8846 proargtypes => 'internal', prosrc => 'thesaurus_init' }, 8847{ oid => '3741', descr => '(internal)', 8848 proname => 'thesaurus_lexize', prorettype => 'internal', 8849 proargtypes => 'internal internal internal internal', 8850 prosrc => 'thesaurus_lexize' }, 8851 8852{ oid => '3743', descr => 'generate headline', 8853 proname => 'ts_headline', procost => '100', prorettype => 'text', 8854 proargtypes => 'regconfig text tsquery text', 8855 prosrc => 'ts_headline_byid_opt' }, 8856{ oid => '3744', descr => 'generate headline', 8857 proname => 'ts_headline', procost => '100', prorettype => 'text', 8858 proargtypes => 'regconfig text tsquery', prosrc => 'ts_headline_byid' }, 8859{ oid => '3754', descr => 'generate headline', 8860 proname => 'ts_headline', procost => '100', provolatile => 's', 8861 prorettype => 'text', proargtypes => 'text tsquery text', 8862 prosrc => 'ts_headline_opt' }, 8863{ oid => '3755', descr => 'generate headline', 8864 proname => 'ts_headline', procost => '100', provolatile => 's', 8865 prorettype => 'text', proargtypes => 'text tsquery', 8866 prosrc => 'ts_headline' }, 8867 8868{ oid => '4201', descr => 'generate headline from jsonb', 8869 proname => 'ts_headline', procost => '100', prorettype => 'jsonb', 8870 proargtypes => 'regconfig jsonb tsquery text', 8871 prosrc => 'ts_headline_jsonb_byid_opt' }, 8872{ oid => '4202', descr => 'generate headline from jsonb', 8873 proname => 'ts_headline', procost => '100', prorettype => 'jsonb', 8874 proargtypes => 'regconfig jsonb tsquery', 8875 prosrc => 'ts_headline_jsonb_byid' }, 8876{ oid => '4203', descr => 'generate headline from jsonb', 8877 proname => 'ts_headline', procost => '100', provolatile => 's', 8878 prorettype => 'jsonb', proargtypes => 'jsonb tsquery text', 8879 prosrc => 'ts_headline_jsonb_opt' }, 8880{ oid => '4204', descr => 'generate headline from jsonb', 8881 proname => 'ts_headline', procost => '100', provolatile => 's', 8882 prorettype => 'jsonb', proargtypes => 'jsonb tsquery', 8883 prosrc => 'ts_headline_jsonb' }, 8884 8885{ oid => '4205', descr => 'generate headline from json', 8886 proname => 'ts_headline', procost => '100', prorettype => 'json', 8887 proargtypes => 'regconfig json tsquery text', 8888 prosrc => 'ts_headline_json_byid_opt' }, 8889{ oid => '4206', descr => 'generate headline from json', 8890 proname => 'ts_headline', procost => '100', prorettype => 'json', 8891 proargtypes => 'regconfig json tsquery', prosrc => 'ts_headline_json_byid' }, 8892{ oid => '4207', descr => 'generate headline from json', 8893 proname => 'ts_headline', procost => '100', provolatile => 's', 8894 prorettype => 'json', proargtypes => 'json tsquery text', 8895 prosrc => 'ts_headline_json_opt' }, 8896{ oid => '4208', descr => 'generate headline from json', 8897 proname => 'ts_headline', procost => '100', provolatile => 's', 8898 prorettype => 'json', proargtypes => 'json tsquery', 8899 prosrc => 'ts_headline_json' }, 8900 8901{ oid => '3745', descr => 'transform to tsvector', 8902 proname => 'to_tsvector', procost => '100', prorettype => 'tsvector', 8903 proargtypes => 'regconfig text', prosrc => 'to_tsvector_byid' }, 8904{ oid => '3746', descr => 'make tsquery', 8905 proname => 'to_tsquery', procost => '100', prorettype => 'tsquery', 8906 proargtypes => 'regconfig text', prosrc => 'to_tsquery_byid' }, 8907{ oid => '3747', descr => 'transform to tsquery', 8908 proname => 'plainto_tsquery', procost => '100', prorettype => 'tsquery', 8909 proargtypes => 'regconfig text', prosrc => 'plainto_tsquery_byid' }, 8910{ oid => '5006', descr => 'transform to tsquery', 8911 proname => 'phraseto_tsquery', procost => '100', prorettype => 'tsquery', 8912 proargtypes => 'regconfig text', prosrc => 'phraseto_tsquery_byid' }, 8913{ oid => '5007', descr => 'transform to tsquery', 8914 proname => 'websearch_to_tsquery', procost => '100', prorettype => 'tsquery', 8915 proargtypes => 'regconfig text', prosrc => 'websearch_to_tsquery_byid' }, 8916{ oid => '3749', descr => 'transform to tsvector', 8917 proname => 'to_tsvector', procost => '100', provolatile => 's', 8918 prorettype => 'tsvector', proargtypes => 'text', prosrc => 'to_tsvector' }, 8919{ oid => '3750', descr => 'make tsquery', 8920 proname => 'to_tsquery', procost => '100', provolatile => 's', 8921 prorettype => 'tsquery', proargtypes => 'text', prosrc => 'to_tsquery' }, 8922{ oid => '3751', descr => 'transform to tsquery', 8923 proname => 'plainto_tsquery', procost => '100', provolatile => 's', 8924 prorettype => 'tsquery', proargtypes => 'text', prosrc => 'plainto_tsquery' }, 8925{ oid => '5001', descr => 'transform to tsquery', 8926 proname => 'phraseto_tsquery', procost => '100', provolatile => 's', 8927 prorettype => 'tsquery', proargtypes => 'text', 8928 prosrc => 'phraseto_tsquery' }, 8929{ oid => '5009', descr => 'transform to tsquery', 8930 proname => 'websearch_to_tsquery', procost => '100', provolatile => 's', 8931 prorettype => 'tsquery', proargtypes => 'text', 8932 prosrc => 'websearch_to_tsquery' }, 8933{ oid => '4209', descr => 'transform string values from jsonb to tsvector', 8934 proname => 'to_tsvector', procost => '100', provolatile => 's', 8935 prorettype => 'tsvector', proargtypes => 'jsonb', 8936 prosrc => 'jsonb_string_to_tsvector' }, 8937{ oid => '4213', descr => 'transform specified values from jsonb to tsvector', 8938 proname => 'jsonb_to_tsvector', procost => '100', provolatile => 's', 8939 prorettype => 'tsvector', proargtypes => 'jsonb jsonb', 8940 prosrc => 'jsonb_to_tsvector' }, 8941{ oid => '4210', descr => 'transform string values from json to tsvector', 8942 proname => 'to_tsvector', procost => '100', provolatile => 's', 8943 prorettype => 'tsvector', proargtypes => 'json', 8944 prosrc => 'json_string_to_tsvector' }, 8945{ oid => '4215', descr => 'transform specified values from json to tsvector', 8946 proname => 'json_to_tsvector', procost => '100', provolatile => 's', 8947 prorettype => 'tsvector', proargtypes => 'json jsonb', 8948 prosrc => 'json_to_tsvector' }, 8949{ oid => '4211', descr => 'transform string values from jsonb to tsvector', 8950 proname => 'to_tsvector', procost => '100', prorettype => 'tsvector', 8951 proargtypes => 'regconfig jsonb', prosrc => 'jsonb_string_to_tsvector_byid' }, 8952{ oid => '4214', descr => 'transform specified values from jsonb to tsvector', 8953 proname => 'jsonb_to_tsvector', procost => '100', prorettype => 'tsvector', 8954 proargtypes => 'regconfig jsonb jsonb', prosrc => 'jsonb_to_tsvector_byid' }, 8955{ oid => '4212', descr => 'transform string values from json to tsvector', 8956 proname => 'to_tsvector', procost => '100', prorettype => 'tsvector', 8957 proargtypes => 'regconfig json', prosrc => 'json_string_to_tsvector_byid' }, 8958{ oid => '4216', descr => 'transform specified values from json to tsvector', 8959 proname => 'json_to_tsvector', procost => '100', prorettype => 'tsvector', 8960 proargtypes => 'regconfig json jsonb', prosrc => 'json_to_tsvector_byid' }, 8961 8962{ oid => '3752', descr => 'trigger for automatic update of tsvector column', 8963 proname => 'tsvector_update_trigger', proisstrict => 'f', provolatile => 'v', 8964 prorettype => 'trigger', proargtypes => '', 8965 prosrc => 'tsvector_update_trigger_byid' }, 8966{ oid => '3753', descr => 'trigger for automatic update of tsvector column', 8967 proname => 'tsvector_update_trigger_column', proisstrict => 'f', 8968 provolatile => 'v', prorettype => 'trigger', proargtypes => '', 8969 prosrc => 'tsvector_update_trigger_bycolumn' }, 8970 8971{ oid => '3759', descr => 'get current tsearch configuration', 8972 proname => 'get_current_ts_config', provolatile => 's', 8973 prorettype => 'regconfig', proargtypes => '', 8974 prosrc => 'get_current_ts_config' }, 8975 8976{ oid => '3736', descr => 'I/O', 8977 proname => 'regconfigin', provolatile => 's', prorettype => 'regconfig', 8978 proargtypes => 'cstring', prosrc => 'regconfigin' }, 8979{ oid => '3737', descr => 'I/O', 8980 proname => 'regconfigout', provolatile => 's', prorettype => 'cstring', 8981 proargtypes => 'regconfig', prosrc => 'regconfigout' }, 8982{ oid => '3738', descr => 'I/O', 8983 proname => 'regconfigrecv', prorettype => 'regconfig', 8984 proargtypes => 'internal', prosrc => 'regconfigrecv' }, 8985{ oid => '3739', descr => 'I/O', 8986 proname => 'regconfigsend', prorettype => 'bytea', proargtypes => 'regconfig', 8987 prosrc => 'regconfigsend' }, 8988 8989{ oid => '3771', descr => 'I/O', 8990 proname => 'regdictionaryin', provolatile => 's', 8991 prorettype => 'regdictionary', proargtypes => 'cstring', 8992 prosrc => 'regdictionaryin' }, 8993{ oid => '3772', descr => 'I/O', 8994 proname => 'regdictionaryout', provolatile => 's', prorettype => 'cstring', 8995 proargtypes => 'regdictionary', prosrc => 'regdictionaryout' }, 8996{ oid => '3773', descr => 'I/O', 8997 proname => 'regdictionaryrecv', prorettype => 'regdictionary', 8998 proargtypes => 'internal', prosrc => 'regdictionaryrecv' }, 8999{ oid => '3774', descr => 'I/O', 9000 proname => 'regdictionarysend', prorettype => 'bytea', 9001 proargtypes => 'regdictionary', prosrc => 'regdictionarysend' }, 9002 9003# jsonb 9004{ oid => '3806', descr => 'I/O', 9005 proname => 'jsonb_in', prorettype => 'jsonb', proargtypes => 'cstring', 9006 prosrc => 'jsonb_in' }, 9007{ oid => '3805', descr => 'I/O', 9008 proname => 'jsonb_recv', prorettype => 'jsonb', proargtypes => 'internal', 9009 prosrc => 'jsonb_recv' }, 9010{ oid => '3804', descr => 'I/O', 9011 proname => 'jsonb_out', prorettype => 'cstring', proargtypes => 'jsonb', 9012 prosrc => 'jsonb_out' }, 9013{ oid => '3803', descr => 'I/O', 9014 proname => 'jsonb_send', prorettype => 'bytea', proargtypes => 'jsonb', 9015 prosrc => 'jsonb_send' }, 9016 9017{ oid => '3263', descr => 'map text array of key value pairs to jsonb object', 9018 proname => 'jsonb_object', prorettype => 'jsonb', proargtypes => '_text', 9019 prosrc => 'jsonb_object' }, 9020{ oid => '3264', descr => 'map text array of key value pairs to jsonb object', 9021 proname => 'jsonb_object', prorettype => 'jsonb', 9022 proargtypes => '_text _text', prosrc => 'jsonb_object_two_arg' }, 9023{ oid => '3787', descr => 'map input to jsonb', 9024 proname => 'to_jsonb', provolatile => 's', prorettype => 'jsonb', 9025 proargtypes => 'anyelement', prosrc => 'to_jsonb' }, 9026{ oid => '3265', descr => 'jsonb aggregate transition function', 9027 proname => 'jsonb_agg_transfn', proisstrict => 'f', provolatile => 's', 9028 prorettype => 'internal', proargtypes => 'internal anyelement', 9029 prosrc => 'jsonb_agg_transfn' }, 9030{ oid => '3266', descr => 'jsonb aggregate final function', 9031 proname => 'jsonb_agg_finalfn', proisstrict => 'f', provolatile => 's', 9032 prorettype => 'jsonb', proargtypes => 'internal', 9033 prosrc => 'jsonb_agg_finalfn' }, 9034{ oid => '3267', descr => 'aggregate input into jsonb', 9035 proname => 'jsonb_agg', prokind => 'a', proisstrict => 'f', 9036 provolatile => 's', prorettype => 'jsonb', proargtypes => 'anyelement', 9037 prosrc => 'aggregate_dummy' }, 9038{ oid => '3268', descr => 'jsonb object aggregate transition function', 9039 proname => 'jsonb_object_agg_transfn', proisstrict => 'f', provolatile => 's', 9040 prorettype => 'internal', proargtypes => 'internal any any', 9041 prosrc => 'jsonb_object_agg_transfn' }, 9042{ oid => '3269', descr => 'jsonb object aggregate final function', 9043 proname => 'jsonb_object_agg_finalfn', proisstrict => 'f', provolatile => 's', 9044 prorettype => 'jsonb', proargtypes => 'internal', 9045 prosrc => 'jsonb_object_agg_finalfn' }, 9046{ oid => '3270', descr => 'aggregate inputs into jsonb object', 9047 proname => 'jsonb_object_agg', prokind => 'a', proisstrict => 'f', 9048 prorettype => 'jsonb', proargtypes => 'any any', 9049 prosrc => 'aggregate_dummy' }, 9050{ oid => '3271', descr => 'build a jsonb array from any inputs', 9051 proname => 'jsonb_build_array', provariadic => 'any', proisstrict => 'f', 9052 provolatile => 's', prorettype => 'jsonb', proargtypes => 'any', 9053 proallargtypes => '{any}', proargmodes => '{v}', 9054 prosrc => 'jsonb_build_array' }, 9055{ oid => '3272', descr => 'build an empty jsonb array', 9056 proname => 'jsonb_build_array', proisstrict => 'f', provolatile => 's', 9057 prorettype => 'jsonb', proargtypes => '', 9058 prosrc => 'jsonb_build_array_noargs' }, 9059{ oid => '3273', 9060 descr => 'build a jsonb object from pairwise key/value inputs', 9061 proname => 'jsonb_build_object', provariadic => 'any', proisstrict => 'f', 9062 provolatile => 's', prorettype => 'jsonb', proargtypes => 'any', 9063 proallargtypes => '{any}', proargmodes => '{v}', 9064 prosrc => 'jsonb_build_object' }, 9065{ oid => '3274', descr => 'build an empty jsonb object', 9066 proname => 'jsonb_build_object', proisstrict => 'f', provolatile => 's', 9067 prorettype => 'jsonb', proargtypes => '', 9068 prosrc => 'jsonb_build_object_noargs' }, 9069{ oid => '3262', descr => 'remove object fields with null values from jsonb', 9070 proname => 'jsonb_strip_nulls', prorettype => 'jsonb', proargtypes => 'jsonb', 9071 prosrc => 'jsonb_strip_nulls' }, 9072 9073{ oid => '3478', 9074 proname => 'jsonb_object_field', prorettype => 'jsonb', 9075 proargtypes => 'jsonb text', proargnames => '{from_json, field_name}', 9076 prosrc => 'jsonb_object_field' }, 9077{ oid => '3214', 9078 proname => 'jsonb_object_field_text', prorettype => 'text', 9079 proargtypes => 'jsonb text', proargnames => '{from_json, field_name}', 9080 prosrc => 'jsonb_object_field_text' }, 9081{ oid => '3215', 9082 proname => 'jsonb_array_element', prorettype => 'jsonb', 9083 proargtypes => 'jsonb int4', proargnames => '{from_json, element_index}', 9084 prosrc => 'jsonb_array_element' }, 9085{ oid => '3216', 9086 proname => 'jsonb_array_element_text', prorettype => 'text', 9087 proargtypes => 'jsonb int4', proargnames => '{from_json, element_index}', 9088 prosrc => 'jsonb_array_element_text' }, 9089{ oid => '3217', descr => 'get value from jsonb with path elements', 9090 proname => 'jsonb_extract_path', provariadic => 'text', prorettype => 'jsonb', 9091 proargtypes => 'jsonb _text', proallargtypes => '{jsonb,_text}', 9092 proargmodes => '{i,v}', proargnames => '{from_json,path_elems}', 9093 prosrc => 'jsonb_extract_path' }, 9094{ oid => '3940', descr => 'get value from jsonb as text with path elements', 9095 proname => 'jsonb_extract_path_text', provariadic => 'text', 9096 prorettype => 'text', proargtypes => 'jsonb _text', 9097 proallargtypes => '{jsonb,_text}', proargmodes => '{i,v}', 9098 proargnames => '{from_json,path_elems}', 9099 prosrc => 'jsonb_extract_path_text' }, 9100{ oid => '3219', descr => 'elements of a jsonb array', 9101 proname => 'jsonb_array_elements', prorows => '100', proretset => 't', 9102 prorettype => 'jsonb', proargtypes => 'jsonb', 9103 proallargtypes => '{jsonb,jsonb}', proargmodes => '{i,o}', 9104 proargnames => '{from_json,value}', prosrc => 'jsonb_array_elements' }, 9105{ oid => '3465', descr => 'elements of jsonb array', 9106 proname => 'jsonb_array_elements_text', prorows => '100', proretset => 't', 9107 prorettype => 'text', proargtypes => 'jsonb', 9108 proallargtypes => '{jsonb,text}', proargmodes => '{i,o}', 9109 proargnames => '{from_json,value}', prosrc => 'jsonb_array_elements_text' }, 9110{ oid => '3207', descr => 'length of jsonb array', 9111 proname => 'jsonb_array_length', prorettype => 'int4', proargtypes => 'jsonb', 9112 prosrc => 'jsonb_array_length' }, 9113{ oid => '3931', descr => 'get jsonb object keys', 9114 proname => 'jsonb_object_keys', prorows => '100', proretset => 't', 9115 prorettype => 'text', proargtypes => 'jsonb', prosrc => 'jsonb_object_keys' }, 9116{ oid => '3208', descr => 'key value pairs of a jsonb object', 9117 proname => 'jsonb_each', prorows => '100', proretset => 't', 9118 prorettype => 'record', proargtypes => 'jsonb', 9119 proallargtypes => '{jsonb,text,jsonb}', proargmodes => '{i,o,o}', 9120 proargnames => '{from_json,key,value}', prosrc => 'jsonb_each' }, 9121{ oid => '3932', descr => 'key value pairs of a jsonb object', 9122 proname => 'jsonb_each_text', prorows => '100', proretset => 't', 9123 prorettype => 'record', proargtypes => 'jsonb', 9124 proallargtypes => '{jsonb,text,text}', proargmodes => '{i,o,o}', 9125 proargnames => '{from_json,key,value}', prosrc => 'jsonb_each_text' }, 9126{ oid => '3209', descr => 'get record fields from a jsonb object', 9127 proname => 'jsonb_populate_record', proisstrict => 'f', provolatile => 's', 9128 prorettype => 'anyelement', proargtypes => 'anyelement jsonb', 9129 prosrc => 'jsonb_populate_record' }, 9130{ oid => '3475', 9131 descr => 'get set of records with fields from a jsonb array of objects', 9132 proname => 'jsonb_populate_recordset', prorows => '100', proisstrict => 'f', 9133 proretset => 't', provolatile => 's', prorettype => 'anyelement', 9134 proargtypes => 'anyelement jsonb', prosrc => 'jsonb_populate_recordset' }, 9135{ oid => '3490', descr => 'get record fields from a jsonb object', 9136 proname => 'jsonb_to_record', provolatile => 's', prorettype => 'record', 9137 proargtypes => 'jsonb', prosrc => 'jsonb_to_record' }, 9138{ oid => '3491', 9139 descr => 'get set of records with fields from a jsonb array of objects', 9140 proname => 'jsonb_to_recordset', prorows => '100', proisstrict => 'f', 9141 proretset => 't', provolatile => 's', prorettype => 'record', 9142 proargtypes => 'jsonb', prosrc => 'jsonb_to_recordset' }, 9143{ oid => '3210', descr => 'get the type of a jsonb value', 9144 proname => 'jsonb_typeof', prorettype => 'text', proargtypes => 'jsonb', 9145 prosrc => 'jsonb_typeof' }, 9146{ oid => '4038', 9147 proname => 'jsonb_ne', prorettype => 'bool', proargtypes => 'jsonb jsonb', 9148 prosrc => 'jsonb_ne' }, 9149{ oid => '4039', 9150 proname => 'jsonb_lt', prorettype => 'bool', proargtypes => 'jsonb jsonb', 9151 prosrc => 'jsonb_lt' }, 9152{ oid => '4040', 9153 proname => 'jsonb_gt', prorettype => 'bool', proargtypes => 'jsonb jsonb', 9154 prosrc => 'jsonb_gt' }, 9155{ oid => '4041', 9156 proname => 'jsonb_le', prorettype => 'bool', proargtypes => 'jsonb jsonb', 9157 prosrc => 'jsonb_le' }, 9158{ oid => '4042', 9159 proname => 'jsonb_ge', prorettype => 'bool', proargtypes => 'jsonb jsonb', 9160 prosrc => 'jsonb_ge' }, 9161{ oid => '4043', 9162 proname => 'jsonb_eq', prorettype => 'bool', proargtypes => 'jsonb jsonb', 9163 prosrc => 'jsonb_eq' }, 9164{ oid => '4044', descr => 'less-equal-greater', 9165 proname => 'jsonb_cmp', prorettype => 'int4', proargtypes => 'jsonb jsonb', 9166 prosrc => 'jsonb_cmp' }, 9167{ oid => '4045', descr => 'hash', 9168 proname => 'jsonb_hash', prorettype => 'int4', proargtypes => 'jsonb', 9169 prosrc => 'jsonb_hash' }, 9170{ oid => '3416', descr => 'hash', 9171 proname => 'jsonb_hash_extended', prorettype => 'int8', 9172 proargtypes => 'jsonb int8', prosrc => 'jsonb_hash_extended' }, 9173{ oid => '4046', 9174 proname => 'jsonb_contains', prorettype => 'bool', 9175 proargtypes => 'jsonb jsonb', prosrc => 'jsonb_contains' }, 9176{ oid => '4047', 9177 proname => 'jsonb_exists', prorettype => 'bool', proargtypes => 'jsonb text', 9178 prosrc => 'jsonb_exists' }, 9179{ oid => '4048', 9180 proname => 'jsonb_exists_any', prorettype => 'bool', 9181 proargtypes => 'jsonb _text', prosrc => 'jsonb_exists_any' }, 9182{ oid => '4049', 9183 proname => 'jsonb_exists_all', prorettype => 'bool', 9184 proargtypes => 'jsonb _text', prosrc => 'jsonb_exists_all' }, 9185{ oid => '4050', 9186 proname => 'jsonb_contained', prorettype => 'bool', 9187 proargtypes => 'jsonb jsonb', prosrc => 'jsonb_contained' }, 9188{ oid => '3480', descr => 'GIN support', 9189 proname => 'gin_compare_jsonb', prorettype => 'int4', 9190 proargtypes => 'text text', prosrc => 'gin_compare_jsonb' }, 9191{ oid => '3482', descr => 'GIN support', 9192 proname => 'gin_extract_jsonb', prorettype => 'internal', 9193 proargtypes => 'jsonb internal internal', prosrc => 'gin_extract_jsonb' }, 9194{ oid => '3483', descr => 'GIN support', 9195 proname => 'gin_extract_jsonb_query', prorettype => 'internal', 9196 proargtypes => 'jsonb internal int2 internal internal internal internal', 9197 prosrc => 'gin_extract_jsonb_query' }, 9198{ oid => '3484', descr => 'GIN support', 9199 proname => 'gin_consistent_jsonb', prorettype => 'bool', 9200 proargtypes => 'internal int2 jsonb int4 internal internal internal internal', 9201 prosrc => 'gin_consistent_jsonb' }, 9202{ oid => '3488', descr => 'GIN support', 9203 proname => 'gin_triconsistent_jsonb', prorettype => 'char', 9204 proargtypes => 'internal int2 jsonb int4 internal internal internal', 9205 prosrc => 'gin_triconsistent_jsonb' }, 9206{ oid => '3485', descr => 'GIN support', 9207 proname => 'gin_extract_jsonb_path', prorettype => 'internal', 9208 proargtypes => 'jsonb internal internal', 9209 prosrc => 'gin_extract_jsonb_path' }, 9210{ oid => '3486', descr => 'GIN support', 9211 proname => 'gin_extract_jsonb_query_path', prorettype => 'internal', 9212 proargtypes => 'jsonb internal int2 internal internal internal internal', 9213 prosrc => 'gin_extract_jsonb_query_path' }, 9214{ oid => '3487', descr => 'GIN support', 9215 proname => 'gin_consistent_jsonb_path', prorettype => 'bool', 9216 proargtypes => 'internal int2 jsonb int4 internal internal internal internal', 9217 prosrc => 'gin_consistent_jsonb_path' }, 9218{ oid => '3489', descr => 'GIN support', 9219 proname => 'gin_triconsistent_jsonb_path', prorettype => 'char', 9220 proargtypes => 'internal int2 jsonb int4 internal internal internal', 9221 prosrc => 'gin_triconsistent_jsonb_path' }, 9222{ oid => '3301', 9223 proname => 'jsonb_concat', prorettype => 'jsonb', 9224 proargtypes => 'jsonb jsonb', prosrc => 'jsonb_concat' }, 9225{ oid => '3302', 9226 proname => 'jsonb_delete', prorettype => 'jsonb', proargtypes => 'jsonb text', 9227 prosrc => 'jsonb_delete' }, 9228{ oid => '3303', 9229 proname => 'jsonb_delete', prorettype => 'jsonb', proargtypes => 'jsonb int4', 9230 prosrc => 'jsonb_delete_idx' }, 9231{ oid => '3343', 9232 proname => 'jsonb_delete', provariadic => 'text', prorettype => 'jsonb', 9233 proargtypes => 'jsonb _text', proallargtypes => '{jsonb,_text}', 9234 proargmodes => '{i,v}', proargnames => '{from_json,path_elems}', 9235 prosrc => 'jsonb_delete_array' }, 9236{ oid => '3304', 9237 proname => 'jsonb_delete_path', prorettype => 'jsonb', 9238 proargtypes => 'jsonb _text', prosrc => 'jsonb_delete_path' }, 9239{ oid => '3305', descr => 'Set part of a jsonb', 9240 proname => 'jsonb_set', prorettype => 'jsonb', 9241 proargtypes => 'jsonb _text jsonb bool', prosrc => 'jsonb_set' }, 9242{ oid => '3306', descr => 'Indented text from jsonb', 9243 proname => 'jsonb_pretty', prorettype => 'text', proargtypes => 'jsonb', 9244 prosrc => 'jsonb_pretty' }, 9245{ oid => '3579', descr => 'Insert value into a jsonb', 9246 proname => 'jsonb_insert', prorettype => 'jsonb', 9247 proargtypes => 'jsonb _text jsonb bool', prosrc => 'jsonb_insert' }, 9248 9249# jsonpath 9250{ oid => '4001', descr => 'I/O', 9251 proname => 'jsonpath_in', prorettype => 'jsonpath', proargtypes => 'cstring', 9252 prosrc => 'jsonpath_in' }, 9253{ oid => '4002', descr => 'I/O', 9254 proname => 'jsonpath_recv', prorettype => 'jsonpath', 9255 proargtypes => 'internal', prosrc => 'jsonpath_recv' }, 9256{ oid => '4003', descr => 'I/O', 9257 proname => 'jsonpath_out', prorettype => 'cstring', proargtypes => 'jsonpath', 9258 prosrc => 'jsonpath_out' }, 9259{ oid => '4004', descr => 'I/O', 9260 proname => 'jsonpath_send', prorettype => 'bytea', proargtypes => 'jsonpath', 9261 prosrc => 'jsonpath_send' }, 9262 9263{ oid => '4005', descr => 'jsonpath exists test', 9264 proname => 'jsonb_path_exists', prorettype => 'bool', 9265 proargtypes => 'jsonb jsonpath jsonb bool', prosrc => 'jsonb_path_exists' }, 9266{ oid => '4006', descr => 'jsonpath query', 9267 proname => 'jsonb_path_query', prorows => '1000', proretset => 't', 9268 prorettype => 'jsonb', proargtypes => 'jsonb jsonpath jsonb bool', 9269 prosrc => 'jsonb_path_query' }, 9270{ oid => '4007', descr => 'jsonpath query wrapped into array', 9271 proname => 'jsonb_path_query_array', prorettype => 'jsonb', 9272 proargtypes => 'jsonb jsonpath jsonb bool', 9273 prosrc => 'jsonb_path_query_array' }, 9274{ oid => '4008', descr => 'jsonpath query first item', 9275 proname => 'jsonb_path_query_first', prorettype => 'jsonb', 9276 proargtypes => 'jsonb jsonpath jsonb bool', 9277 prosrc => 'jsonb_path_query_first' }, 9278{ oid => '4009', descr => 'jsonpath match', 9279 proname => 'jsonb_path_match', prorettype => 'bool', 9280 proargtypes => 'jsonb jsonpath jsonb bool', prosrc => 'jsonb_path_match' }, 9281 9282{ oid => '4010', descr => 'implementation of @? operator', 9283 proname => 'jsonb_path_exists_opr', prorettype => 'bool', 9284 proargtypes => 'jsonb jsonpath', prosrc => 'jsonb_path_exists_opr' }, 9285{ oid => '4011', descr => 'implementation of @@ operator', 9286 proname => 'jsonb_path_match_opr', prorettype => 'bool', 9287 proargtypes => 'jsonb jsonpath', prosrc => 'jsonb_path_match_opr' }, 9288 9289# txid 9290{ oid => '2939', descr => 'I/O', 9291 proname => 'txid_snapshot_in', prorettype => 'txid_snapshot', 9292 proargtypes => 'cstring', prosrc => 'txid_snapshot_in' }, 9293{ oid => '2940', descr => 'I/O', 9294 proname => 'txid_snapshot_out', prorettype => 'cstring', 9295 proargtypes => 'txid_snapshot', prosrc => 'txid_snapshot_out' }, 9296{ oid => '2941', descr => 'I/O', 9297 proname => 'txid_snapshot_recv', prorettype => 'txid_snapshot', 9298 proargtypes => 'internal', prosrc => 'txid_snapshot_recv' }, 9299{ oid => '2942', descr => 'I/O', 9300 proname => 'txid_snapshot_send', prorettype => 'bytea', 9301 proargtypes => 'txid_snapshot', prosrc => 'txid_snapshot_send' }, 9302{ oid => '2943', descr => 'get current transaction ID', 9303 proname => 'txid_current', provolatile => 's', proparallel => 'u', 9304 prorettype => 'int8', proargtypes => '', prosrc => 'txid_current' }, 9305{ oid => '3348', descr => 'get current transaction ID', 9306 proname => 'txid_current_if_assigned', provolatile => 's', proparallel => 'u', 9307 prorettype => 'int8', proargtypes => '', 9308 prosrc => 'txid_current_if_assigned' }, 9309{ oid => '2944', descr => 'get current snapshot', 9310 proname => 'txid_current_snapshot', provolatile => 's', 9311 prorettype => 'txid_snapshot', proargtypes => '', 9312 prosrc => 'txid_current_snapshot' }, 9313{ oid => '2945', descr => 'get xmin of snapshot', 9314 proname => 'txid_snapshot_xmin', prorettype => 'int8', 9315 proargtypes => 'txid_snapshot', prosrc => 'txid_snapshot_xmin' }, 9316{ oid => '2946', descr => 'get xmax of snapshot', 9317 proname => 'txid_snapshot_xmax', prorettype => 'int8', 9318 proargtypes => 'txid_snapshot', prosrc => 'txid_snapshot_xmax' }, 9319{ oid => '2947', descr => 'get set of in-progress txids in snapshot', 9320 proname => 'txid_snapshot_xip', prorows => '50', proretset => 't', 9321 prorettype => 'int8', proargtypes => 'txid_snapshot', 9322 prosrc => 'txid_snapshot_xip' }, 9323{ oid => '2948', descr => 'is txid visible in snapshot?', 9324 proname => 'txid_visible_in_snapshot', prorettype => 'bool', 9325 proargtypes => 'int8 txid_snapshot', prosrc => 'txid_visible_in_snapshot' }, 9326{ oid => '3360', descr => 'commit status of transaction', 9327 proname => 'txid_status', provolatile => 'v', prorettype => 'text', 9328 proargtypes => 'int8', prosrc => 'txid_status' }, 9329 9330# record comparison using normal comparison rules 9331{ oid => '2981', 9332 proname => 'record_eq', prorettype => 'bool', proargtypes => 'record record', 9333 prosrc => 'record_eq' }, 9334{ oid => '2982', 9335 proname => 'record_ne', prorettype => 'bool', proargtypes => 'record record', 9336 prosrc => 'record_ne' }, 9337{ oid => '2983', 9338 proname => 'record_lt', prorettype => 'bool', proargtypes => 'record record', 9339 prosrc => 'record_lt' }, 9340{ oid => '2984', 9341 proname => 'record_gt', prorettype => 'bool', proargtypes => 'record record', 9342 prosrc => 'record_gt' }, 9343{ oid => '2985', 9344 proname => 'record_le', prorettype => 'bool', proargtypes => 'record record', 9345 prosrc => 'record_le' }, 9346{ oid => '2986', 9347 proname => 'record_ge', prorettype => 'bool', proargtypes => 'record record', 9348 prosrc => 'record_ge' }, 9349{ oid => '2987', descr => 'less-equal-greater', 9350 proname => 'btrecordcmp', prorettype => 'int4', 9351 proargtypes => 'record record', prosrc => 'btrecordcmp' }, 9352 9353# record comparison using raw byte images 9354{ oid => '3181', 9355 proname => 'record_image_eq', prorettype => 'bool', 9356 proargtypes => 'record record', prosrc => 'record_image_eq' }, 9357{ oid => '3182', 9358 proname => 'record_image_ne', prorettype => 'bool', 9359 proargtypes => 'record record', prosrc => 'record_image_ne' }, 9360{ oid => '3183', 9361 proname => 'record_image_lt', prorettype => 'bool', 9362 proargtypes => 'record record', prosrc => 'record_image_lt' }, 9363{ oid => '3184', 9364 proname => 'record_image_gt', prorettype => 'bool', 9365 proargtypes => 'record record', prosrc => 'record_image_gt' }, 9366{ oid => '3185', 9367 proname => 'record_image_le', prorettype => 'bool', 9368 proargtypes => 'record record', prosrc => 'record_image_le' }, 9369{ oid => '3186', 9370 proname => 'record_image_ge', prorettype => 'bool', 9371 proargtypes => 'record record', prosrc => 'record_image_ge' }, 9372{ oid => '3187', descr => 'less-equal-greater based on byte images', 9373 proname => 'btrecordimagecmp', prorettype => 'int4', 9374 proargtypes => 'record record', prosrc => 'btrecordimagecmp' }, 9375 9376# Extensions 9377{ oid => '3082', descr => 'list available extensions', 9378 proname => 'pg_available_extensions', procost => '10', prorows => '100', 9379 proretset => 't', provolatile => 's', prorettype => 'record', 9380 proargtypes => '', proallargtypes => '{name,text,text}', 9381 proargmodes => '{o,o,o}', proargnames => '{name,default_version,comment}', 9382 prosrc => 'pg_available_extensions' }, 9383{ oid => '3083', descr => 'list available extension versions', 9384 proname => 'pg_available_extension_versions', procost => '10', 9385 prorows => '100', proretset => 't', provolatile => 's', 9386 prorettype => 'record', proargtypes => '', 9387 proallargtypes => '{name,text,bool,bool,name,_name,text}', 9388 proargmodes => '{o,o,o,o,o,o,o}', 9389 proargnames => '{name,version,superuser,relocatable,schema,requires,comment}', 9390 prosrc => 'pg_available_extension_versions' }, 9391{ oid => '3084', descr => 'list an extension\'s version update paths', 9392 proname => 'pg_extension_update_paths', procost => '10', prorows => '100', 9393 proretset => 't', provolatile => 's', prorettype => 'record', 9394 proargtypes => 'name', proallargtypes => '{name,text,text,text}', 9395 proargmodes => '{i,o,o,o}', proargnames => '{name,source,target,path}', 9396 prosrc => 'pg_extension_update_paths' }, 9397{ oid => '3086', 9398 descr => 'flag an extension\'s table contents to be emitted by pg_dump', 9399 proname => 'pg_extension_config_dump', provolatile => 'v', proparallel => 'u', 9400 prorettype => 'void', proargtypes => 'regclass text', 9401 prosrc => 'pg_extension_config_dump' }, 9402 9403# SQL-spec window functions 9404{ oid => '3100', descr => 'row number within partition', 9405 proname => 'row_number', prokind => 'w', proisstrict => 'f', 9406 prorettype => 'int8', proargtypes => '', prosrc => 'window_row_number' }, 9407{ oid => '3101', descr => 'integer rank with gaps', 9408 proname => 'rank', prokind => 'w', proisstrict => 'f', prorettype => 'int8', 9409 proargtypes => '', prosrc => 'window_rank' }, 9410{ oid => '3102', descr => 'integer rank without gaps', 9411 proname => 'dense_rank', prokind => 'w', proisstrict => 'f', 9412 prorettype => 'int8', proargtypes => '', prosrc => 'window_dense_rank' }, 9413{ oid => '3103', descr => 'fractional rank within partition', 9414 proname => 'percent_rank', prokind => 'w', proisstrict => 'f', 9415 prorettype => 'float8', proargtypes => '', prosrc => 'window_percent_rank' }, 9416{ oid => '3104', descr => 'fractional row number within partition', 9417 proname => 'cume_dist', prokind => 'w', proisstrict => 'f', 9418 prorettype => 'float8', proargtypes => '', prosrc => 'window_cume_dist' }, 9419{ oid => '3105', descr => 'split rows into N groups', 9420 proname => 'ntile', prokind => 'w', prorettype => 'int4', 9421 proargtypes => 'int4', prosrc => 'window_ntile' }, 9422{ oid => '3106', descr => 'fetch the preceding row value', 9423 proname => 'lag', prokind => 'w', prorettype => 'anyelement', 9424 proargtypes => 'anyelement', prosrc => 'window_lag' }, 9425{ oid => '3107', descr => 'fetch the Nth preceding row value', 9426 proname => 'lag', prokind => 'w', prorettype => 'anyelement', 9427 proargtypes => 'anyelement int4', prosrc => 'window_lag_with_offset' }, 9428{ oid => '3108', descr => 'fetch the Nth preceding row value with default', 9429 proname => 'lag', prokind => 'w', prorettype => 'anyelement', 9430 proargtypes => 'anyelement int4 anyelement', 9431 prosrc => 'window_lag_with_offset_and_default' }, 9432{ oid => '3109', descr => 'fetch the following row value', 9433 proname => 'lead', prokind => 'w', prorettype => 'anyelement', 9434 proargtypes => 'anyelement', prosrc => 'window_lead' }, 9435{ oid => '3110', descr => 'fetch the Nth following row value', 9436 proname => 'lead', prokind => 'w', prorettype => 'anyelement', 9437 proargtypes => 'anyelement int4', prosrc => 'window_lead_with_offset' }, 9438{ oid => '3111', descr => 'fetch the Nth following row value with default', 9439 proname => 'lead', prokind => 'w', prorettype => 'anyelement', 9440 proargtypes => 'anyelement int4 anyelement', 9441 prosrc => 'window_lead_with_offset_and_default' }, 9442{ oid => '3112', descr => 'fetch the first row value', 9443 proname => 'first_value', prokind => 'w', prorettype => 'anyelement', 9444 proargtypes => 'anyelement', prosrc => 'window_first_value' }, 9445{ oid => '3113', descr => 'fetch the last row value', 9446 proname => 'last_value', prokind => 'w', prorettype => 'anyelement', 9447 proargtypes => 'anyelement', prosrc => 'window_last_value' }, 9448{ oid => '3114', descr => 'fetch the Nth row value', 9449 proname => 'nth_value', prokind => 'w', prorettype => 'anyelement', 9450 proargtypes => 'anyelement int4', prosrc => 'window_nth_value' }, 9451 9452# functions for range types 9453{ oid => '3832', descr => 'I/O', 9454 proname => 'anyrange_in', provolatile => 's', prorettype => 'anyrange', 9455 proargtypes => 'cstring oid int4', prosrc => 'anyrange_in' }, 9456{ oid => '3833', descr => 'I/O', 9457 proname => 'anyrange_out', provolatile => 's', prorettype => 'cstring', 9458 proargtypes => 'anyrange', prosrc => 'anyrange_out' }, 9459{ oid => '3834', descr => 'I/O', 9460 proname => 'range_in', provolatile => 's', prorettype => 'anyrange', 9461 proargtypes => 'cstring oid int4', prosrc => 'range_in' }, 9462{ oid => '3835', descr => 'I/O', 9463 proname => 'range_out', provolatile => 's', prorettype => 'cstring', 9464 proargtypes => 'anyrange', prosrc => 'range_out' }, 9465{ oid => '3836', descr => 'I/O', 9466 proname => 'range_recv', provolatile => 's', prorettype => 'anyrange', 9467 proargtypes => 'internal oid int4', prosrc => 'range_recv' }, 9468{ oid => '3837', descr => 'I/O', 9469 proname => 'range_send', provolatile => 's', prorettype => 'bytea', 9470 proargtypes => 'anyrange', prosrc => 'range_send' }, 9471{ oid => '3848', descr => 'lower bound of range', 9472 proname => 'lower', prorettype => 'anyelement', proargtypes => 'anyrange', 9473 prosrc => 'range_lower' }, 9474{ oid => '3849', descr => 'upper bound of range', 9475 proname => 'upper', prorettype => 'anyelement', proargtypes => 'anyrange', 9476 prosrc => 'range_upper' }, 9477{ oid => '3850', descr => 'is the range empty?', 9478 proname => 'isempty', prorettype => 'bool', proargtypes => 'anyrange', 9479 prosrc => 'range_empty' }, 9480{ oid => '3851', descr => 'is the range\'s lower bound inclusive?', 9481 proname => 'lower_inc', prorettype => 'bool', proargtypes => 'anyrange', 9482 prosrc => 'range_lower_inc' }, 9483{ oid => '3852', descr => 'is the range\'s upper bound inclusive?', 9484 proname => 'upper_inc', prorettype => 'bool', proargtypes => 'anyrange', 9485 prosrc => 'range_upper_inc' }, 9486{ oid => '3853', descr => 'is the range\'s lower bound infinite?', 9487 proname => 'lower_inf', prorettype => 'bool', proargtypes => 'anyrange', 9488 prosrc => 'range_lower_inf' }, 9489{ oid => '3854', descr => 'is the range\'s upper bound infinite?', 9490 proname => 'upper_inf', prorettype => 'bool', proargtypes => 'anyrange', 9491 prosrc => 'range_upper_inf' }, 9492{ oid => '3855', 9493 proname => 'range_eq', prorettype => 'bool', 9494 proargtypes => 'anyrange anyrange', prosrc => 'range_eq' }, 9495{ oid => '3856', 9496 proname => 'range_ne', prorettype => 'bool', 9497 proargtypes => 'anyrange anyrange', prosrc => 'range_ne' }, 9498{ oid => '3857', 9499 proname => 'range_overlaps', prorettype => 'bool', 9500 proargtypes => 'anyrange anyrange', prosrc => 'range_overlaps' }, 9501{ oid => '3858', 9502 proname => 'range_contains_elem', prorettype => 'bool', 9503 proargtypes => 'anyrange anyelement', prosrc => 'range_contains_elem' }, 9504{ oid => '3859', 9505 proname => 'range_contains', prorettype => 'bool', 9506 proargtypes => 'anyrange anyrange', prosrc => 'range_contains' }, 9507{ oid => '3860', 9508 proname => 'elem_contained_by_range', prorettype => 'bool', 9509 proargtypes => 'anyelement anyrange', prosrc => 'elem_contained_by_range' }, 9510{ oid => '3861', 9511 proname => 'range_contained_by', prorettype => 'bool', 9512 proargtypes => 'anyrange anyrange', prosrc => 'range_contained_by' }, 9513{ oid => '3862', 9514 proname => 'range_adjacent', prorettype => 'bool', 9515 proargtypes => 'anyrange anyrange', prosrc => 'range_adjacent' }, 9516{ oid => '3863', 9517 proname => 'range_before', prorettype => 'bool', 9518 proargtypes => 'anyrange anyrange', prosrc => 'range_before' }, 9519{ oid => '3864', 9520 proname => 'range_after', prorettype => 'bool', 9521 proargtypes => 'anyrange anyrange', prosrc => 'range_after' }, 9522{ oid => '3865', 9523 proname => 'range_overleft', prorettype => 'bool', 9524 proargtypes => 'anyrange anyrange', prosrc => 'range_overleft' }, 9525{ oid => '3866', 9526 proname => 'range_overright', prorettype => 'bool', 9527 proargtypes => 'anyrange anyrange', prosrc => 'range_overright' }, 9528{ oid => '3867', 9529 proname => 'range_union', prorettype => 'anyrange', 9530 proargtypes => 'anyrange anyrange', prosrc => 'range_union' }, 9531{ oid => '4057', 9532 descr => 'the smallest range which includes both of the given ranges', 9533 proname => 'range_merge', prorettype => 'anyrange', 9534 proargtypes => 'anyrange anyrange', prosrc => 'range_merge' }, 9535{ oid => '3868', 9536 proname => 'range_intersect', prorettype => 'anyrange', 9537 proargtypes => 'anyrange anyrange', prosrc => 'range_intersect' }, 9538{ oid => '3869', 9539 proname => 'range_minus', prorettype => 'anyrange', 9540 proargtypes => 'anyrange anyrange', prosrc => 'range_minus' }, 9541{ oid => '3870', descr => 'less-equal-greater', 9542 proname => 'range_cmp', prorettype => 'int4', 9543 proargtypes => 'anyrange anyrange', prosrc => 'range_cmp' }, 9544{ oid => '3871', 9545 proname => 'range_lt', prorettype => 'bool', 9546 proargtypes => 'anyrange anyrange', prosrc => 'range_lt' }, 9547{ oid => '3872', 9548 proname => 'range_le', prorettype => 'bool', 9549 proargtypes => 'anyrange anyrange', prosrc => 'range_le' }, 9550{ oid => '3873', 9551 proname => 'range_ge', prorettype => 'bool', 9552 proargtypes => 'anyrange anyrange', prosrc => 'range_ge' }, 9553{ oid => '3874', 9554 proname => 'range_gt', prorettype => 'bool', 9555 proargtypes => 'anyrange anyrange', prosrc => 'range_gt' }, 9556{ oid => '3875', descr => 'GiST support', 9557 proname => 'range_gist_consistent', prorettype => 'bool', 9558 proargtypes => 'internal anyrange int2 oid internal', 9559 prosrc => 'range_gist_consistent' }, 9560{ oid => '3876', descr => 'GiST support', 9561 proname => 'range_gist_union', prorettype => 'anyrange', 9562 proargtypes => 'internal internal', prosrc => 'range_gist_union' }, 9563{ oid => '3879', descr => 'GiST support', 9564 proname => 'range_gist_penalty', prorettype => 'internal', 9565 proargtypes => 'internal internal internal', prosrc => 'range_gist_penalty' }, 9566{ oid => '3880', descr => 'GiST support', 9567 proname => 'range_gist_picksplit', prorettype => 'internal', 9568 proargtypes => 'internal internal', prosrc => 'range_gist_picksplit' }, 9569{ oid => '3881', descr => 'GiST support', 9570 proname => 'range_gist_same', prorettype => 'internal', 9571 proargtypes => 'anyrange anyrange internal', prosrc => 'range_gist_same' }, 9572{ oid => '3902', descr => 'hash a range', 9573 proname => 'hash_range', prorettype => 'int4', proargtypes => 'anyrange', 9574 prosrc => 'hash_range' }, 9575{ oid => '3417', descr => 'hash a range', 9576 proname => 'hash_range_extended', prorettype => 'int8', 9577 proargtypes => 'anyrange int8', prosrc => 'hash_range_extended' }, 9578{ oid => '3916', descr => 'range typanalyze', 9579 proname => 'range_typanalyze', provolatile => 's', prorettype => 'bool', 9580 proargtypes => 'internal', prosrc => 'range_typanalyze' }, 9581{ oid => '3169', descr => 'restriction selectivity for range operators', 9582 proname => 'rangesel', provolatile => 's', prorettype => 'float8', 9583 proargtypes => 'internal oid internal int4', prosrc => 'rangesel' }, 9584 9585{ oid => '3914', descr => 'convert an int4 range to canonical form', 9586 proname => 'int4range_canonical', prorettype => 'int4range', 9587 proargtypes => 'int4range', prosrc => 'int4range_canonical' }, 9588{ oid => '3928', descr => 'convert an int8 range to canonical form', 9589 proname => 'int8range_canonical', prorettype => 'int8range', 9590 proargtypes => 'int8range', prosrc => 'int8range_canonical' }, 9591{ oid => '3915', descr => 'convert a date range to canonical form', 9592 proname => 'daterange_canonical', prorettype => 'daterange', 9593 proargtypes => 'daterange', prosrc => 'daterange_canonical' }, 9594{ oid => '3922', descr => 'float8 difference of two int4 values', 9595 proname => 'int4range_subdiff', prorettype => 'float8', 9596 proargtypes => 'int4 int4', prosrc => 'int4range_subdiff' }, 9597{ oid => '3923', descr => 'float8 difference of two int8 values', 9598 proname => 'int8range_subdiff', prorettype => 'float8', 9599 proargtypes => 'int8 int8', prosrc => 'int8range_subdiff' }, 9600{ oid => '3924', descr => 'float8 difference of two numeric values', 9601 proname => 'numrange_subdiff', prorettype => 'float8', 9602 proargtypes => 'numeric numeric', prosrc => 'numrange_subdiff' }, 9603{ oid => '3925', descr => 'float8 difference of two date values', 9604 proname => 'daterange_subdiff', prorettype => 'float8', 9605 proargtypes => 'date date', prosrc => 'daterange_subdiff' }, 9606{ oid => '3929', descr => 'float8 difference of two timestamp values', 9607 proname => 'tsrange_subdiff', prorettype => 'float8', 9608 proargtypes => 'timestamp timestamp', prosrc => 'tsrange_subdiff' }, 9609{ oid => '3930', 9610 descr => 'float8 difference of two timestamp with time zone values', 9611 proname => 'tstzrange_subdiff', prorettype => 'float8', 9612 proargtypes => 'timestamptz timestamptz', prosrc => 'tstzrange_subdiff' }, 9613 9614{ oid => '3840', descr => 'int4range constructor', 9615 proname => 'int4range', proisstrict => 'f', prorettype => 'int4range', 9616 proargtypes => 'int4 int4', prosrc => 'range_constructor2' }, 9617{ oid => '3841', descr => 'int4range constructor', 9618 proname => 'int4range', proisstrict => 'f', prorettype => 'int4range', 9619 proargtypes => 'int4 int4 text', prosrc => 'range_constructor3' }, 9620{ oid => '3844', descr => 'numrange constructor', 9621 proname => 'numrange', proisstrict => 'f', prorettype => 'numrange', 9622 proargtypes => 'numeric numeric', prosrc => 'range_constructor2' }, 9623{ oid => '3845', descr => 'numrange constructor', 9624 proname => 'numrange', proisstrict => 'f', prorettype => 'numrange', 9625 proargtypes => 'numeric numeric text', prosrc => 'range_constructor3' }, 9626{ oid => '3933', descr => 'tsrange constructor', 9627 proname => 'tsrange', proisstrict => 'f', prorettype => 'tsrange', 9628 proargtypes => 'timestamp timestamp', prosrc => 'range_constructor2' }, 9629{ oid => '3934', descr => 'tsrange constructor', 9630 proname => 'tsrange', proisstrict => 'f', prorettype => 'tsrange', 9631 proargtypes => 'timestamp timestamp text', prosrc => 'range_constructor3' }, 9632{ oid => '3937', descr => 'tstzrange constructor', 9633 proname => 'tstzrange', proisstrict => 'f', prorettype => 'tstzrange', 9634 proargtypes => 'timestamptz timestamptz', prosrc => 'range_constructor2' }, 9635{ oid => '3938', descr => 'tstzrange constructor', 9636 proname => 'tstzrange', proisstrict => 'f', prorettype => 'tstzrange', 9637 proargtypes => 'timestamptz timestamptz text', 9638 prosrc => 'range_constructor3' }, 9639{ oid => '3941', descr => 'daterange constructor', 9640 proname => 'daterange', proisstrict => 'f', prorettype => 'daterange', 9641 proargtypes => 'date date', prosrc => 'range_constructor2' }, 9642{ oid => '3942', descr => 'daterange constructor', 9643 proname => 'daterange', proisstrict => 'f', prorettype => 'daterange', 9644 proargtypes => 'date date text', prosrc => 'range_constructor3' }, 9645{ oid => '3945', descr => 'int8range constructor', 9646 proname => 'int8range', proisstrict => 'f', prorettype => 'int8range', 9647 proargtypes => 'int8 int8', prosrc => 'range_constructor2' }, 9648{ oid => '3946', descr => 'int8range constructor', 9649 proname => 'int8range', proisstrict => 'f', prorettype => 'int8range', 9650 proargtypes => 'int8 int8 text', prosrc => 'range_constructor3' }, 9651 9652# date, time, timestamp constructors 9653{ oid => '3846', descr => 'construct date', 9654 proname => 'make_date', prorettype => 'date', proargtypes => 'int4 int4 int4', 9655 proargnames => '{year,month,day}', prosrc => 'make_date' }, 9656{ oid => '3847', descr => 'construct time', 9657 proname => 'make_time', prorettype => 'time', 9658 proargtypes => 'int4 int4 float8', proargnames => '{hour,min,sec}', 9659 prosrc => 'make_time' }, 9660{ oid => '3461', descr => 'construct timestamp', 9661 proname => 'make_timestamp', prorettype => 'timestamp', 9662 proargtypes => 'int4 int4 int4 int4 int4 float8', 9663 proargnames => '{year,month,mday,hour,min,sec}', prosrc => 'make_timestamp' }, 9664{ oid => '3462', descr => 'construct timestamp with time zone', 9665 proname => 'make_timestamptz', provolatile => 's', 9666 prorettype => 'timestamptz', proargtypes => 'int4 int4 int4 int4 int4 float8', 9667 proargnames => '{year,month,mday,hour,min,sec}', 9668 prosrc => 'make_timestamptz' }, 9669{ oid => '3463', descr => 'construct timestamp with time zone', 9670 proname => 'make_timestamptz', provolatile => 's', 9671 prorettype => 'timestamptz', 9672 proargtypes => 'int4 int4 int4 int4 int4 float8 text', 9673 proargnames => '{year,month,mday,hour,min,sec,timezone}', 9674 prosrc => 'make_timestamptz_at_timezone' }, 9675{ oid => '3464', descr => 'construct interval', 9676 proname => 'make_interval', prorettype => 'interval', 9677 proargtypes => 'int4 int4 int4 int4 int4 int4 float8', 9678 proargnames => '{years,months,weeks,days,hours,mins,secs}', 9679 prosrc => 'make_interval' }, 9680 9681# spgist opclasses 9682{ oid => '4018', descr => 'SP-GiST support for quad tree over point', 9683 proname => 'spg_quad_config', prorettype => 'void', 9684 proargtypes => 'internal internal', prosrc => 'spg_quad_config' }, 9685{ oid => '4019', descr => 'SP-GiST support for quad tree over point', 9686 proname => 'spg_quad_choose', prorettype => 'void', 9687 proargtypes => 'internal internal', prosrc => 'spg_quad_choose' }, 9688{ oid => '4020', descr => 'SP-GiST support for quad tree over point', 9689 proname => 'spg_quad_picksplit', prorettype => 'void', 9690 proargtypes => 'internal internal', prosrc => 'spg_quad_picksplit' }, 9691{ oid => '4021', descr => 'SP-GiST support for quad tree over point', 9692 proname => 'spg_quad_inner_consistent', prorettype => 'void', 9693 proargtypes => 'internal internal', prosrc => 'spg_quad_inner_consistent' }, 9694{ oid => '4022', 9695 descr => 'SP-GiST support for quad tree and k-d tree over point', 9696 proname => 'spg_quad_leaf_consistent', prorettype => 'bool', 9697 proargtypes => 'internal internal', prosrc => 'spg_quad_leaf_consistent' }, 9698 9699{ oid => '4023', descr => 'SP-GiST support for k-d tree over point', 9700 proname => 'spg_kd_config', prorettype => 'void', 9701 proargtypes => 'internal internal', prosrc => 'spg_kd_config' }, 9702{ oid => '4024', descr => 'SP-GiST support for k-d tree over point', 9703 proname => 'spg_kd_choose', prorettype => 'void', 9704 proargtypes => 'internal internal', prosrc => 'spg_kd_choose' }, 9705{ oid => '4025', descr => 'SP-GiST support for k-d tree over point', 9706 proname => 'spg_kd_picksplit', prorettype => 'void', 9707 proargtypes => 'internal internal', prosrc => 'spg_kd_picksplit' }, 9708{ oid => '4026', descr => 'SP-GiST support for k-d tree over point', 9709 proname => 'spg_kd_inner_consistent', prorettype => 'void', 9710 proargtypes => 'internal internal', prosrc => 'spg_kd_inner_consistent' }, 9711 9712{ oid => '4027', descr => 'SP-GiST support for radix tree over text', 9713 proname => 'spg_text_config', prorettype => 'void', 9714 proargtypes => 'internal internal', prosrc => 'spg_text_config' }, 9715{ oid => '4028', descr => 'SP-GiST support for radix tree over text', 9716 proname => 'spg_text_choose', prorettype => 'void', 9717 proargtypes => 'internal internal', prosrc => 'spg_text_choose' }, 9718{ oid => '4029', descr => 'SP-GiST support for radix tree over text', 9719 proname => 'spg_text_picksplit', prorettype => 'void', 9720 proargtypes => 'internal internal', prosrc => 'spg_text_picksplit' }, 9721{ oid => '4030', descr => 'SP-GiST support for radix tree over text', 9722 proname => 'spg_text_inner_consistent', prorettype => 'void', 9723 proargtypes => 'internal internal', prosrc => 'spg_text_inner_consistent' }, 9724{ oid => '4031', descr => 'SP-GiST support for radix tree over text', 9725 proname => 'spg_text_leaf_consistent', prorettype => 'bool', 9726 proargtypes => 'internal internal', prosrc => 'spg_text_leaf_consistent' }, 9727 9728{ oid => '3469', descr => 'SP-GiST support for quad tree over range', 9729 proname => 'spg_range_quad_config', prorettype => 'void', 9730 proargtypes => 'internal internal', prosrc => 'spg_range_quad_config' }, 9731{ oid => '3470', descr => 'SP-GiST support for quad tree over range', 9732 proname => 'spg_range_quad_choose', prorettype => 'void', 9733 proargtypes => 'internal internal', prosrc => 'spg_range_quad_choose' }, 9734{ oid => '3471', descr => 'SP-GiST support for quad tree over range', 9735 proname => 'spg_range_quad_picksplit', prorettype => 'void', 9736 proargtypes => 'internal internal', prosrc => 'spg_range_quad_picksplit' }, 9737{ oid => '3472', descr => 'SP-GiST support for quad tree over range', 9738 proname => 'spg_range_quad_inner_consistent', prorettype => 'void', 9739 proargtypes => 'internal internal', 9740 prosrc => 'spg_range_quad_inner_consistent' }, 9741{ oid => '3473', descr => 'SP-GiST support for quad tree over range', 9742 proname => 'spg_range_quad_leaf_consistent', prorettype => 'bool', 9743 proargtypes => 'internal internal', 9744 prosrc => 'spg_range_quad_leaf_consistent' }, 9745 9746{ oid => '5012', descr => 'SP-GiST support for quad tree over box', 9747 proname => 'spg_box_quad_config', prorettype => 'void', 9748 proargtypes => 'internal internal', prosrc => 'spg_box_quad_config' }, 9749{ oid => '5013', descr => 'SP-GiST support for quad tree over box', 9750 proname => 'spg_box_quad_choose', prorettype => 'void', 9751 proargtypes => 'internal internal', prosrc => 'spg_box_quad_choose' }, 9752{ oid => '5014', descr => 'SP-GiST support for quad tree over box', 9753 proname => 'spg_box_quad_picksplit', prorettype => 'void', 9754 proargtypes => 'internal internal', prosrc => 'spg_box_quad_picksplit' }, 9755{ oid => '5015', descr => 'SP-GiST support for quad tree over box', 9756 proname => 'spg_box_quad_inner_consistent', prorettype => 'void', 9757 proargtypes => 'internal internal', 9758 prosrc => 'spg_box_quad_inner_consistent' }, 9759{ oid => '5016', descr => 'SP-GiST support for quad tree over box', 9760 proname => 'spg_box_quad_leaf_consistent', prorettype => 'bool', 9761 proargtypes => 'internal internal', 9762 prosrc => 'spg_box_quad_leaf_consistent' }, 9763 9764{ oid => '5010', 9765 descr => 'SP-GiST support for quad tree over 2-D types represented by their bounding boxes', 9766 proname => 'spg_bbox_quad_config', prorettype => 'void', 9767 proargtypes => 'internal internal', prosrc => 'spg_bbox_quad_config' }, 9768{ oid => '5011', descr => 'SP-GiST support for quad tree over polygons', 9769 proname => 'spg_poly_quad_compress', prorettype => 'box', 9770 proargtypes => 'polygon', prosrc => 'spg_poly_quad_compress' }, 9771 9772# replication slots 9773{ oid => '3779', descr => 'create a physical replication slot', 9774 proname => 'pg_create_physical_replication_slot', provolatile => 'v', 9775 proparallel => 'u', prorettype => 'record', proargtypes => 'name bool bool', 9776 proallargtypes => '{name,bool,bool,name,pg_lsn}', 9777 proargmodes => '{i,i,i,o,o}', 9778 proargnames => '{slot_name,immediately_reserve,temporary,slot_name,lsn}', 9779 prosrc => 'pg_create_physical_replication_slot' }, 9780{ oid => '4220', 9781 descr => 'copy a physical replication slot, changing temporality', 9782 proname => 'pg_copy_physical_replication_slot', provolatile => 'v', 9783 proparallel => 'u', prorettype => 'record', proargtypes => 'name name bool', 9784 proallargtypes => '{name,name,bool,name,pg_lsn}', 9785 proargmodes => '{i,i,i,o,o}', 9786 proargnames => '{src_slot_name,dst_slot_name,temporary,slot_name,lsn}', 9787 prosrc => 'pg_copy_physical_replication_slot_a' }, 9788{ oid => '4221', descr => 'copy a physical replication slot', 9789 proname => 'pg_copy_physical_replication_slot', provolatile => 'v', 9790 proparallel => 'u', prorettype => 'record', proargtypes => 'name name', 9791 proallargtypes => '{name,name,name,pg_lsn}', proargmodes => '{i,i,o,o}', 9792 proargnames => '{src_slot_name,dst_slot_name,slot_name,lsn}', 9793 prosrc => 'pg_copy_physical_replication_slot_b' }, 9794{ oid => '3780', descr => 'drop a replication slot', 9795 proname => 'pg_drop_replication_slot', provolatile => 'v', proparallel => 'u', 9796 prorettype => 'void', proargtypes => 'name', 9797 prosrc => 'pg_drop_replication_slot' }, 9798{ oid => '3781', 9799 descr => 'information about replication slots currently in use', 9800 proname => 'pg_get_replication_slots', prorows => '10', proisstrict => 'f', 9801 proretset => 't', provolatile => 's', prorettype => 'record', 9802 proargtypes => '', 9803 proallargtypes => '{name,name,text,oid,bool,bool,int4,xid,xid,pg_lsn,pg_lsn}', 9804 proargmodes => '{o,o,o,o,o,o,o,o,o,o,o}', 9805 proargnames => '{slot_name,plugin,slot_type,datoid,temporary,active,active_pid,xmin,catalog_xmin,restart_lsn,confirmed_flush_lsn}', 9806 prosrc => 'pg_get_replication_slots' }, 9807{ oid => '3786', descr => 'set up a logical replication slot', 9808 proname => 'pg_create_logical_replication_slot', provolatile => 'v', 9809 proparallel => 'u', prorettype => 'record', proargtypes => 'name name bool', 9810 proallargtypes => '{name,name,bool,name,pg_lsn}', 9811 proargmodes => '{i,i,i,o,o}', 9812 proargnames => '{slot_name,plugin,temporary,slot_name,lsn}', 9813 prosrc => 'pg_create_logical_replication_slot' }, 9814{ oid => '4222', 9815 descr => 'copy a logical replication slot, changing temporality and plugin', 9816 proname => 'pg_copy_logical_replication_slot', provolatile => 'v', 9817 proparallel => 'u', prorettype => 'record', 9818 proargtypes => 'name name bool name', 9819 proallargtypes => '{name,name,bool,name,name,pg_lsn}', 9820 proargmodes => '{i,i,i,i,o,o}', 9821 proargnames => '{src_slot_name,dst_slot_name,temporary,plugin,slot_name,lsn}', 9822 prosrc => 'pg_copy_logical_replication_slot_a' }, 9823{ oid => '4223', 9824 descr => 'copy a logical replication slot, changing temporality', 9825 proname => 'pg_copy_logical_replication_slot', provolatile => 'v', 9826 proparallel => 'u', prorettype => 'record', proargtypes => 'name name bool', 9827 proallargtypes => '{name,name,bool,name,pg_lsn}', 9828 proargmodes => '{i,i,i,o,o}', 9829 proargnames => '{src_slot_name,dst_slot_name,temporary,slot_name,lsn}', 9830 prosrc => 'pg_copy_logical_replication_slot_b' }, 9831{ oid => '4224', descr => 'copy a logical replication slot', 9832 proname => 'pg_copy_logical_replication_slot', provolatile => 'v', 9833 proparallel => 'u', prorettype => 'record', proargtypes => 'name name', 9834 proallargtypes => '{name,name,name,pg_lsn}', proargmodes => '{i,i,o,o}', 9835 proargnames => '{src_slot_name,dst_slot_name,slot_name,lsn}', 9836 prosrc => 'pg_copy_logical_replication_slot_c' }, 9837{ oid => '3782', descr => 'get changes from replication slot', 9838 proname => 'pg_logical_slot_get_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,text}', 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_get_changes' }, 9846{ oid => '3783', descr => 'get binary changes from replication slot', 9847 proname => 'pg_logical_slot_get_binary_changes', procost => '1000', 9848 prorows => '1000', provariadic => 'text', proisstrict => 'f', 9849 proretset => 't', provolatile => 'v', proparallel => 'u', 9850 prorettype => 'record', proargtypes => 'name pg_lsn int4 _text', 9851 proallargtypes => '{name,pg_lsn,int4,_text,pg_lsn,xid,bytea}', 9852 proargmodes => '{i,i,i,v,o,o,o}', 9853 proargnames => '{slot_name,upto_lsn,upto_nchanges,options,lsn,xid,data}', 9854 prosrc => 'pg_logical_slot_get_binary_changes' }, 9855{ oid => '3784', descr => 'peek at changes from replication slot', 9856 proname => 'pg_logical_slot_peek_changes', procost => '1000', 9857 prorows => '1000', provariadic => 'text', proisstrict => 'f', 9858 proretset => 't', provolatile => 'v', proparallel => 'u', 9859 prorettype => 'record', proargtypes => 'name pg_lsn int4 _text', 9860 proallargtypes => '{name,pg_lsn,int4,_text,pg_lsn,xid,text}', 9861 proargmodes => '{i,i,i,v,o,o,o}', 9862 proargnames => '{slot_name,upto_lsn,upto_nchanges,options,lsn,xid,data}', 9863 prosrc => 'pg_logical_slot_peek_changes' }, 9864{ oid => '3785', descr => 'peek at binary changes from replication slot', 9865 proname => 'pg_logical_slot_peek_binary_changes', procost => '1000', 9866 prorows => '1000', provariadic => 'text', proisstrict => 'f', 9867 proretset => 't', provolatile => 'v', proparallel => 'u', 9868 prorettype => 'record', proargtypes => 'name pg_lsn int4 _text', 9869 proallargtypes => '{name,pg_lsn,int4,_text,pg_lsn,xid,bytea}', 9870 proargmodes => '{i,i,i,v,o,o,o}', 9871 proargnames => '{slot_name,upto_lsn,upto_nchanges,options,lsn,xid,data}', 9872 prosrc => 'pg_logical_slot_peek_binary_changes' }, 9873{ oid => '3878', descr => 'advance logical replication slot', 9874 proname => 'pg_replication_slot_advance', provolatile => 'v', 9875 proparallel => 'u', prorettype => 'record', proargtypes => 'name pg_lsn', 9876 proallargtypes => '{name,pg_lsn,name,pg_lsn}', proargmodes => '{i,i,o,o}', 9877 proargnames => '{slot_name,upto_lsn,slot_name,end_lsn}', 9878 prosrc => 'pg_replication_slot_advance' }, 9879{ oid => '3577', descr => 'emit a textual logical decoding message', 9880 proname => 'pg_logical_emit_message', provolatile => 'v', proparallel => 'u', 9881 prorettype => 'pg_lsn', proargtypes => 'bool text text', 9882 prosrc => 'pg_logical_emit_message_text' }, 9883{ oid => '3578', descr => 'emit a binary logical decoding message', 9884 proname => 'pg_logical_emit_message', provolatile => 'v', proparallel => 'u', 9885 prorettype => 'pg_lsn', proargtypes => 'bool text bytea', 9886 prosrc => 'pg_logical_emit_message_bytea' }, 9887 9888# event triggers 9889{ oid => '3566', descr => 'list objects dropped by the current command', 9890 proname => 'pg_event_trigger_dropped_objects', procost => '10', 9891 prorows => '100', proretset => 't', provolatile => 's', proparallel => 'r', 9892 prorettype => 'record', proargtypes => '', 9893 proallargtypes => '{oid,oid,int4,bool,bool,bool,text,text,text,text,_text,_text}', 9894 proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o}', 9895 proargnames => '{classid, objid, objsubid, original, normal, is_temporary, object_type, schema_name, object_name, object_identity, address_names, address_args}', 9896 prosrc => 'pg_event_trigger_dropped_objects' }, 9897{ oid => '4566', descr => 'return Oid of the table getting rewritten', 9898 proname => 'pg_event_trigger_table_rewrite_oid', provolatile => 's', 9899 proparallel => 'r', prorettype => 'oid', proargtypes => '', 9900 proallargtypes => '{oid}', proargmodes => '{o}', proargnames => '{oid}', 9901 prosrc => 'pg_event_trigger_table_rewrite_oid' }, 9902{ oid => '4567', descr => 'return reason code for table getting rewritten', 9903 proname => 'pg_event_trigger_table_rewrite_reason', provolatile => 's', 9904 proparallel => 'r', prorettype => 'int4', proargtypes => '', 9905 prosrc => 'pg_event_trigger_table_rewrite_reason' }, 9906{ oid => '4568', 9907 descr => 'list DDL actions being executed by the current command', 9908 proname => 'pg_event_trigger_ddl_commands', procost => '10', prorows => '100', 9909 proretset => 't', provolatile => 's', proparallel => 'r', 9910 prorettype => 'record', proargtypes => '', 9911 proallargtypes => '{oid,oid,int4,text,text,text,text,bool,pg_ddl_command}', 9912 proargmodes => '{o,o,o,o,o,o,o,o,o}', 9913 proargnames => '{classid, objid, objsubid, command_tag, object_type, schema_name, object_identity, in_extension, command}', 9914 prosrc => 'pg_event_trigger_ddl_commands' }, 9915 9916# generic transition functions for ordered-set aggregates 9917{ oid => '3970', descr => 'aggregate transition function', 9918 proname => 'ordered_set_transition', proisstrict => 'f', 9919 prorettype => 'internal', proargtypes => 'internal any', 9920 prosrc => 'ordered_set_transition' }, 9921{ oid => '3971', descr => 'aggregate transition function', 9922 proname => 'ordered_set_transition_multi', provariadic => 'any', 9923 proisstrict => 'f', prorettype => 'internal', proargtypes => 'internal any', 9924 proallargtypes => '{internal,any}', proargmodes => '{i,v}', 9925 prosrc => 'ordered_set_transition_multi' }, 9926 9927# inverse distribution aggregates (and their support functions) 9928{ oid => '3972', descr => 'discrete percentile', 9929 proname => 'percentile_disc', prokind => 'a', proisstrict => 'f', 9930 prorettype => 'anyelement', proargtypes => 'float8 anyelement', 9931 prosrc => 'aggregate_dummy' }, 9932{ oid => '3973', descr => 'aggregate final function', 9933 proname => 'percentile_disc_final', proisstrict => 'f', 9934 prorettype => 'anyelement', proargtypes => 'internal float8 anyelement', 9935 prosrc => 'percentile_disc_final' }, 9936{ oid => '3974', descr => 'continuous distribution percentile', 9937 proname => 'percentile_cont', prokind => 'a', proisstrict => 'f', 9938 prorettype => 'float8', proargtypes => 'float8 float8', 9939 prosrc => 'aggregate_dummy' }, 9940{ oid => '3975', descr => 'aggregate final function', 9941 proname => 'percentile_cont_float8_final', proisstrict => 'f', 9942 prorettype => 'float8', proargtypes => 'internal float8', 9943 prosrc => 'percentile_cont_float8_final' }, 9944{ oid => '3976', descr => 'continuous distribution percentile', 9945 proname => 'percentile_cont', prokind => 'a', proisstrict => 'f', 9946 prorettype => 'interval', proargtypes => 'float8 interval', 9947 prosrc => 'aggregate_dummy' }, 9948{ oid => '3977', descr => 'aggregate final function', 9949 proname => 'percentile_cont_interval_final', proisstrict => 'f', 9950 prorettype => 'interval', proargtypes => 'internal float8', 9951 prosrc => 'percentile_cont_interval_final' }, 9952{ oid => '3978', descr => 'multiple discrete percentiles', 9953 proname => 'percentile_disc', prokind => 'a', proisstrict => 'f', 9954 prorettype => 'anyarray', proargtypes => '_float8 anyelement', 9955 prosrc => 'aggregate_dummy' }, 9956{ oid => '3979', descr => 'aggregate final function', 9957 proname => 'percentile_disc_multi_final', proisstrict => 'f', 9958 prorettype => 'anyarray', proargtypes => 'internal _float8 anyelement', 9959 prosrc => 'percentile_disc_multi_final' }, 9960{ oid => '3980', descr => 'multiple continuous percentiles', 9961 proname => 'percentile_cont', prokind => 'a', proisstrict => 'f', 9962 prorettype => '_float8', proargtypes => '_float8 float8', 9963 prosrc => 'aggregate_dummy' }, 9964{ oid => '3981', descr => 'aggregate final function', 9965 proname => 'percentile_cont_float8_multi_final', proisstrict => 'f', 9966 prorettype => '_float8', proargtypes => 'internal _float8', 9967 prosrc => 'percentile_cont_float8_multi_final' }, 9968{ oid => '3982', descr => 'multiple continuous percentiles', 9969 proname => 'percentile_cont', prokind => 'a', proisstrict => 'f', 9970 prorettype => '_interval', proargtypes => '_float8 interval', 9971 prosrc => 'aggregate_dummy' }, 9972{ oid => '3983', descr => 'aggregate final function', 9973 proname => 'percentile_cont_interval_multi_final', proisstrict => 'f', 9974 prorettype => '_interval', proargtypes => 'internal _float8', 9975 prosrc => 'percentile_cont_interval_multi_final' }, 9976{ oid => '3984', descr => 'most common value', 9977 proname => 'mode', prokind => 'a', proisstrict => 'f', 9978 prorettype => 'anyelement', proargtypes => 'anyelement', 9979 prosrc => 'aggregate_dummy' }, 9980{ oid => '3985', descr => 'aggregate final function', 9981 proname => 'mode_final', proisstrict => 'f', prorettype => 'anyelement', 9982 proargtypes => 'internal anyelement', prosrc => 'mode_final' }, 9983 9984# hypothetical-set aggregates (and their support functions) 9985{ oid => '3986', descr => 'rank of hypothetical row', 9986 proname => 'rank', provariadic => 'any', prokind => 'a', proisstrict => 'f', 9987 prorettype => 'int8', proargtypes => 'any', proallargtypes => '{any}', 9988 proargmodes => '{v}', prosrc => 'aggregate_dummy' }, 9989{ oid => '3987', descr => 'aggregate final function', 9990 proname => 'rank_final', provariadic => 'any', proisstrict => 'f', 9991 prorettype => 'int8', proargtypes => 'internal any', 9992 proallargtypes => '{internal,any}', proargmodes => '{i,v}', 9993 prosrc => 'hypothetical_rank_final' }, 9994{ oid => '3988', descr => 'fractional rank of hypothetical row', 9995 proname => 'percent_rank', provariadic => 'any', prokind => 'a', 9996 proisstrict => 'f', prorettype => 'float8', proargtypes => 'any', 9997 proallargtypes => '{any}', proargmodes => '{v}', 9998 prosrc => 'aggregate_dummy' }, 9999{ oid => '3989', descr => 'aggregate final function', 10000 proname => 'percent_rank_final', provariadic => 'any', proisstrict => 'f', 10001 prorettype => 'float8', proargtypes => 'internal any', 10002 proallargtypes => '{internal,any}', proargmodes => '{i,v}', 10003 prosrc => 'hypothetical_percent_rank_final' }, 10004{ oid => '3990', descr => 'cumulative distribution of hypothetical row', 10005 proname => 'cume_dist', provariadic => 'any', prokind => 'a', 10006 proisstrict => 'f', prorettype => 'float8', proargtypes => 'any', 10007 proallargtypes => '{any}', proargmodes => '{v}', 10008 prosrc => 'aggregate_dummy' }, 10009{ oid => '3991', descr => 'aggregate final function', 10010 proname => 'cume_dist_final', provariadic => 'any', proisstrict => 'f', 10011 prorettype => 'float8', proargtypes => 'internal any', 10012 proallargtypes => '{internal,any}', proargmodes => '{i,v}', 10013 prosrc => 'hypothetical_cume_dist_final' }, 10014{ oid => '3992', descr => 'rank of hypothetical row without gaps', 10015 proname => 'dense_rank', provariadic => 'any', prokind => 'a', 10016 proisstrict => 'f', prorettype => 'int8', proargtypes => 'any', 10017 proallargtypes => '{any}', proargmodes => '{v}', 10018 prosrc => 'aggregate_dummy' }, 10019{ oid => '3993', descr => 'aggregate final function', 10020 proname => 'dense_rank_final', provariadic => 'any', proisstrict => 'f', 10021 prorettype => 'int8', proargtypes => 'internal any', 10022 proallargtypes => '{internal,any}', proargmodes => '{i,v}', 10023 prosrc => 'hypothetical_dense_rank_final' }, 10024 10025# pg_upgrade support 10026{ oid => '3582', descr => 'for use by pg_upgrade', 10027 proname => 'binary_upgrade_set_next_pg_type_oid', provolatile => 'v', 10028 proparallel => 'r', prorettype => 'void', proargtypes => 'oid', 10029 prosrc => 'binary_upgrade_set_next_pg_type_oid' }, 10030{ oid => '3584', descr => 'for use by pg_upgrade', 10031 proname => 'binary_upgrade_set_next_array_pg_type_oid', provolatile => 'v', 10032 proparallel => 'r', prorettype => 'void', proargtypes => 'oid', 10033 prosrc => 'binary_upgrade_set_next_array_pg_type_oid' }, 10034{ oid => '3585', descr => 'for use by pg_upgrade', 10035 proname => 'binary_upgrade_set_next_toast_pg_type_oid', provolatile => 'v', 10036 proparallel => 'r', prorettype => 'void', proargtypes => 'oid', 10037 prosrc => 'binary_upgrade_set_next_toast_pg_type_oid' }, 10038{ oid => '3586', descr => 'for use by pg_upgrade', 10039 proname => 'binary_upgrade_set_next_heap_pg_class_oid', provolatile => 'v', 10040 proparallel => 'r', prorettype => 'void', proargtypes => 'oid', 10041 prosrc => 'binary_upgrade_set_next_heap_pg_class_oid' }, 10042{ oid => '3587', descr => 'for use by pg_upgrade', 10043 proname => 'binary_upgrade_set_next_index_pg_class_oid', provolatile => 'v', 10044 proparallel => 'r', prorettype => 'void', proargtypes => 'oid', 10045 prosrc => 'binary_upgrade_set_next_index_pg_class_oid' }, 10046{ oid => '3588', descr => 'for use by pg_upgrade', 10047 proname => 'binary_upgrade_set_next_toast_pg_class_oid', provolatile => 'v', 10048 proparallel => 'r', prorettype => 'void', proargtypes => 'oid', 10049 prosrc => 'binary_upgrade_set_next_toast_pg_class_oid' }, 10050{ oid => '3589', descr => 'for use by pg_upgrade', 10051 proname => 'binary_upgrade_set_next_pg_enum_oid', provolatile => 'v', 10052 proparallel => 'r', prorettype => 'void', proargtypes => 'oid', 10053 prosrc => 'binary_upgrade_set_next_pg_enum_oid' }, 10054{ oid => '3590', descr => 'for use by pg_upgrade', 10055 proname => 'binary_upgrade_set_next_pg_authid_oid', provolatile => 'v', 10056 proparallel => 'r', prorettype => 'void', proargtypes => 'oid', 10057 prosrc => 'binary_upgrade_set_next_pg_authid_oid' }, 10058{ oid => '3591', descr => 'for use by pg_upgrade', 10059 proname => 'binary_upgrade_create_empty_extension', proisstrict => 'f', 10060 provolatile => 'v', proparallel => 'u', prorettype => 'void', 10061 proargtypes => 'text text bool text _oid _text _text', 10062 prosrc => 'binary_upgrade_create_empty_extension' }, 10063{ oid => '4083', descr => 'for use by pg_upgrade', 10064 proname => 'binary_upgrade_set_record_init_privs', provolatile => 'v', 10065 proparallel => 'r', prorettype => 'void', proargtypes => 'bool', 10066 prosrc => 'binary_upgrade_set_record_init_privs' }, 10067{ oid => '4101', descr => 'for use by pg_upgrade', 10068 proname => 'binary_upgrade_set_missing_value', provolatile => 'v', 10069 proparallel => 'u', prorettype => 'void', proargtypes => 'oid text text', 10070 prosrc => 'binary_upgrade_set_missing_value' }, 10071 10072# conversion functions 10073{ oid => '4300', 10074 descr => 'internal conversion function for SQL_ASCII to MULE_INTERNAL', 10075 proname => 'ascii_to_mic', prolang => 'c', prorettype => 'void', 10076 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'ascii_to_mic', 10077 probin => '$libdir/ascii_and_mic' }, 10078{ oid => '4301', 10079 descr => 'internal conversion function for MULE_INTERNAL to SQL_ASCII', 10080 proname => 'mic_to_ascii', prolang => 'c', prorettype => 'void', 10081 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'mic_to_ascii', 10082 probin => '$libdir/ascii_and_mic' }, 10083{ oid => '4302', 10084 descr => 'internal conversion function for KOI8R to MULE_INTERNAL', 10085 proname => 'koi8r_to_mic', prolang => 'c', prorettype => 'void', 10086 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'koi8r_to_mic', 10087 probin => '$libdir/cyrillic_and_mic' }, 10088{ oid => '4303', 10089 descr => 'internal conversion function for MULE_INTERNAL to KOI8R', 10090 proname => 'mic_to_koi8r', prolang => 'c', prorettype => 'void', 10091 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'mic_to_koi8r', 10092 probin => '$libdir/cyrillic_and_mic' }, 10093{ oid => '4304', 10094 descr => 'internal conversion function for ISO-8859-5 to MULE_INTERNAL', 10095 proname => 'iso_to_mic', prolang => 'c', prorettype => 'void', 10096 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'iso_to_mic', 10097 probin => '$libdir/cyrillic_and_mic' }, 10098{ oid => '4305', 10099 descr => 'internal conversion function for MULE_INTERNAL to ISO-8859-5', 10100 proname => 'mic_to_iso', prolang => 'c', prorettype => 'void', 10101 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'mic_to_iso', 10102 probin => '$libdir/cyrillic_and_mic' }, 10103{ oid => '4306', 10104 descr => 'internal conversion function for WIN1251 to MULE_INTERNAL', 10105 proname => 'win1251_to_mic', prolang => 'c', prorettype => 'void', 10106 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'win1251_to_mic', 10107 probin => '$libdir/cyrillic_and_mic' }, 10108{ oid => '4307', 10109 descr => 'internal conversion function for MULE_INTERNAL to WIN1251', 10110 proname => 'mic_to_win1251', prolang => 'c', prorettype => 'void', 10111 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'mic_to_win1251', 10112 probin => '$libdir/cyrillic_and_mic' }, 10113{ oid => '4308', 10114 descr => 'internal conversion function for WIN866 to MULE_INTERNAL', 10115 proname => 'win866_to_mic', prolang => 'c', prorettype => 'void', 10116 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'win866_to_mic', 10117 probin => '$libdir/cyrillic_and_mic' }, 10118{ oid => '4309', 10119 descr => 'internal conversion function for MULE_INTERNAL to WIN866', 10120 proname => 'mic_to_win866', prolang => 'c', prorettype => 'void', 10121 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'mic_to_win866', 10122 probin => '$libdir/cyrillic_and_mic' }, 10123{ oid => '4310', descr => 'internal conversion function for KOI8R to WIN1251', 10124 proname => 'koi8r_to_win1251', prolang => 'c', prorettype => 'void', 10125 proargtypes => 'int4 int4 cstring internal int4', 10126 prosrc => 'koi8r_to_win1251', probin => '$libdir/cyrillic_and_mic' }, 10127{ oid => '4311', descr => 'internal conversion function for WIN1251 to KOI8R', 10128 proname => 'win1251_to_koi8r', prolang => 'c', prorettype => 'void', 10129 proargtypes => 'int4 int4 cstring internal int4', 10130 prosrc => 'win1251_to_koi8r', probin => '$libdir/cyrillic_and_mic' }, 10131{ oid => '4312', descr => 'internal conversion function for KOI8R to WIN866', 10132 proname => 'koi8r_to_win866', prolang => 'c', prorettype => 'void', 10133 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'koi8r_to_win866', 10134 probin => '$libdir/cyrillic_and_mic' }, 10135{ oid => '4313', descr => 'internal conversion function for WIN866 to KOI8R', 10136 proname => 'win866_to_koi8r', prolang => 'c', prorettype => 'void', 10137 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'win866_to_koi8r', 10138 probin => '$libdir/cyrillic_and_mic' }, 10139{ oid => '4314', 10140 descr => 'internal conversion function for WIN866 to WIN1251', 10141 proname => 'win866_to_win1251', prolang => 'c', prorettype => 'void', 10142 proargtypes => 'int4 int4 cstring internal int4', 10143 prosrc => 'win866_to_win1251', probin => '$libdir/cyrillic_and_mic' }, 10144{ oid => '4315', 10145 descr => 'internal conversion function for WIN1251 to WIN866', 10146 proname => 'win1251_to_win866', prolang => 'c', prorettype => 'void', 10147 proargtypes => 'int4 int4 cstring internal int4', 10148 prosrc => 'win1251_to_win866', probin => '$libdir/cyrillic_and_mic' }, 10149{ oid => '4316', 10150 descr => 'internal conversion function for ISO-8859-5 to KOI8R', 10151 proname => 'iso_to_koi8r', prolang => 'c', prorettype => 'void', 10152 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'iso_to_koi8r', 10153 probin => '$libdir/cyrillic_and_mic' }, 10154{ oid => '4317', 10155 descr => 'internal conversion function for KOI8R to ISO-8859-5', 10156 proname => 'koi8r_to_iso', prolang => 'c', prorettype => 'void', 10157 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'koi8r_to_iso', 10158 probin => '$libdir/cyrillic_and_mic' }, 10159{ oid => '4318', 10160 descr => 'internal conversion function for ISO-8859-5 to WIN1251', 10161 proname => 'iso_to_win1251', prolang => 'c', prorettype => 'void', 10162 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'iso_to_win1251', 10163 probin => '$libdir/cyrillic_and_mic' }, 10164{ oid => '4319', 10165 descr => 'internal conversion function for WIN1251 to ISO-8859-5', 10166 proname => 'win1251_to_iso', prolang => 'c', prorettype => 'void', 10167 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'win1251_to_iso', 10168 probin => '$libdir/cyrillic_and_mic' }, 10169{ oid => '4320', 10170 descr => 'internal conversion function for ISO-8859-5 to WIN866', 10171 proname => 'iso_to_win866', prolang => 'c', prorettype => 'void', 10172 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'iso_to_win866', 10173 probin => '$libdir/cyrillic_and_mic' }, 10174{ oid => '4321', 10175 descr => 'internal conversion function for WIN866 to ISO-8859-5', 10176 proname => 'win866_to_iso', prolang => 'c', prorettype => 'void', 10177 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'win866_to_iso', 10178 probin => '$libdir/cyrillic_and_mic' }, 10179{ oid => '4322', 10180 descr => 'internal conversion function for EUC_CN to MULE_INTERNAL', 10181 proname => 'euc_cn_to_mic', prolang => 'c', prorettype => 'void', 10182 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'euc_cn_to_mic', 10183 probin => '$libdir/euc_cn_and_mic' }, 10184{ oid => '4323', 10185 descr => 'internal conversion function for MULE_INTERNAL to EUC_CN', 10186 proname => 'mic_to_euc_cn', prolang => 'c', prorettype => 'void', 10187 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'mic_to_euc_cn', 10188 probin => '$libdir/euc_cn_and_mic' }, 10189{ oid => '4324', descr => 'internal conversion function for EUC_JP to SJIS', 10190 proname => 'euc_jp_to_sjis', prolang => 'c', prorettype => 'void', 10191 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'euc_jp_to_sjis', 10192 probin => '$libdir/euc_jp_and_sjis' }, 10193{ oid => '4325', descr => 'internal conversion function for SJIS to EUC_JP', 10194 proname => 'sjis_to_euc_jp', prolang => 'c', prorettype => 'void', 10195 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'sjis_to_euc_jp', 10196 probin => '$libdir/euc_jp_and_sjis' }, 10197{ oid => '4326', 10198 descr => 'internal conversion function for EUC_JP to MULE_INTERNAL', 10199 proname => 'euc_jp_to_mic', prolang => 'c', prorettype => 'void', 10200 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'euc_jp_to_mic', 10201 probin => '$libdir/euc_jp_and_sjis' }, 10202{ oid => '4327', 10203 descr => 'internal conversion function for SJIS to MULE_INTERNAL', 10204 proname => 'sjis_to_mic', prolang => 'c', prorettype => 'void', 10205 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'sjis_to_mic', 10206 probin => '$libdir/euc_jp_and_sjis' }, 10207{ oid => '4328', 10208 descr => 'internal conversion function for MULE_INTERNAL to EUC_JP', 10209 proname => 'mic_to_euc_jp', prolang => 'c', prorettype => 'void', 10210 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'mic_to_euc_jp', 10211 probin => '$libdir/euc_jp_and_sjis' }, 10212{ oid => '4329', 10213 descr => 'internal conversion function for MULE_INTERNAL to SJIS', 10214 proname => 'mic_to_sjis', prolang => 'c', prorettype => 'void', 10215 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'mic_to_sjis', 10216 probin => '$libdir/euc_jp_and_sjis' }, 10217{ oid => '4330', 10218 descr => 'internal conversion function for EUC_KR to MULE_INTERNAL', 10219 proname => 'euc_kr_to_mic', prolang => 'c', prorettype => 'void', 10220 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'euc_kr_to_mic', 10221 probin => '$libdir/euc_kr_and_mic' }, 10222{ oid => '4331', 10223 descr => 'internal conversion function for MULE_INTERNAL to EUC_KR', 10224 proname => 'mic_to_euc_kr', prolang => 'c', prorettype => 'void', 10225 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'mic_to_euc_kr', 10226 probin => '$libdir/euc_kr_and_mic' }, 10227{ oid => '4332', descr => 'internal conversion function for EUC_TW to BIG5', 10228 proname => 'euc_tw_to_big5', prolang => 'c', prorettype => 'void', 10229 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'euc_tw_to_big5', 10230 probin => '$libdir/euc_tw_and_big5' }, 10231{ oid => '4333', descr => 'internal conversion function for BIG5 to EUC_TW', 10232 proname => 'big5_to_euc_tw', prolang => 'c', prorettype => 'void', 10233 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'big5_to_euc_tw', 10234 probin => '$libdir/euc_tw_and_big5' }, 10235{ oid => '4334', 10236 descr => 'internal conversion function for EUC_TW to MULE_INTERNAL', 10237 proname => 'euc_tw_to_mic', prolang => 'c', prorettype => 'void', 10238 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'euc_tw_to_mic', 10239 probin => '$libdir/euc_tw_and_big5' }, 10240{ oid => '4335', 10241 descr => 'internal conversion function for BIG5 to MULE_INTERNAL', 10242 proname => 'big5_to_mic', prolang => 'c', prorettype => 'void', 10243 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'big5_to_mic', 10244 probin => '$libdir/euc_tw_and_big5' }, 10245{ oid => '4336', 10246 descr => 'internal conversion function for MULE_INTERNAL to EUC_TW', 10247 proname => 'mic_to_euc_tw', prolang => 'c', prorettype => 'void', 10248 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'mic_to_euc_tw', 10249 probin => '$libdir/euc_tw_and_big5' }, 10250{ oid => '4337', 10251 descr => 'internal conversion function for MULE_INTERNAL to BIG5', 10252 proname => 'mic_to_big5', prolang => 'c', prorettype => 'void', 10253 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'mic_to_big5', 10254 probin => '$libdir/euc_tw_and_big5' }, 10255{ oid => '4338', 10256 descr => 'internal conversion function for LATIN2 to MULE_INTERNAL', 10257 proname => 'latin2_to_mic', prolang => 'c', prorettype => 'void', 10258 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'latin2_to_mic', 10259 probin => '$libdir/latin2_and_win1250' }, 10260{ oid => '4339', 10261 descr => 'internal conversion function for MULE_INTERNAL to LATIN2', 10262 proname => 'mic_to_latin2', prolang => 'c', prorettype => 'void', 10263 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'mic_to_latin2', 10264 probin => '$libdir/latin2_and_win1250' }, 10265{ oid => '4340', 10266 descr => 'internal conversion function for WIN1250 to MULE_INTERNAL', 10267 proname => 'win1250_to_mic', prolang => 'c', prorettype => 'void', 10268 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'win1250_to_mic', 10269 probin => '$libdir/latin2_and_win1250' }, 10270{ oid => '4341', 10271 descr => 'internal conversion function for MULE_INTERNAL to WIN1250', 10272 proname => 'mic_to_win1250', prolang => 'c', prorettype => 'void', 10273 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'mic_to_win1250', 10274 probin => '$libdir/latin2_and_win1250' }, 10275{ oid => '4342', 10276 descr => 'internal conversion function for LATIN2 to WIN1250', 10277 proname => 'latin2_to_win1250', prolang => 'c', prorettype => 'void', 10278 proargtypes => 'int4 int4 cstring internal int4', 10279 prosrc => 'latin2_to_win1250', probin => '$libdir/latin2_and_win1250' }, 10280{ oid => '4343', 10281 descr => 'internal conversion function for WIN1250 to LATIN2', 10282 proname => 'win1250_to_latin2', prolang => 'c', prorettype => 'void', 10283 proargtypes => 'int4 int4 cstring internal int4', 10284 prosrc => 'win1250_to_latin2', probin => '$libdir/latin2_and_win1250' }, 10285{ oid => '4344', 10286 descr => 'internal conversion function for LATIN1 to MULE_INTERNAL', 10287 proname => 'latin1_to_mic', prolang => 'c', prorettype => 'void', 10288 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'latin1_to_mic', 10289 probin => '$libdir/latin_and_mic' }, 10290{ oid => '4345', 10291 descr => 'internal conversion function for MULE_INTERNAL to LATIN1', 10292 proname => 'mic_to_latin1', prolang => 'c', prorettype => 'void', 10293 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'mic_to_latin1', 10294 probin => '$libdir/latin_and_mic' }, 10295{ oid => '4346', 10296 descr => 'internal conversion function for LATIN3 to MULE_INTERNAL', 10297 proname => 'latin3_to_mic', prolang => 'c', prorettype => 'void', 10298 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'latin3_to_mic', 10299 probin => '$libdir/latin_and_mic' }, 10300{ oid => '4347', 10301 descr => 'internal conversion function for MULE_INTERNAL to LATIN3', 10302 proname => 'mic_to_latin3', prolang => 'c', prorettype => 'void', 10303 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'mic_to_latin3', 10304 probin => '$libdir/latin_and_mic' }, 10305{ oid => '4348', 10306 descr => 'internal conversion function for LATIN4 to MULE_INTERNAL', 10307 proname => 'latin4_to_mic', prolang => 'c', prorettype => 'void', 10308 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'latin4_to_mic', 10309 probin => '$libdir/latin_and_mic' }, 10310{ oid => '4349', 10311 descr => 'internal conversion function for MULE_INTERNAL to LATIN4', 10312 proname => 'mic_to_latin4', prolang => 'c', prorettype => 'void', 10313 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'mic_to_latin4', 10314 probin => '$libdir/latin_and_mic' }, 10315{ oid => '4350', 10316 descr => 'internal conversion function for SQL_ASCII to UTF8', 10317 proname => 'ascii_to_utf8', prolang => 'c', prorettype => 'void', 10318 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'ascii_to_utf8', 10319 probin => '$libdir/utf8_and_ascii' }, 10320{ oid => '4351', 10321 descr => 'internal conversion function for UTF8 to SQL_ASCII', 10322 proname => 'utf8_to_ascii', prolang => 'c', prorettype => 'void', 10323 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'utf8_to_ascii', 10324 probin => '$libdir/utf8_and_ascii' }, 10325{ oid => '4352', descr => 'internal conversion function for BIG5 to UTF8', 10326 proname => 'big5_to_utf8', prolang => 'c', prorettype => 'void', 10327 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'big5_to_utf8', 10328 probin => '$libdir/utf8_and_big5' }, 10329{ oid => '4353', descr => 'internal conversion function for UTF8 to BIG5', 10330 proname => 'utf8_to_big5', prolang => 'c', prorettype => 'void', 10331 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'utf8_to_big5', 10332 probin => '$libdir/utf8_and_big5' }, 10333{ oid => '4354', descr => 'internal conversion function for UTF8 to KOI8R', 10334 proname => 'utf8_to_koi8r', prolang => 'c', prorettype => 'void', 10335 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'utf8_to_koi8r', 10336 probin => '$libdir/utf8_and_cyrillic' }, 10337{ oid => '4355', descr => 'internal conversion function for KOI8R to UTF8', 10338 proname => 'koi8r_to_utf8', prolang => 'c', prorettype => 'void', 10339 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'koi8r_to_utf8', 10340 probin => '$libdir/utf8_and_cyrillic' }, 10341{ oid => '4356', descr => 'internal conversion function for UTF8 to KOI8U', 10342 proname => 'utf8_to_koi8u', prolang => 'c', prorettype => 'void', 10343 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'utf8_to_koi8u', 10344 probin => '$libdir/utf8_and_cyrillic' }, 10345{ oid => '4357', descr => 'internal conversion function for KOI8U to UTF8', 10346 proname => 'koi8u_to_utf8', prolang => 'c', prorettype => 'void', 10347 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'koi8u_to_utf8', 10348 probin => '$libdir/utf8_and_cyrillic' }, 10349{ oid => '4358', descr => 'internal conversion function for UTF8 to WIN', 10350 proname => 'utf8_to_win', prolang => 'c', prorettype => 'void', 10351 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'utf8_to_win', 10352 probin => '$libdir/utf8_and_win' }, 10353{ oid => '4359', descr => 'internal conversion function for WIN to UTF8', 10354 proname => 'win_to_utf8', prolang => 'c', prorettype => 'void', 10355 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'win_to_utf8', 10356 probin => '$libdir/utf8_and_win' }, 10357{ oid => '4360', descr => 'internal conversion function for EUC_CN to UTF8', 10358 proname => 'euc_cn_to_utf8', prolang => 'c', prorettype => 'void', 10359 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'euc_cn_to_utf8', 10360 probin => '$libdir/utf8_and_euc_cn' }, 10361{ oid => '4361', descr => 'internal conversion function for UTF8 to EUC_CN', 10362 proname => 'utf8_to_euc_cn', prolang => 'c', prorettype => 'void', 10363 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'utf8_to_euc_cn', 10364 probin => '$libdir/utf8_and_euc_cn' }, 10365{ oid => '4362', descr => 'internal conversion function for EUC_JP to UTF8', 10366 proname => 'euc_jp_to_utf8', prolang => 'c', prorettype => 'void', 10367 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'euc_jp_to_utf8', 10368 probin => '$libdir/utf8_and_euc_jp' }, 10369{ oid => '4363', descr => 'internal conversion function for UTF8 to EUC_JP', 10370 proname => 'utf8_to_euc_jp', prolang => 'c', prorettype => 'void', 10371 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'utf8_to_euc_jp', 10372 probin => '$libdir/utf8_and_euc_jp' }, 10373{ oid => '4364', descr => 'internal conversion function for EUC_KR to UTF8', 10374 proname => 'euc_kr_to_utf8', prolang => 'c', prorettype => 'void', 10375 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'euc_kr_to_utf8', 10376 probin => '$libdir/utf8_and_euc_kr' }, 10377{ oid => '4365', descr => 'internal conversion function for UTF8 to EUC_KR', 10378 proname => 'utf8_to_euc_kr', prolang => 'c', prorettype => 'void', 10379 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'utf8_to_euc_kr', 10380 probin => '$libdir/utf8_and_euc_kr' }, 10381{ oid => '4366', descr => 'internal conversion function for EUC_TW to UTF8', 10382 proname => 'euc_tw_to_utf8', prolang => 'c', prorettype => 'void', 10383 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'euc_tw_to_utf8', 10384 probin => '$libdir/utf8_and_euc_tw' }, 10385{ oid => '4367', descr => 'internal conversion function for UTF8 to EUC_TW', 10386 proname => 'utf8_to_euc_tw', prolang => 'c', prorettype => 'void', 10387 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'utf8_to_euc_tw', 10388 probin => '$libdir/utf8_and_euc_tw' }, 10389{ oid => '4368', descr => 'internal conversion function for GB18030 to UTF8', 10390 proname => 'gb18030_to_utf8', prolang => 'c', prorettype => 'void', 10391 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'gb18030_to_utf8', 10392 probin => '$libdir/utf8_and_gb18030' }, 10393{ oid => '4369', descr => 'internal conversion function for UTF8 to GB18030', 10394 proname => 'utf8_to_gb18030', prolang => 'c', prorettype => 'void', 10395 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'utf8_to_gb18030', 10396 probin => '$libdir/utf8_and_gb18030' }, 10397{ oid => '4370', descr => 'internal conversion function for GBK to UTF8', 10398 proname => 'gbk_to_utf8', prolang => 'c', prorettype => 'void', 10399 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'gbk_to_utf8', 10400 probin => '$libdir/utf8_and_gbk' }, 10401{ oid => '4371', descr => 'internal conversion function for UTF8 to GBK', 10402 proname => 'utf8_to_gbk', prolang => 'c', prorettype => 'void', 10403 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'utf8_to_gbk', 10404 probin => '$libdir/utf8_and_gbk' }, 10405{ oid => '4372', 10406 descr => 'internal conversion function for UTF8 to ISO-8859 2-16', 10407 proname => 'utf8_to_iso8859', prolang => 'c', prorettype => 'void', 10408 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'utf8_to_iso8859', 10409 probin => '$libdir/utf8_and_iso8859' }, 10410{ oid => '4373', 10411 descr => 'internal conversion function for ISO-8859 2-16 to UTF8', 10412 proname => 'iso8859_to_utf8', prolang => 'c', prorettype => 'void', 10413 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'iso8859_to_utf8', 10414 probin => '$libdir/utf8_and_iso8859' }, 10415{ oid => '4374', descr => 'internal conversion function for LATIN1 to UTF8', 10416 proname => 'iso8859_1_to_utf8', prolang => 'c', prorettype => 'void', 10417 proargtypes => 'int4 int4 cstring internal int4', 10418 prosrc => 'iso8859_1_to_utf8', probin => '$libdir/utf8_and_iso8859_1' }, 10419{ oid => '4375', descr => 'internal conversion function for UTF8 to LATIN1', 10420 proname => 'utf8_to_iso8859_1', prolang => 'c', prorettype => 'void', 10421 proargtypes => 'int4 int4 cstring internal int4', 10422 prosrc => 'utf8_to_iso8859_1', probin => '$libdir/utf8_and_iso8859_1' }, 10423{ oid => '4376', descr => 'internal conversion function for JOHAB to UTF8', 10424 proname => 'johab_to_utf8', prolang => 'c', prorettype => 'void', 10425 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'johab_to_utf8', 10426 probin => '$libdir/utf8_and_johab' }, 10427{ oid => '4377', descr => 'internal conversion function for UTF8 to JOHAB', 10428 proname => 'utf8_to_johab', prolang => 'c', prorettype => 'void', 10429 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'utf8_to_johab', 10430 probin => '$libdir/utf8_and_johab' }, 10431{ oid => '4378', descr => 'internal conversion function for SJIS to UTF8', 10432 proname => 'sjis_to_utf8', prolang => 'c', prorettype => 'void', 10433 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'sjis_to_utf8', 10434 probin => '$libdir/utf8_and_sjis' }, 10435{ oid => '4379', descr => 'internal conversion function for UTF8 to SJIS', 10436 proname => 'utf8_to_sjis', prolang => 'c', prorettype => 'void', 10437 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'utf8_to_sjis', 10438 probin => '$libdir/utf8_and_sjis' }, 10439{ oid => '4380', descr => 'internal conversion function for UHC to UTF8', 10440 proname => 'uhc_to_utf8', prolang => 'c', prorettype => 'void', 10441 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'uhc_to_utf8', 10442 probin => '$libdir/utf8_and_uhc' }, 10443{ oid => '4381', descr => 'internal conversion function for UTF8 to UHC', 10444 proname => 'utf8_to_uhc', prolang => 'c', prorettype => 'void', 10445 proargtypes => 'int4 int4 cstring internal int4', prosrc => 'utf8_to_uhc', 10446 probin => '$libdir/utf8_and_uhc' }, 10447{ oid => '4382', 10448 descr => 'internal conversion function for EUC_JIS_2004 to UTF8', 10449 proname => 'euc_jis_2004_to_utf8', prolang => 'c', prorettype => 'void', 10450 proargtypes => 'int4 int4 cstring internal int4', 10451 prosrc => 'euc_jis_2004_to_utf8', probin => '$libdir/utf8_and_euc2004' }, 10452{ oid => '4383', 10453 descr => 'internal conversion function for UTF8 to EUC_JIS_2004', 10454 proname => 'utf8_to_euc_jis_2004', prolang => 'c', prorettype => 'void', 10455 proargtypes => 'int4 int4 cstring internal int4', 10456 prosrc => 'utf8_to_euc_jis_2004', probin => '$libdir/utf8_and_euc2004' }, 10457{ oid => '4384', 10458 descr => 'internal conversion function for SHIFT_JIS_2004 to UTF8', 10459 proname => 'shift_jis_2004_to_utf8', prolang => 'c', prorettype => 'void', 10460 proargtypes => 'int4 int4 cstring internal int4', 10461 prosrc => 'shift_jis_2004_to_utf8', probin => '$libdir/utf8_and_sjis2004' }, 10462{ oid => '4385', 10463 descr => 'internal conversion function for UTF8 to SHIFT_JIS_2004', 10464 proname => 'utf8_to_shift_jis_2004', prolang => 'c', prorettype => 'void', 10465 proargtypes => 'int4 int4 cstring internal int4', 10466 prosrc => 'utf8_to_shift_jis_2004', probin => '$libdir/utf8_and_sjis2004' }, 10467{ oid => '4386', 10468 descr => 'internal conversion function for EUC_JIS_2004 to SHIFT_JIS_2004', 10469 proname => 'euc_jis_2004_to_shift_jis_2004', prolang => 'c', 10470 prorettype => 'void', proargtypes => 'int4 int4 cstring internal int4', 10471 prosrc => 'euc_jis_2004_to_shift_jis_2004', 10472 probin => '$libdir/euc2004_sjis2004' }, 10473{ oid => '4387', 10474 descr => 'internal conversion function for SHIFT_JIS_2004 to EUC_JIS_2004', 10475 proname => 'shift_jis_2004_to_euc_jis_2004', prolang => 'c', 10476 prorettype => 'void', proargtypes => 'int4 int4 cstring internal int4', 10477 prosrc => 'shift_jis_2004_to_euc_jis_2004', 10478 probin => '$libdir/euc2004_sjis2004' }, 10479 10480# replication/origin.h 10481{ oid => '6003', descr => 'create a replication origin', 10482 proname => 'pg_replication_origin_create', provolatile => 'v', 10483 proparallel => 'u', prorettype => 'oid', proargtypes => 'text', 10484 prosrc => 'pg_replication_origin_create' }, 10485 10486{ oid => '6004', descr => 'drop replication origin identified by its name', 10487 proname => 'pg_replication_origin_drop', provolatile => 'v', 10488 proparallel => 'u', prorettype => 'void', proargtypes => 'text', 10489 prosrc => 'pg_replication_origin_drop' }, 10490 10491{ oid => '6005', 10492 descr => 'translate the replication origin\'s name to its id', 10493 proname => 'pg_replication_origin_oid', provolatile => 's', 10494 prorettype => 'oid', proargtypes => 'text', 10495 prosrc => 'pg_replication_origin_oid' }, 10496 10497{ oid => '6006', 10498 descr => 'configure session to maintain replication progress tracking for the passed in origin', 10499 proname => 'pg_replication_origin_session_setup', provolatile => 'v', 10500 proparallel => 'u', prorettype => 'void', proargtypes => 'text', 10501 prosrc => 'pg_replication_origin_session_setup' }, 10502 10503{ oid => '6007', descr => 'teardown configured replication progress tracking', 10504 proname => 'pg_replication_origin_session_reset', provolatile => 'v', 10505 proparallel => 'u', prorettype => 'void', proargtypes => '', 10506 prosrc => 'pg_replication_origin_session_reset' }, 10507 10508{ oid => '6008', 10509 descr => 'is a replication origin configured in this session', 10510 proname => 'pg_replication_origin_session_is_setup', provolatile => 'v', 10511 proparallel => 'r', prorettype => 'bool', proargtypes => '', 10512 prosrc => 'pg_replication_origin_session_is_setup' }, 10513 10514{ oid => '6009', 10515 descr => 'get the replication progress of the current session', 10516 proname => 'pg_replication_origin_session_progress', provolatile => 'v', 10517 proparallel => 'u', prorettype => 'pg_lsn', proargtypes => 'bool', 10518 prosrc => 'pg_replication_origin_session_progress' }, 10519 10520{ oid => '6010', descr => 'setup the transaction\'s origin lsn and timestamp', 10521 proname => 'pg_replication_origin_xact_setup', provolatile => 'v', 10522 proparallel => 'r', prorettype => 'void', proargtypes => 'pg_lsn timestamptz', 10523 prosrc => 'pg_replication_origin_xact_setup' }, 10524 10525{ oid => '6011', descr => 'reset the transaction\'s origin lsn and timestamp', 10526 proname => 'pg_replication_origin_xact_reset', provolatile => 'v', 10527 proparallel => 'r', prorettype => 'void', proargtypes => '', 10528 prosrc => 'pg_replication_origin_xact_reset' }, 10529 10530{ oid => '6012', descr => 'advance replication origin to specific location', 10531 proname => 'pg_replication_origin_advance', provolatile => 'v', 10532 proparallel => 'u', prorettype => 'void', proargtypes => 'text pg_lsn', 10533 prosrc => 'pg_replication_origin_advance' }, 10534 10535{ oid => '6013', 10536 descr => 'get an individual replication origin\'s replication progress', 10537 proname => 'pg_replication_origin_progress', provolatile => 'v', 10538 proparallel => 'u', prorettype => 'pg_lsn', proargtypes => 'text bool', 10539 prosrc => 'pg_replication_origin_progress' }, 10540 10541{ oid => '6014', descr => 'get progress for all replication origins', 10542 proname => 'pg_show_replication_origin_status', prorows => '100', 10543 proisstrict => 'f', proretset => 't', provolatile => 'v', proparallel => 'r', 10544 prorettype => 'record', proargtypes => '', 10545 proallargtypes => '{oid,text,pg_lsn,pg_lsn}', proargmodes => '{o,o,o,o}', 10546 proargnames => '{local_id, external_id, remote_lsn, local_lsn}', 10547 prosrc => 'pg_show_replication_origin_status' }, 10548 10549# publications 10550{ oid => '6119', descr => 'get OIDs of tables in a publication', 10551 proname => 'pg_get_publication_tables', prorows => '1000', proretset => 't', 10552 provolatile => 's', prorettype => 'oid', proargtypes => 'text', 10553 proallargtypes => '{text,oid}', proargmodes => '{i,o}', 10554 proargnames => '{pubname,relid}', prosrc => 'pg_get_publication_tables' }, 10555{ oid => '6121', 10556 descr => 'returns whether a relation can be part of a publication', 10557 proname => 'pg_relation_is_publishable', provolatile => 's', 10558 prorettype => 'bool', proargtypes => 'regclass', 10559 prosrc => 'pg_relation_is_publishable' }, 10560 10561# rls 10562{ oid => '3298', 10563 descr => 'row security for current context active on table by table oid', 10564 proname => 'row_security_active', provolatile => 's', prorettype => 'bool', 10565 proargtypes => 'oid', prosrc => 'row_security_active' }, 10566{ oid => '3299', 10567 descr => 'row security for current context active on table by table name', 10568 proname => 'row_security_active', provolatile => 's', prorettype => 'bool', 10569 proargtypes => 'text', prosrc => 'row_security_active_name' }, 10570 10571# pg_config 10572{ oid => '3400', descr => 'pg_config binary as a function', 10573 proname => 'pg_config', prorows => '23', proretset => 't', provolatile => 's', 10574 proparallel => 'r', prorettype => 'record', proargtypes => '', 10575 proallargtypes => '{text,text}', proargmodes => '{o,o}', 10576 proargnames => '{name,setting}', prosrc => 'pg_config' }, 10577 10578# pg_controldata related functions 10579{ oid => '3441', 10580 descr => 'pg_controldata general state information as a function', 10581 proname => 'pg_control_system', provolatile => 'v', prorettype => 'record', 10582 proargtypes => '', proallargtypes => '{int4,int4,int8,timestamptz}', 10583 proargmodes => '{o,o,o,o}', 10584 proargnames => '{pg_control_version,catalog_version_no,system_identifier,pg_control_last_modified}', 10585 prosrc => 'pg_control_system' }, 10586 10587{ oid => '3442', 10588 descr => 'pg_controldata checkpoint state information as a function', 10589 proname => 'pg_control_checkpoint', provolatile => 'v', 10590 prorettype => 'record', proargtypes => '', 10591 proallargtypes => '{pg_lsn,pg_lsn,text,int4,int4,bool,text,oid,xid,xid,xid,oid,xid,xid,oid,xid,xid,timestamptz}', 10592 proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o}', 10593 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}', 10594 prosrc => 'pg_control_checkpoint' }, 10595 10596{ oid => '3443', 10597 descr => 'pg_controldata recovery state information as a function', 10598 proname => 'pg_control_recovery', provolatile => 'v', prorettype => 'record', 10599 proargtypes => '', proallargtypes => '{pg_lsn,int4,pg_lsn,pg_lsn,bool}', 10600 proargmodes => '{o,o,o,o,o}', 10601 proargnames => '{min_recovery_end_lsn,min_recovery_end_timeline,backup_start_lsn,backup_end_lsn,end_of_backup_record_required}', 10602 prosrc => 'pg_control_recovery' }, 10603 10604{ oid => '3444', 10605 descr => 'pg_controldata init state information as a function', 10606 proname => 'pg_control_init', provolatile => 'v', prorettype => 'record', 10607 proargtypes => '', 10608 proallargtypes => '{int4,int4,int4,int4,int4,int4,int4,int4,int4,bool,bool,int4}', 10609 proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o}', 10610 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}', 10611 prosrc => 'pg_control_init' }, 10612 10613# collation management functions 10614{ oid => '3445', descr => 'import collations from operating system', 10615 proname => 'pg_import_system_collations', procost => '100', 10616 provolatile => 'v', proparallel => 'u', prorettype => 'int4', 10617 proargtypes => 'regnamespace', prosrc => 'pg_import_system_collations' }, 10618 10619{ oid => '3448', 10620 descr => 'get actual version of collation from operating system', 10621 proname => 'pg_collation_actual_version', procost => '100', 10622 provolatile => 'v', prorettype => 'text', proargtypes => 'oid', 10623 prosrc => 'pg_collation_actual_version' }, 10624 10625# system management/monitoring related functions 10626{ oid => '3353', descr => 'list files in the log directory', 10627 proname => 'pg_ls_logdir', procost => '10', prorows => '20', proretset => 't', 10628 provolatile => 'v', prorettype => 'record', proargtypes => '', 10629 proallargtypes => '{text,int8,timestamptz}', proargmodes => '{o,o,o}', 10630 proargnames => '{name,size,modification}', prosrc => 'pg_ls_logdir' }, 10631{ oid => '3354', descr => 'list of files in the WAL directory', 10632 proname => 'pg_ls_waldir', procost => '10', prorows => '20', proretset => 't', 10633 provolatile => 'v', prorettype => 'record', proargtypes => '', 10634 proallargtypes => '{text,int8,timestamptz}', proargmodes => '{o,o,o}', 10635 proargnames => '{name,size,modification}', prosrc => 'pg_ls_waldir' }, 10636{ oid => '5031', descr => 'list of files in the archive_status directory', 10637 proname => 'pg_ls_archive_statusdir', procost => '10', prorows => '20', 10638 proretset => 't', provolatile => 'v', prorettype => 'record', 10639 proargtypes => '', proallargtypes => '{text,int8,timestamptz}', 10640 proargmodes => '{o,o,o}', proargnames => '{name,size,modification}', 10641 prosrc => 'pg_ls_archive_statusdir' }, 10642{ oid => '5029', descr => 'list files in the pgsql_tmp directory', 10643 proname => 'pg_ls_tmpdir', procost => '10', prorows => '20', proretset => 't', 10644 provolatile => 'v', prorettype => 'record', proargtypes => '', 10645 proallargtypes => '{text,int8,timestamptz}', proargmodes => '{o,o,o}', 10646 proargnames => '{name,size,modification}', prosrc => 'pg_ls_tmpdir_noargs' }, 10647{ oid => '5030', descr => 'list files in the pgsql_tmp directory', 10648 proname => 'pg_ls_tmpdir', procost => '10', prorows => '20', proretset => 't', 10649 provolatile => 'v', prorettype => 'record', proargtypes => 'oid', 10650 proallargtypes => '{oid,text,int8,timestamptz}', proargmodes => '{i,o,o,o}', 10651 proargnames => '{tablespace,name,size,modification}', 10652 prosrc => 'pg_ls_tmpdir_1arg' }, 10653 10654# hash partitioning constraint function 10655{ oid => '5028', descr => 'hash partition CHECK constraint', 10656 proname => 'satisfies_hash_partition', provariadic => 'any', 10657 proisstrict => 'f', prorettype => 'bool', proargtypes => 'oid int4 int4 any', 10658 proargmodes => '{i,i,i,v}', prosrc => 'satisfies_hash_partition' }, 10659 10660# information about a partition tree 10661{ oid => '3423', descr => 'view partition tree tables', 10662 proname => 'pg_partition_tree', prorows => '1000', proretset => 't', 10663 provolatile => 'v', prorettype => 'record', proargtypes => 'regclass', 10664 proallargtypes => '{regclass,regclass,regclass,bool,int4}', 10665 proargmodes => '{i,o,o,o,o}', 10666 proargnames => '{rootrelid,relid,parentrelid,isleaf,level}', 10667 prosrc => 'pg_partition_tree' }, 10668{ oid => '3425', descr => 'view ancestors of the partition', 10669 proname => 'pg_partition_ancestors', prorows => '10', proretset => 't', 10670 provolatile => 'v', prorettype => 'regclass', proargtypes => 'regclass', 10671 proallargtypes => '{regclass,regclass}', proargmodes => '{i,o}', 10672 proargnames => '{partitionid,relid}', prosrc => 'pg_partition_ancestors' }, 10673 10674# function to get the top-most partition root parent 10675{ oid => '3424', descr => 'get top-most partition root parent', 10676 proname => 'pg_partition_root', prorettype => 'regclass', 10677 proargtypes => 'regclass', prosrc => 'pg_partition_root' }, 10678 10679] 10680