With the attachments this time.

-John Naylor
#----------------------------------------------------------------------
#
# pg_aggregate.dat
#    Initial contents of the pg_aggregate system relation.
#
# Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California
#
# src/include/catalog/pg_aggregate.dat
#
#----------------------------------------------------------------------

[

# avg
{ aggfnoid => '2100', aggtransfn => 'int8_avg_accum',
  aggfinalfn => 'numeric_poly_avg', aggcombinefn => 'int8_avg_combine',
  aggserialfn => 'int8_avg_serialize', aggdeserialfn => 'int8_avg_deserialize',
  aggmtransfn => 'int8_avg_accum', aggminvtransfn => 'int8_avg_accum_inv',
  aggmfinalfn => 'numeric_poly_avg', aggtranstype => '2281',
  aggtransspace => '48', aggmtranstype => '2281', aggmtransspace => '48' },
{ aggfnoid => '2101', aggtransfn => 'int4_avg_accum', aggfinalfn => 'int8_avg',
  aggcombinefn => 'int4_avg_combine', aggmtransfn => 'int4_avg_accum',
  aggminvtransfn => 'int4_avg_accum_inv', aggmfinalfn => 'int8_avg',
  aggtranstype => '1016', aggmtranstype => '1016', agginitval => '{0,0}',
  aggminitval => '{0,0}' },
{ aggfnoid => '2102', aggtransfn => 'int2_avg_accum', aggfinalfn => 'int8_avg',
  aggcombinefn => 'int4_avg_combine', aggmtransfn => 'int2_avg_accum',
  aggminvtransfn => 'int2_avg_accum_inv', aggmfinalfn => 'int8_avg',
  aggtranstype => '1016', aggmtranstype => '1016', agginitval => '{0,0}',
  aggminitval => '{0,0}' },
{ aggfnoid => '2103', aggtransfn => 'numeric_avg_accum',
  aggfinalfn => 'numeric_avg', aggcombinefn => 'numeric_avg_combine',
  aggserialfn => 'numeric_avg_serialize',
  aggdeserialfn => 'numeric_avg_deserialize',
  aggmtransfn => 'numeric_avg_accum', aggminvtransfn => 'numeric_accum_inv',
  aggmfinalfn => 'numeric_avg', aggtranstype => '2281', aggtransspace => '128',
  aggmtranstype => '2281', aggmtransspace => '128' },
{ aggfnoid => '2104', aggtransfn => 'float4_accum', aggfinalfn => 'float8_avg',
  aggcombinefn => 'float8_combine', aggtranstype => '1022',
  agginitval => '{0,0,0}' },
{ aggfnoid => '2105', aggtransfn => 'float8_accum', aggfinalfn => 'float8_avg',
  aggcombinefn => 'float8_combine', aggtranstype => '1022',
  agginitval => '{0,0,0}' },
{ aggfnoid => '2106', aggtransfn => 'interval_accum',
  aggfinalfn => 'interval_avg', aggcombinefn => 'interval_combine',
  aggmtransfn => 'interval_accum', aggminvtransfn => 'interval_accum_inv',
  aggmfinalfn => 'interval_avg', aggtranstype => '1187',
  aggmtranstype => '1187', agginitval => '{0 second,0 second}',
  aggminitval => '{0 second,0 second}' },

# sum
{ aggfnoid => '2107', aggtransfn => 'int8_avg_accum',
  aggfinalfn => 'numeric_poly_sum', aggcombinefn => 'int8_avg_combine',
  aggserialfn => 'int8_avg_serialize', aggdeserialfn => 'int8_avg_deserialize',
  aggmtransfn => 'int8_avg_accum', aggminvtransfn => 'int8_avg_accum_inv',
  aggmfinalfn => 'numeric_poly_sum', aggtranstype => '2281',
  aggtransspace => '48', aggmtranstype => '2281', aggmtransspace => '48' },
{ aggfnoid => '2108', aggtransfn => 'int4_sum', aggcombinefn => 'int8pl',
  aggmtransfn => 'int4_avg_accum', aggminvtransfn => 'int4_avg_accum_inv',
  aggmfinalfn => 'int2int4_sum', aggtranstype => '20', aggmtranstype => '1016',
  aggminitval => '{0,0}' },
{ aggfnoid => '2109', aggtransfn => 'int2_sum', aggcombinefn => 'int8pl',
  aggmtransfn => 'int2_avg_accum', aggminvtransfn => 'int2_avg_accum_inv',
  aggmfinalfn => 'int2int4_sum', aggtranstype => '20', aggmtranstype => '1016',
  aggminitval => '{0,0}' },
{ aggfnoid => '2110', aggtransfn => 'float4pl', aggcombinefn => 'float4pl',
  aggtranstype => '700' },
{ aggfnoid => '2111', aggtransfn => 'float8pl', aggcombinefn => 'float8pl',
  aggtranstype => '701' },
{ aggfnoid => '2112', aggtransfn => 'cash_pl', aggcombinefn => 'cash_pl',
  aggmtransfn => 'cash_pl', aggminvtransfn => 'cash_mi', aggtranstype => '790',
  aggmtranstype => '790' },
{ aggfnoid => '2113', aggtransfn => 'interval_pl',
  aggcombinefn => 'interval_pl', aggmtransfn => 'interval_pl',
  aggminvtransfn => 'interval_mi', aggtranstype => '1186',
  aggmtranstype => '1186' },
{ aggfnoid => '2114', aggtransfn => 'numeric_avg_accum',
  aggfinalfn => 'numeric_sum', aggcombinefn => 'numeric_avg_combine',
  aggserialfn => 'numeric_avg_serialize',
  aggdeserialfn => 'numeric_avg_deserialize',
  aggmtransfn => 'numeric_avg_accum', aggminvtransfn => 'numeric_accum_inv',
  aggmfinalfn => 'numeric_sum', aggtranstype => '2281', aggtransspace => '128',
  aggmtranstype => '2281', aggmtransspace => '128' },

# max
{ aggfnoid => '2115', aggtransfn => 'int8larger', aggcombinefn => 'int8larger',
  aggsortop => '413', aggtranstype => '20' },
{ aggfnoid => '2116', aggtransfn => 'int4larger', aggcombinefn => 'int4larger',
  aggsortop => '521', aggtranstype => '23' },
{ aggfnoid => '2117', aggtransfn => 'int2larger', aggcombinefn => 'int2larger',
  aggsortop => '520', aggtranstype => '21' },
{ aggfnoid => '2118', aggtransfn => 'oidlarger', aggcombinefn => 'oidlarger',
  aggsortop => '610', aggtranstype => '26' },
{ aggfnoid => '2119', aggtransfn => 'float4larger',
  aggcombinefn => 'float4larger', aggsortop => '623', aggtranstype => '700' },
{ aggfnoid => '2120', aggtransfn => 'float8larger',
  aggcombinefn => 'float8larger', aggsortop => '674', aggtranstype => '701' },
{ aggfnoid => '2121', aggtransfn => 'int4larger', aggcombinefn => 'int4larger',
  aggsortop => '563', aggtranstype => '702' },
#----------------------------------------------------------------------
#
# pg_am.dat
#    Initial contents of the pg_am system relation.
#
# Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California
#
# src/include/catalog/pg_am.dat
#
#----------------------------------------------------------------------

[

{ oid => '403', oid_symbol => 'BTREE_AM_OID',
  descr => 'b-tree index access method',
  amname => 'btree', amhandler => 'bthandler', amtype => 'i' },
{ oid => '405', oid_symbol => 'HASH_AM_OID',
  descr => 'hash index access method',
  amname => 'hash', amhandler => 'hashhandler', amtype => 'i' },
{ oid => '783', oid_symbol => 'GIST_AM_OID',
  descr => 'GiST index access method',
  amname => 'gist', amhandler => 'gisthandler', amtype => 'i' },
{ oid => '2742', oid_symbol => 'GIN_AM_OID',
  descr => 'GIN index access method',
  amname => 'gin', amhandler => 'ginhandler', amtype => 'i' },
{ oid => '4000', oid_symbol => 'SPGIST_AM_OID',
  descr => 'SP-GiST index access method',
  amname => 'spgist', amhandler => 'spghandler', amtype => 'i' },
{ oid => '3580', oid_symbol => 'BRIN_AM_OID',
  descr => 'block range index (BRIN) access method',
  amname => 'brin', amhandler => 'brinhandler', amtype => 'i' },

]
#----------------------------------------------------------------------
#
# pg_amop.dat
#    Initial contents of the pg_amop system relation.
#
# Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California
#
# src/include/catalog/pg_amop.dat
#
#----------------------------------------------------------------------

[

# btree integer_ops

# default operators int2
{ amopfamily => '1976', amoplefttype => '21', amoprighttype => '21',
  amopstrategy => '1', amopopr => '95', amopmethod => '403' },
{ amopfamily => '1976', amoplefttype => '21', amoprighttype => '21',
  amopstrategy => '2', amopopr => '522', amopmethod => '403' },
{ amopfamily => '1976', amoplefttype => '21', amoprighttype => '21',
  amopstrategy => '3', amopopr => '94', amopmethod => '403' },
{ amopfamily => '1976', amoplefttype => '21', amoprighttype => '21',
  amopstrategy => '4', amopopr => '524', amopmethod => '403' },
{ amopfamily => '1976', amoplefttype => '21', amoprighttype => '21',
  amopstrategy => '5', amopopr => '520', amopmethod => '403' },
# crosstype operators int24
{ amopfamily => '1976', amoplefttype => '21', amoprighttype => '23',
  amopstrategy => '1', amopopr => '534', amopmethod => '403' },
{ amopfamily => '1976', amoplefttype => '21', amoprighttype => '23',
  amopstrategy => '2', amopopr => '540', amopmethod => '403' },
{ amopfamily => '1976', amoplefttype => '21', amoprighttype => '23',
  amopstrategy => '3', amopopr => '532', amopmethod => '403' },
{ amopfamily => '1976', amoplefttype => '21', amoprighttype => '23',
  amopstrategy => '4', amopopr => '542', amopmethod => '403' },
{ amopfamily => '1976', amoplefttype => '21', amoprighttype => '23',
  amopstrategy => '5', amopopr => '536', amopmethod => '403' },
# crosstype operators int28
{ amopfamily => '1976', amoplefttype => '21', amoprighttype => '20',
  amopstrategy => '1', amopopr => '1864', amopmethod => '403' },
{ amopfamily => '1976', amoplefttype => '21', amoprighttype => '20',
  amopstrategy => '2', amopopr => '1866', amopmethod => '403' },
{ amopfamily => '1976', amoplefttype => '21', amoprighttype => '20',
  amopstrategy => '3', amopopr => '1862', amopmethod => '403' },
{ amopfamily => '1976', amoplefttype => '21', amoprighttype => '20',
  amopstrategy => '4', amopopr => '1867', amopmethod => '403' },
{ amopfamily => '1976', amoplefttype => '21', amoprighttype => '20',
  amopstrategy => '5', amopopr => '1865', amopmethod => '403' },
# default operators int4
{ amopfamily => '1976', amoplefttype => '23', amoprighttype => '23',
  amopstrategy => '1', amopopr => '97', amopmethod => '403' },
{ amopfamily => '1976', amoplefttype => '23', amoprighttype => '23',
  amopstrategy => '2', amopopr => '523', amopmethod => '403' },
{ amopfamily => '1976', amoplefttype => '23', amoprighttype => '23',
  amopstrategy => '3', amopopr => '96', amopmethod => '403' },
{ amopfamily => '1976', amoplefttype => '23', amoprighttype => '23',
  amopstrategy => '4', amopopr => '525', amopmethod => '403' },
{ amopfamily => '1976', amoplefttype => '23', amoprighttype => '23',
  amopstrategy => '5', amopopr => '521', amopmethod => '403' },
# crosstype operators int42
{ amopfamily => '1976', amoplefttype => '23', amoprighttype => '21',
  amopstrategy => '1', amopopr => '535', amopmethod => '403' },
{ amopfamily => '1976', amoplefttype => '23', amoprighttype => '21',
  amopstrategy => '2', amopopr => '541', amopmethod => '403' },
{ amopfamily => '1976', amoplefttype => '23', amoprighttype => '21',
  amopstrategy => '3', amopopr => '533', amopmethod => '403' },
{ amopfamily => '1976', amoplefttype => '23', amoprighttype => '21',
  amopstrategy => '4', amopopr => '543', amopmethod => '403' },
{ amopfamily => '1976', amoplefttype => '23', amoprighttype => '21',
  amopstrategy => '5', amopopr => '537', amopmethod => '403' },
# crosstype operators int48
{ amopfamily => '1976', amoplefttype => '23', amoprighttype => '20',
  amopstrategy => '1', amopopr => '37', amopmethod => '403' },
{ amopfamily => '1976', amoplefttype => '23', amoprighttype => '20',
  amopstrategy => '2', amopopr => '80', amopmethod => '403' },
{ amopfamily => '1976', amoplefttype => '23', amoprighttype => '20',
  amopstrategy => '3', amopopr => '15', amopmethod => '403' },
{ amopfamily => '1976', amoplefttype => '23', amoprighttype => '20',
  amopstrategy => '4', amopopr => '82', amopmethod => '403' },
{ amopfamily => '1976', amoplefttype => '23', amoprighttype => '20',
  amopstrategy => '5', amopopr => '76', amopmethod => '403' },
# default operators int8
{ amopfamily => '1976', amoplefttype => '20', amoprighttype => '20',
  amopstrategy => '1', amopopr => '412', amopmethod => '403' },
{ amopfamily => '1976', amoplefttype => '20', amoprighttype => '20',
  amopstrategy => '2', amopopr => '414', amopmethod => '403' },
{ amopfamily => '1976', amoplefttype => '20', amoprighttype => '20',
  amopstrategy => '3', amopopr => '410', amopmethod => '403' },
{ amopfamily => '1976', amoplefttype => '20', amoprighttype => '20',
  amopstrategy => '4', amopopr => '415', amopmethod => '403' },
{ amopfamily => '1976', amoplefttype => '20', amoprighttype => '20',
  amopstrategy => '5', amopopr => '413', amopmethod => '403' },
# crosstype operators int82
{ amopfamily => '1976', amoplefttype => '20', amoprighttype => '21',
  amopstrategy => '1', amopopr => '1870', amopmethod => '403' },
{ amopfamily => '1976', amoplefttype => '20', amoprighttype => '21',
  amopstrategy => '2', amopopr => '1872', amopmethod => '403' },
{ amopfamily => '1976', amoplefttype => '20', amoprighttype => '21',
  amopstrategy => '3', amopopr => '1868', amopmethod => '403' },
#----------------------------------------------------------------------
#
# pg_amproc.dat
#    Initial contents of the pg_amproc system relation.
#
# Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California
#
# src/include/catalog/pg_amproc.dat
#
#----------------------------------------------------------------------

[

# btree
{ amprocfamily => '397', amproclefttype => '2277', amprocrighttype => '2277',
  amprocnum => '1', amproc => '382' },
{ amprocfamily => '421', amproclefttype => '702', amprocrighttype => '702',
  amprocnum => '1', amproc => '357' },
{ amprocfamily => '423', amproclefttype => '1560', amprocrighttype => '1560',
  amprocnum => '1', amproc => '1596' },
{ amprocfamily => '424', amproclefttype => '16', amprocrighttype => '16',
  amprocnum => '1', amproc => '1693' },
{ amprocfamily => '426', amproclefttype => '1042', amprocrighttype => '1042',
  amprocnum => '1', amproc => '1078' },
{ amprocfamily => '426', amproclefttype => '1042', amprocrighttype => '1042',
  amprocnum => '2', amproc => '3328' },
{ amprocfamily => '428', amproclefttype => '17', amprocrighttype => '17',
  amprocnum => '1', amproc => '1954' },
{ amprocfamily => '428', amproclefttype => '17', amprocrighttype => '17',
  amprocnum => '2', amproc => '3331' },
{ amprocfamily => '429', amproclefttype => '18', amprocrighttype => '18',
  amprocnum => '1', amproc => '358' },
{ amprocfamily => '434', amproclefttype => '1082', amprocrighttype => '1082',
  amprocnum => '1', amproc => '1092' },
{ amprocfamily => '434', amproclefttype => '1082', amprocrighttype => '1082',
  amprocnum => '2', amproc => '3136' },
{ amprocfamily => '434', amproclefttype => '1082', amprocrighttype => '1114',
  amprocnum => '1', amproc => '2344' },
{ amprocfamily => '434', amproclefttype => '1082', amprocrighttype => '1184',
  amprocnum => '1', amproc => '2357' },
{ amprocfamily => '434', amproclefttype => '1114', amprocrighttype => '1114',
  amprocnum => '1', amproc => '2045' },
{ amprocfamily => '434', amproclefttype => '1114', amprocrighttype => '1114',
  amprocnum => '2', amproc => '3137' },
{ amprocfamily => '434', amproclefttype => '1114', amprocrighttype => '1082',
  amprocnum => '1', amproc => '2370' },
{ amprocfamily => '434', amproclefttype => '1114', amprocrighttype => '1184',
  amprocnum => '1', amproc => '2526' },
{ amprocfamily => '434', amproclefttype => '1184', amprocrighttype => '1184',
  amprocnum => '1', amproc => '1314' },
{ amprocfamily => '434', amproclefttype => '1184', amprocrighttype => '1184',
  amprocnum => '2', amproc => '3137' },
{ amprocfamily => '434', amproclefttype => '1184', amprocrighttype => '1082',
  amprocnum => '1', amproc => '2383' },
{ amprocfamily => '434', amproclefttype => '1184', amprocrighttype => '1114',
  amprocnum => '1', amproc => '2533' },
{ amprocfamily => '434', amproclefttype => '1082', amprocrighttype => '1186',
  amprocnum => '3', amproc => '4133' },
{ amprocfamily => '434', amproclefttype => '1114', amprocrighttype => '1186',
  amprocnum => '3', amproc => '4134' },
{ amprocfamily => '434', amproclefttype => '1184', amprocrighttype => '1186',
  amprocnum => '3', amproc => '4135' },
{ amprocfamily => '1970', amproclefttype => '700', amprocrighttype => '700',
  amprocnum => '1', amproc => '354' },
{ amprocfamily => '1970', amproclefttype => '700', amprocrighttype => '700',
  amprocnum => '2', amproc => '3132' },
{ amprocfamily => '1970', amproclefttype => '700', amprocrighttype => '701',
  amprocnum => '1', amproc => '2194' },
{ amprocfamily => '1970', amproclefttype => '701', amprocrighttype => '701',
  amprocnum => '1', amproc => '355' },
{ amprocfamily => '1970', amproclefttype => '701', amprocrighttype => '701',
  amprocnum => '2', amproc => '3133' },
{ amprocfamily => '1970', amproclefttype => '701', amprocrighttype => '700',
  amprocnum => '1', amproc => '2195' },
{ amprocfamily => '1970', amproclefttype => '701', amprocrighttype => '701',
  amprocnum => '3', amproc => '4139' },
{ amprocfamily => '1970', amproclefttype => '700', amprocrighttype => '701',
  amprocnum => '3', amproc => '4140' },
{ amprocfamily => '1974', amproclefttype => '869', amprocrighttype => '869',
  amprocnum => '1', amproc => '926' },
{ amprocfamily => '1976', amproclefttype => '21', amprocrighttype => '21',
  amprocnum => '1', amproc => '350' },
{ amprocfamily => '1976', amproclefttype => '21', amprocrighttype => '21',
  amprocnum => '2', amproc => '3129' },
{ amprocfamily => '1976', amproclefttype => '21', amprocrighttype => '23',
  amprocnum => '1', amproc => '2190' },
{ amprocfamily => '1976', amproclefttype => '21', amprocrighttype => '20',
  amprocnum => '1', amproc => '2192' },
{ amprocfamily => '1976', amproclefttype => '21', amprocrighttype => '20',
  amprocnum => '3', amproc => '4130' },
{ amprocfamily => '1976', amproclefttype => '21', amprocrighttype => '23',
  amprocnum => '3', amproc => '4131' },
{ amprocfamily => '1976', amproclefttype => '21', amprocrighttype => '21',
  amprocnum => '3', amproc => '4132' },
{ amprocfamily => '1976', amproclefttype => '23', amprocrighttype => '23',
  amprocnum => '1', amproc => '351' },
{ amprocfamily => '1976', amproclefttype => '23', amprocrighttype => '23',
  amprocnum => '2', amproc => '3130' },
{ amprocfamily => '1976', amproclefttype => '23', amprocrighttype => '20',
#----------------------------------------------------------------------
#
# pg_authid.dat
#    Initial contents of the pg_authid system relation.
#
# Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California
#
# src/include/catalog/pg_authid.dat
#
#----------------------------------------------------------------------

[

# The uppercase quantities will be replaced at initdb time with
# user choices.
# The C code typically refers to these roles using the #define symbols,
# so be sure to keep those in sync with the DATA lines.
{ oid => '10', oid_symbol => 'BOOTSTRAP_SUPERUSERID',
  rolname => 'POSTGRES', rolsuper => 't', rolinherit => 't',
  rolcreaterole => 't', rolcreatedb => 't', rolcanlogin => 't',
  rolreplication => 't', rolbypassrls => 't', rolconnlimit => '-1',
  rolpassword => '_null_', rolvaliduntil => '_null_' },
{ oid => '3373', oid_symbol => 'DEFAULT_ROLE_MONITOR',
  rolname => 'pg_monitor', rolsuper => 'f', rolinherit => 't',
  rolcreaterole => 'f', rolcreatedb => 'f', rolcanlogin => 'f',
  rolreplication => 'f', rolbypassrls => 'f', rolconnlimit => '-1',
  rolpassword => '_null_', rolvaliduntil => '_null_' },
{ oid => '3374', oid_symbol => 'DEFAULT_ROLE_READ_ALL_SETTINGS',
  rolname => 'pg_read_all_settings', rolsuper => 'f', rolinherit => 't',
  rolcreaterole => 'f', rolcreatedb => 'f', rolcanlogin => 'f',
  rolreplication => 'f', rolbypassrls => 'f', rolconnlimit => '-1',
  rolpassword => '_null_', rolvaliduntil => '_null_' },
{ oid => '3375', oid_symbol => 'DEFAULT_ROLE_READ_ALL_STATS',
  rolname => 'pg_read_all_stats', rolsuper => 'f', rolinherit => 't',
  rolcreaterole => 'f', rolcreatedb => 'f', rolcanlogin => 'f',
  rolreplication => 'f', rolbypassrls => 'f', rolconnlimit => '-1',
  rolpassword => '_null_', rolvaliduntil => '_null_' },
{ oid => '3377', oid_symbol => 'DEFAULT_ROLE_STAT_SCAN_TABLES',
  rolname => 'pg_stat_scan_tables', rolsuper => 'f', rolinherit => 't',
  rolcreaterole => 'f', rolcreatedb => 'f', rolcanlogin => 'f',
  rolreplication => 'f', rolbypassrls => 'f', rolconnlimit => '-1',
  rolpassword => '_null_', rolvaliduntil => '_null_' },
{ oid => '4200', oid_symbol => 'DEFAULT_ROLE_SIGNAL_BACKENDID',
  rolname => 'pg_signal_backend', rolsuper => 'f', rolinherit => 't',
  rolcreaterole => 'f', rolcreatedb => 'f', rolcanlogin => 'f',
  rolreplication => 'f', rolbypassrls => 'f', rolconnlimit => '-1',
  rolpassword => '_null_', rolvaliduntil => '_null_' },

]
#----------------------------------------------------------------------
#
# pg_cast.dat
#    Initial contents of the pg_cast system relation.
#
# Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California
#
# src/include/catalog/pg_cast.dat
#
#----------------------------------------------------------------------

[

# Note: this table has OIDs, but we don't bother to assign them manually,
# since nothing needs to know the specific OID of any built-in cast.

# Numeric category: implicit casts are allowed in the direction
# int2->int4->int8->numeric->float4->float8, while casts in the
# reverse direction are assignment-only.
{ castsource => '20', casttarget => '21', castfunc => '714', castcontext => 'a',
  castmethod => 'f' },
{ castsource => '20', casttarget => '23', castfunc => '480', castcontext => 'a',
  castmethod => 'f' },
{ castsource => '20', casttarget => '700', castfunc => '652',
  castcontext => 'i', castmethod => 'f' },
{ castsource => '20', casttarget => '701', castfunc => '482',
  castcontext => 'i', castmethod => 'f' },
{ castsource => '20', casttarget => '1700', castfunc => '1781',
  castcontext => 'i', castmethod => 'f' },
{ castsource => '21', casttarget => '20', castfunc => '754', castcontext => 'i',
  castmethod => 'f' },
{ castsource => '21', casttarget => '23', castfunc => '313', castcontext => 'i',
  castmethod => 'f' },
{ castsource => '21', casttarget => '700', castfunc => '236',
  castcontext => 'i', castmethod => 'f' },
{ castsource => '21', casttarget => '701', castfunc => '235',
  castcontext => 'i', castmethod => 'f' },
{ castsource => '21', casttarget => '1700', castfunc => '1782',
  castcontext => 'i', castmethod => 'f' },
{ castsource => '23', casttarget => '20', castfunc => '481', castcontext => 'i',
  castmethod => 'f' },
{ castsource => '23', casttarget => '21', castfunc => '314', castcontext => 'a',
  castmethod => 'f' },
{ castsource => '23', casttarget => '700', castfunc => '318',
  castcontext => 'i', castmethod => 'f' },
{ castsource => '23', casttarget => '701', castfunc => '316',
  castcontext => 'i', castmethod => 'f' },
{ castsource => '23', casttarget => '1700', castfunc => '1740',
  castcontext => 'i', castmethod => 'f' },
{ castsource => '700', casttarget => '20', castfunc => '653',
  castcontext => 'a', castmethod => 'f' },
{ castsource => '700', casttarget => '21', castfunc => '238',
  castcontext => 'a', castmethod => 'f' },
{ castsource => '700', casttarget => '23', castfunc => '319',
  castcontext => 'a', castmethod => 'f' },
{ castsource => '700', casttarget => '701', castfunc => '311',
  castcontext => 'i', castmethod => 'f' },
{ castsource => '700', casttarget => '1700', castfunc => '1742',
  castcontext => 'a', castmethod => 'f' },
{ castsource => '701', casttarget => '20', castfunc => '483',
  castcontext => 'a', castmethod => 'f' },
{ castsource => '701', casttarget => '21', castfunc => '237',
  castcontext => 'a', castmethod => 'f' },
{ castsource => '701', casttarget => '23', castfunc => '317',
  castcontext => 'a', castmethod => 'f' },
{ castsource => '701', casttarget => '700', castfunc => '312',
  castcontext => 'a', castmethod => 'f' },
{ castsource => '701', casttarget => '1700', castfunc => '1743',
  castcontext => 'a', castmethod => 'f' },
{ castsource => '1700', casttarget => '20', castfunc => '1779',
  castcontext => 'a', castmethod => 'f' },
{ castsource => '1700', casttarget => '21', castfunc => '1783',
  castcontext => 'a', castmethod => 'f' },
{ castsource => '1700', casttarget => '23', castfunc => '1744',
  castcontext => 'a', castmethod => 'f' },
{ castsource => '1700', casttarget => '700', castfunc => '1745',
  castcontext => 'i', castmethod => 'f' },
{ castsource => '1700', casttarget => '701', castfunc => '1746',
  castcontext => 'i', castmethod => 'f' },
{ castsource => '790', casttarget => '1700', castfunc => '3823',
  castcontext => 'a', castmethod => 'f' },
{ castsource => '1700', casttarget => '790', castfunc => '3824',
  castcontext => 'a', castmethod => 'f' },
{ castsource => '23', casttarget => '790', castfunc => '3811',
  castcontext => 'a', castmethod => 'f' },
{ castsource => '20', casttarget => '790', castfunc => '3812',
  castcontext => 'a', castmethod => 'f' },

# Allow explicit coercions between int4 and bool
{ castsource => '23', casttarget => '16', castfunc => '2557',
  castcontext => 'e', castmethod => 'f' },
{ castsource => '16', casttarget => '23', castfunc => '2558',
  castcontext => 'e', castmethod => 'f' },

# OID category: allow implicit conversion from any integral type (including
# int8, to support OID literals > 2G) to OID, as well as assignment coercion
# from OID to int4 or int8.  Similarly for each OID-alias type.  Also allow
# implicit coercions between OID and each OID-alias type, as well as
# regproc<->regprocedure and regoper<->regoperator.  (Other coercions
#----------------------------------------------------------------------
#
# pg_class.dat
#    Initial contents of the pg_class system relation.
#
# Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California
#
# src/include/catalog/pg_class.dat
#
#----------------------------------------------------------------------

[

# NOTE: only "bootstrapped" relations need to be declared here.  Be sure that
# the OIDs listed here match those given in their CATALOG macros, and that
# the relnatts values are correct.

# Note: "3" in the relfrozenxid column stands for FirstNormalTransactionId;
# similarly, "1" in relminmxid stands for FirstMultiXactId
{ oid => '1247',
  relname => 'pg_type', relnamespace => 'PGNSP', reltype => '71',
  reloftype => '0', relowner => 'PGUID', relam => '0', relfilenode => '0',
  reltablespace => '0', relpages => '0', reltuples => '0', relallvisible => '0',
  reltoastrelid => '0', relhasindex => 'f', relisshared => 'f',
  relpersistence => 'p', relkind => 'r', relnatts => '30', relchecks => '0',
  relhasoids => 't', relhasrules => 'f', relhastriggers => 'f',
  relhassubclass => 'f', relrowsecurity => 'f', relforcerowsecurity => 'f',
  relispopulated => 't', relreplident => 'n', relispartition => 'f',
  relrewrite => '0', relfrozenxid => '3', relminmxid => '1', relacl => '_null_',
  reloptions => '_null_', relpartbound => '_null_' },
{ oid => '1249',
  relname => 'pg_attribute', relnamespace => 'PGNSP', reltype => '75',
  reloftype => '0', relowner => 'PGUID', relam => '0', relfilenode => '0',
  reltablespace => '0', relpages => '0', reltuples => '0', relallvisible => '0',
  reltoastrelid => '0', relhasindex => 'f', relisshared => 'f',
  relpersistence => 'p', relkind => 'r', relnatts => '22', relchecks => '0',
  relhasoids => 'f', relhasrules => 'f', relhastriggers => 'f',
  relhassubclass => 'f', relrowsecurity => 'f', relforcerowsecurity => 'f',
  relispopulated => 't', relreplident => 'n', relispartition => 'f',
  relrewrite => '0', relfrozenxid => '3', relminmxid => '1', relacl => '_null_',
  reloptions => '_null_', relpartbound => '_null_' },
{ oid => '1255',
  relname => 'pg_proc', relnamespace => 'PGNSP', reltype => '81',
  reloftype => '0', relowner => 'PGUID', relam => '0', relfilenode => '0',
  reltablespace => '0', relpages => '0', reltuples => '0', relallvisible => '0',
  reltoastrelid => '0', relhasindex => 'f', relisshared => 'f',
  relpersistence => 'p', relkind => 'r', relnatts => '28', relchecks => '0',
  relhasoids => 't', relhasrules => 'f', relhastriggers => 'f',
  relhassubclass => 'f', relrowsecurity => 'f', relforcerowsecurity => 'f',
  relispopulated => 't', relreplident => 'n', relispartition => 'f',
  relrewrite => '0', relfrozenxid => '3', relminmxid => '1', relacl => '_null_',
  reloptions => '_null_', relpartbound => '_null_' },
{ oid => '1259',
  relname => 'pg_class', relnamespace => 'PGNSP', reltype => '83',
  reloftype => '0', relowner => 'PGUID', relam => '0', relfilenode => '0',
  reltablespace => '0', relpages => '0', reltuples => '0', relallvisible => '0',
  reltoastrelid => '0', relhasindex => 'f', relisshared => 'f',
  relpersistence => 'p', relkind => 'r', relnatts => '33', relchecks => '0',
  relhasoids => 't', relhasrules => 'f', relhastriggers => 'f',
  relhassubclass => 'f', relrowsecurity => 'f', relforcerowsecurity => 'f',
  relispopulated => 't', relreplident => 'n', relispartition => 'f',
  relrewrite => '0', relfrozenxid => '3', relminmxid => '1', relacl => '_null_',
  reloptions => '_null_', relpartbound => '_null_' },

# default selection for replica identity (primary key or nothing)
# no replica identity is logged for this relation
# all columns are logged as replica identity
# an explicitly chosen candidate key's columns are used as replica identity.
# Note this will still be set if the index has been dropped; in that case it
# has the same meaning as 'd'.

]
#----------------------------------------------------------------------
#
# pg_collation.dat
#    Initial contents of the pg_collation system relation.
#
# Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California
#
# src/include/catalog/pg_collation.dat
#
#----------------------------------------------------------------------

[

{ oid => '100', oid_symbol => 'DEFAULT_COLLATION_OID',
  descr => 'database\'s default collation',
  collname => 'default', collnamespace => 'PGNSP', collowner => 'PGUID',
  collprovider => 'd', collencoding => '-1', collcollate => '', collctype => '',
  collversion => '_null_' },
{ oid => '950', oid_symbol => 'C_COLLATION_OID',
  descr => 'standard C collation',
  collname => 'C', collnamespace => 'PGNSP', collowner => 'PGUID',
  collprovider => 'c', collencoding => '-1', collcollate => 'C',
  collctype => 'C', collversion => '_null_' },
{ oid => '951', oid_symbol => 'POSIX_COLLATION_OID',
  descr => 'standard POSIX collation',
  collname => 'POSIX', collnamespace => 'PGNSP', collowner => 'PGUID',
  collprovider => 'c', collencoding => '-1', collcollate => 'POSIX',
  collctype => 'POSIX', collversion => '_null_' },

]
#----------------------------------------------------------------------
#
# pg_database.dat
#    Initial contents of the pg_database system relation.
#
# Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California
#
# src/include/catalog/pg_database.dat
#
#----------------------------------------------------------------------

[

{ oid => '1', oid_symbol => 'TemplateDbOid',
  shdescr => 'default template for new databases',
  datname => 'template1', datdba => 'PGUID', encoding => 'ENCODING',
  datcollate => 'LC_COLLATE', datctype => 'LC_CTYPE', datistemplate => 't',
  datallowconn => 't', datconnlimit => '-1', datlastsysoid => '0',
  datfrozenxid => '0', datminmxid => '1', dattablespace => '1663',
  datacl => '_null_' },

]
#----------------------------------------------------------------------
#
# pg_language.dat
#    Initial contents of the pg_language system relation.
#
# Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California
#
# src/include/catalog/pg_language.dat
#
#----------------------------------------------------------------------

[

{ oid => '12', oid_symbol => 'INTERNALlanguageId',
  descr => 'built-in functions',
  lanname => 'internal', lanowner => 'PGUID', lanispl => 'f',
  lanpltrusted => 'f', lanplcallfoid => '0', laninline => '0',
  lanvalidator => '2246', lanacl => '_null_' },
{ oid => '13', oid_symbol => 'ClanguageId',
  descr => 'dynamically-loaded C functions',
  lanname => 'c', lanowner => 'PGUID', lanispl => 'f', lanpltrusted => 'f',
  lanplcallfoid => '0', laninline => '0', lanvalidator => '2247',
  lanacl => '_null_' },
{ oid => '14', oid_symbol => 'SQLlanguageId',
  descr => 'SQL-language functions',
  lanname => 'sql', lanowner => 'PGUID', lanispl => 'f', lanpltrusted => 't',
  lanplcallfoid => '0', laninline => '0', lanvalidator => '2248',
  lanacl => '_null_' },

]
#----------------------------------------------------------------------
#
# pg_namespace.dat
#    Initial contents of the pg_namespace system relation.
#
# Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California
#
# src/include/catalog/pg_namespace.dat
#
#----------------------------------------------------------------------

[

{ oid => '11', oid_symbol => 'PG_CATALOG_NAMESPACE',
  descr => 'system catalog schema',
  nspname => 'pg_catalog', nspowner => 'PGUID', nspacl => '_null_' },
{ oid => '99', oid_symbol => 'PG_TOAST_NAMESPACE',
  descr => 'reserved schema for TOAST tables',
  nspname => 'pg_toast', nspowner => 'PGUID', nspacl => '_null_' },
{ oid => '2200', oid_symbol => 'PG_PUBLIC_NAMESPACE',
  descr => 'standard public schema',
  nspname => 'public', nspowner => 'PGUID', nspacl => '_null_' },

# prototypes for functions in pg_namespace.c

]
#----------------------------------------------------------------------
#
# pg_opclass.dat
#    Initial contents of the pg_opclass system relation.
#
# Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California
#
# src/include/catalog/pg_opclass.dat
#
#----------------------------------------------------------------------

[

# Note: we hard-wire an OID only for a few entries that have to be explicitly
# referenced in the C code or in built-in catalog entries.  The rest get OIDs
# assigned on-the-fly during initdb.

{ opcmethod => '403', opcname => 'abstime_ops', opcfamily => '421',
  opcintype => '702' },
{ opcmethod => '403', opcname => 'array_ops', opcfamily => '397',
  opcintype => '2277' },
{ opcmethod => '405', opcname => 'array_ops', opcfamily => '627',
  opcintype => '2277' },
{ opcmethod => '403', opcname => 'bit_ops', opcfamily => '423',
  opcintype => '1560' },
{ opcmethod => '403', opcname => 'bool_ops', opcfamily => '424',
  opcintype => '16' },
{ opcmethod => '403', opcname => 'bpchar_ops', opcfamily => '426',
  opcintype => '1042' },
{ opcmethod => '405', opcname => 'bpchar_ops', opcfamily => '427',
  opcintype => '1042' },
{ opcmethod => '403', opcname => 'bytea_ops', opcfamily => '428',
  opcintype => '17' },
{ opcmethod => '403', opcname => 'char_ops', opcfamily => '429',
  opcintype => '18' },
{ opcmethod => '405', opcname => 'char_ops', opcfamily => '431',
  opcintype => '18' },
{ opcmethod => '403', opcname => 'cidr_ops', opcfamily => '1974',
  opcintype => '869', opcdefault => 'f' },
{ opcmethod => '405', opcname => 'cidr_ops', opcfamily => '1975',
  opcintype => '869', opcdefault => 'f' },
{ oid => '3122', oid_symbol => 'DATE_BTREE_OPS_OID',
  opcmethod => '403', opcname => 'date_ops', opcfamily => '434',
  opcintype => '1082' },
{ opcmethod => '405', opcname => 'date_ops', opcfamily => '435',
  opcintype => '1082' },
{ opcmethod => '403', opcname => 'float4_ops', opcfamily => '1970',
  opcintype => '700' },
{ opcmethod => '405', opcname => 'float4_ops', opcfamily => '1971',
  opcintype => '700' },
{ oid => '3123', oid_symbol => 'FLOAT8_BTREE_OPS_OID',
  opcmethod => '403', opcname => 'float8_ops', opcfamily => '1970',
  opcintype => '701' },
{ opcmethod => '405', opcname => 'float8_ops', opcfamily => '1971',
  opcintype => '701' },
{ opcmethod => '403', opcname => 'inet_ops', opcfamily => '1974',
  opcintype => '869' },
{ opcmethod => '405', opcname => 'inet_ops', opcfamily => '1975',
  opcintype => '869' },
{ opcmethod => '783', opcname => 'inet_ops', opcfamily => '3550',
  opcintype => '869', opcdefault => 'f' },
{ opcmethod => '4000', opcname => 'inet_ops', opcfamily => '3794',
  opcintype => '869' },
{ oid => '1979', oid_symbol => 'INT2_BTREE_OPS_OID',
  opcmethod => '403', opcname => 'int2_ops', opcfamily => '1976',
  opcintype => '21' },
{ opcmethod => '405', opcname => 'int2_ops', opcfamily => '1977',
  opcintype => '21' },
{ oid => '1978', oid_symbol => 'INT4_BTREE_OPS_OID',
  opcmethod => '403', opcname => 'int4_ops', opcfamily => '1976',
  opcintype => '23' },
{ opcmethod => '405', opcname => 'int4_ops', opcfamily => '1977',
  opcintype => '23' },
{ oid => '3124', oid_symbol => 'INT8_BTREE_OPS_OID',
  opcmethod => '403', opcname => 'int8_ops', opcfamily => '1976',
  opcintype => '20' },
{ opcmethod => '405', opcname => 'int8_ops', opcfamily => '1977',
  opcintype => '20' },
{ opcmethod => '403', opcname => 'interval_ops', opcfamily => '1982',
  opcintype => '1186' },
{ opcmethod => '405', opcname => 'interval_ops', opcfamily => '1983',
  opcintype => '1186' },
{ opcmethod => '403', opcname => 'macaddr_ops', opcfamily => '1984',
  opcintype => '829' },
{ opcmethod => '405', opcname => 'macaddr_ops', opcfamily => '1985',
  opcintype => '829' },
{ opcmethod => '403', opcname => 'macaddr8_ops', opcfamily => '3371',
  opcintype => '774' },
{ opcmethod => '405', opcname => 'macaddr8_ops', opcfamily => '3372',
  opcintype => '774' },
# Here's an ugly little hack to save space in the system catalog indexes.
# btree doesn't ordinarily allow a storage type different from input type;
# but cstring and name are the same thing except for trailing padding,
# and we can safely omit that within an index entry.  So we declare the
# btree opclass for name as using cstring storage type.
{ opcmethod => '403', opcname => 'name_ops', opcfamily => '1986',
  opcintype => '19', opckeytype => '2275' },
{ opcmethod => '405', opcname => 'name_ops', opcfamily => '1987',
  opcintype => '19' },
#----------------------------------------------------------------------
#
# pg_operator.dat
#    Initial contents of the pg_operator system relation.
#
# Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California
#
# src/include/catalog/pg_operator.dat
#
#----------------------------------------------------------------------

[

# Note: every entry in pg_operator.h is expected to have a DESCR() comment.
# If the operator is a deprecated equivalent of some other entry, be sure
# to comment it as such so that initdb doesn't think it's a preferred name
# for the underlying function.

{ oid => '15', descr => 'equal',
  oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => '23',
  oprright => '20', oprresult => '16', oprcom => '416', oprnegate => '36',
  oprcode => 'int48eq', oprrest => 'eqsel', oprjoin => 'eqjoinsel' },
{ oid => '36', descr => 'not equal',
  oprname => '<>', oprleft => '23', oprright => '20', oprresult => '16',
  oprcom => '417', oprnegate => '15', oprcode => 'int48ne', oprrest => 'neqsel',
  oprjoin => 'neqjoinsel' },
{ oid => '37', descr => 'less than',
  oprname => '<', oprleft => '23', oprright => '20', oprresult => '16',
  oprcom => '419', oprnegate => '82', oprcode => 'int48lt',
  oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' },
{ oid => '76', descr => 'greater than',
  oprname => '>', oprleft => '23', oprright => '20', oprresult => '16',
  oprcom => '418', oprnegate => '80', oprcode => 'int48gt',
  oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' },
{ oid => '80', descr => 'less than or equal',
  oprname => '<=', oprleft => '23', oprright => '20', oprresult => '16',
  oprcom => '430', oprnegate => '76', oprcode => 'int48le',
  oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' },
{ oid => '82', descr => 'greater than or equal',
  oprname => '>=', oprleft => '23', oprright => '20', oprresult => '16',
  oprcom => '420', oprnegate => '37', oprcode => 'int48ge',
  oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' },

{ oid => '58', descr => 'less than',
  oprname => '<', oprleft => '16', oprright => '16', oprresult => '16',
  oprcom => '59', oprnegate => '1695', oprcode => 'boollt',
  oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' },
{ oid => '59', descr => 'greater than',
  oprname => '>', oprleft => '16', oprright => '16', oprresult => '16',
  oprcom => '58', oprnegate => '1694', oprcode => 'boolgt',
  oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' },
{ oid => '85', oid_symbol => 'BooleanNotEqualOperator', descr => 'not equal',
  oprname => '<>', oprleft => '16', oprright => '16', oprresult => '16',
  oprcom => '85', oprnegate => '91', oprcode => 'boolne', oprrest => 'neqsel',
  oprjoin => 'neqjoinsel' },
{ oid => '91', oid_symbol => 'BooleanEqualOperator', descr => 'equal',
  oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => '16',
  oprright => '16', oprresult => '16', oprcom => '91', oprnegate => '85',
  oprcode => 'booleq', oprrest => 'eqsel', oprjoin => 'eqjoinsel' },
{ oid => '1694', descr => 'less than or equal',
  oprname => '<=', oprleft => '16', oprright => '16', oprresult => '16',
  oprcom => '1695', oprnegate => '59', oprcode => 'boolle',
  oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' },
{ oid => '1695', descr => 'greater than or equal',
  oprname => '>=', oprleft => '16', oprright => '16', oprresult => '16',
  oprcom => '1694', oprnegate => '58', oprcode => 'boolge',
  oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' },

{ oid => '92', descr => 'equal',
  oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => '18',
  oprright => '18', oprresult => '16', oprcom => '92', oprnegate => '630',
  oprcode => 'chareq', oprrest => 'eqsel', oprjoin => 'eqjoinsel' },
{ oid => '93', descr => 'equal',
  oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => '19',
  oprright => '19', oprresult => '16', oprcom => '93', oprnegate => '643',
  oprcode => 'nameeq', oprrest => 'eqsel', oprjoin => 'eqjoinsel' },
{ oid => '94', descr => 'equal',
  oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => '21',
  oprright => '21', oprresult => '16', oprcom => '94', oprnegate => '519',
  oprcode => 'int2eq', oprrest => 'eqsel', oprjoin => 'eqjoinsel' },
{ oid => '95', descr => 'less than',
  oprname => '<', oprleft => '21', oprright => '21', oprresult => '16',
  oprcom => '520', oprnegate => '524', oprcode => 'int2lt',
  oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' },
{ oid => '96', oid_symbol => 'Int4EqualOperator', descr => 'equal',
  oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => '23',
  oprright => '23', oprresult => '16', oprcom => '96', oprnegate => '518',
  oprcode => 'int4eq', oprrest => 'eqsel', oprjoin => 'eqjoinsel' },
{ oid => '97', oid_symbol => 'Int4LessOperator', descr => 'less than',
  oprname => '<', oprleft => '23', oprright => '23', oprresult => '16',
  oprcom => '521', oprnegate => '525', oprcode => 'int4lt',
  oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' },
{ oid => '98', oid_symbol => 'TextEqualOperator', descr => 'equal',
  oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => '25',
  oprright => '25', oprresult => '16', oprcom => '98', oprnegate => '531',
  oprcode => 'texteq', oprrest => 'eqsel', oprjoin => 'eqjoinsel' },

{ oid => '349', descr => 'append element onto end of array',
  oprname => '||', oprleft => '2277', oprright => '2283', oprresult => '2277',
#----------------------------------------------------------------------
#
# pg_opfamily.dat
#    Initial contents of the pg_opfamily system relation.
#
# Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California
#
# src/include/catalog/pg_opfamily.dat
#
#----------------------------------------------------------------------

[

{ oid => '421',
  opfmethod => '403', opfname => 'abstime_ops' },
{ oid => '397',
  opfmethod => '403', opfname => 'array_ops' },
{ oid => '627',
  opfmethod => '405', opfname => 'array_ops' },
{ oid => '423',
  opfmethod => '403', opfname => 'bit_ops' },
{ oid => '424', oid_symbol => 'BOOL_BTREE_FAM_OID',
  opfmethod => '403', opfname => 'bool_ops' },
{ oid => '426', oid_symbol => 'BPCHAR_BTREE_FAM_OID',
  opfmethod => '403', opfname => 'bpchar_ops' },
{ oid => '427',
  opfmethod => '405', opfname => 'bpchar_ops' },
{ oid => '428', oid_symbol => 'BYTEA_BTREE_FAM_OID',
  opfmethod => '403', opfname => 'bytea_ops' },
{ oid => '429',
  opfmethod => '403', opfname => 'char_ops' },
{ oid => '431',
  opfmethod => '405', opfname => 'char_ops' },
{ oid => '434',
  opfmethod => '403', opfname => 'datetime_ops' },
{ oid => '435',
  opfmethod => '405', opfname => 'date_ops' },
{ oid => '1970',
  opfmethod => '403', opfname => 'float_ops' },
{ oid => '1971',
  opfmethod => '405', opfname => 'float_ops' },
{ oid => '1974', oid_symbol => 'NETWORK_BTREE_FAM_OID',
  opfmethod => '403', opfname => 'network_ops' },
{ oid => '1975',
  opfmethod => '405', opfname => 'network_ops' },
{ oid => '3550',
  opfmethod => '783', opfname => 'network_ops' },
{ oid => '3794',
  opfmethod => '4000', opfname => 'network_ops' },
{ oid => '1976', oid_symbol => 'INTEGER_BTREE_FAM_OID',
  opfmethod => '403', opfname => 'integer_ops' },
{ oid => '1977',
  opfmethod => '405', opfname => 'integer_ops' },
{ oid => '1982',
  opfmethod => '403', opfname => 'interval_ops' },
{ oid => '1983',
  opfmethod => '405', opfname => 'interval_ops' },
{ oid => '1984',
  opfmethod => '403', opfname => 'macaddr_ops' },
{ oid => '1985',
  opfmethod => '405', opfname => 'macaddr_ops' },
{ oid => '3371',
  opfmethod => '403', opfname => 'macaddr8_ops' },
{ oid => '3372',
  opfmethod => '405', opfname => 'macaddr8_ops' },
{ oid => '1986', oid_symbol => 'NAME_BTREE_FAM_OID',
  opfmethod => '403', opfname => 'name_ops' },
{ oid => '1987',
  opfmethod => '405', opfname => 'name_ops' },
{ oid => '1988',
  opfmethod => '403', opfname => 'numeric_ops' },
{ oid => '1998',
  opfmethod => '405', opfname => 'numeric_ops' },
{ oid => '1989', oid_symbol => 'OID_BTREE_FAM_OID',
  opfmethod => '403', opfname => 'oid_ops' },
{ oid => '1990',
  opfmethod => '405', opfname => 'oid_ops' },
{ oid => '1991',
  opfmethod => '403', opfname => 'oidvector_ops' },
{ oid => '1992',
  opfmethod => '405', opfname => 'oidvector_ops' },
{ oid => '2994',
  opfmethod => '403', opfname => 'record_ops' },
{ oid => '3194',
  opfmethod => '403', opfname => 'record_image_ops' },
{ oid => '1994', oid_symbol => 'TEXT_BTREE_FAM_OID',
  opfmethod => '403', opfname => 'text_ops' },
{ oid => '1995',
  opfmethod => '405', opfname => 'text_ops' },
{ oid => '1996',
  opfmethod => '403', opfname => 'time_ops' },
{ oid => '1997',
  opfmethod => '405', opfname => 'time_ops' },
{ oid => '1999',
  opfmethod => '405', opfname => 'timestamptz_ops' },
{ oid => '2000',
  opfmethod => '403', opfname => 'timetz_ops' },
{ oid => '2001',
  opfmethod => '405', opfname => 'timetz_ops' },
#----------------------------------------------------------------------
#
# pg_pltemplate.dat
#    Initial contents of the pg_pltemplate system relation.
#
# Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California
#
# src/include/catalog/pg_pltemplate.dat
#
#----------------------------------------------------------------------

[

{ tmplname => 'plpgsql', tmpltrusted => 't', tmpldbacreate => 't',
  tmplhandler => 'plpgsql_call_handler', tmplinline => 'plpgsql_inline_handler',
  tmplvalidator => 'plpgsql_validator', tmpllibrary => '$libdir/plpgsql',
  tmplacl => '_null_' },
{ tmplname => 'pltcl', tmpltrusted => 't', tmpldbacreate => 't',
  tmplhandler => 'pltcl_call_handler', tmplinline => '_null_',
  tmplvalidator => '_null_', tmpllibrary => '$libdir/pltcl',
  tmplacl => '_null_' },
{ tmplname => 'pltclu', tmpltrusted => 'f', tmpldbacreate => 'f',
  tmplhandler => 'pltclu_call_handler', tmplinline => '_null_',
  tmplvalidator => '_null_', tmpllibrary => '$libdir/pltcl',
  tmplacl => '_null_' },
{ tmplname => 'plperl', tmpltrusted => 't', tmpldbacreate => 't',
  tmplhandler => 'plperl_call_handler', tmplinline => 'plperl_inline_handler',
  tmplvalidator => 'plperl_validator', tmpllibrary => '$libdir/plperl',
  tmplacl => '_null_' },
{ tmplname => 'plperlu', tmpltrusted => 'f', tmpldbacreate => 'f',
  tmplhandler => 'plperlu_call_handler', tmplinline => 'plperlu_inline_handler',
  tmplvalidator => 'plperlu_validator', tmpllibrary => '$libdir/plperl',
  tmplacl => '_null_' },
{ tmplname => 'plpythonu', tmpltrusted => 'f', tmpldbacreate => 'f',
  tmplhandler => 'plpython_call_handler',
  tmplinline => 'plpython_inline_handler',
  tmplvalidator => 'plpython_validator', tmpllibrary => '$libdir/plpython2',
  tmplacl => '_null_' },
{ tmplname => 'plpython2u', tmpltrusted => 'f', tmpldbacreate => 'f',
  tmplhandler => 'plpython2_call_handler',
  tmplinline => 'plpython2_inline_handler',
  tmplvalidator => 'plpython2_validator', tmpllibrary => '$libdir/plpython2',
  tmplacl => '_null_' },
{ tmplname => 'plpython3u', tmpltrusted => 'f', tmpldbacreate => 'f',
  tmplhandler => 'plpython3_call_handler',
  tmplinline => 'plpython3_inline_handler',
  tmplvalidator => 'plpython3_validator', tmpllibrary => '$libdir/plpython3',
  tmplacl => '_null_' },

]
#----------------------------------------------------------------------
#
# pg_proc.dat
#    Initial contents of the pg_proc system relation.
#
# Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California
#
# src/include/catalog/pg_proc.dat
#
#----------------------------------------------------------------------

[

# Note: every entry in pg_proc.h is expected to have a DESCR() comment,
# except for functions that implement pg_operator.h operators and don't
# have a good reason to be called directly rather than via the operator.
# (If you do expect such a function to be used directly, you should
# duplicate the operator's comment.)  initdb will supply suitable default
# comments for functions referenced by pg_operator.
# Try to follow the style of existing functions' comments.
# Some recommended conventions:
# "I/O" for typinput, typoutput, typreceive, typsend functions
# "I/O typmod" for typmodin, typmodout functions
# "aggregate transition function" for aggtransfn functions, unless
# they are reasonably useful in their own right
# "aggregate final function" for aggfinalfn functions (likewise)
# "convert srctypename to desttypename" for cast functions
# "less-equal-greater" for B-tree comparison functions

# keep the following ordered by OID so that later changes can be made easier

# OIDS 1 - 99

{ oid => '1242', descr => 'I/O',
  proname => 'boolin', proisstrict => 't', provolatile => 'i',
  proparallel => 's', pronargs => '1', prorettype => '16',
  proargtypes => '2275', prosrc => 'boolin' },
{ oid => '1243', descr => 'I/O',
  proname => 'boolout', proisstrict => 't', provolatile => 'i',
  proparallel => 's', pronargs => '1', prorettype => '2275',
  proargtypes => '16', prosrc => 'boolout' },
{ oid => '1244', descr => 'I/O',
  proname => 'byteain', proisstrict => 't', provolatile => 'i',
  proparallel => 's', pronargs => '1', prorettype => '17',
  proargtypes => '2275', prosrc => 'byteain' },
{ oid => '31', descr => 'I/O',
  proname => 'byteaout', proisstrict => 't', provolatile => 'i',
  proparallel => 's', pronargs => '1', prorettype => '2275',
  proargtypes => '17', prosrc => 'byteaout' },
{ oid => '1245', descr => 'I/O',
  proname => 'charin', proisstrict => 't', provolatile => 'i',
  proparallel => 's', pronargs => '1', prorettype => '18',
  proargtypes => '2275', prosrc => 'charin' },
{ oid => '33', descr => 'I/O',
  proname => 'charout', proisstrict => 't', provolatile => 'i',
  proparallel => 's', pronargs => '1', prorettype => '2275',
  proargtypes => '18', prosrc => 'charout' },
{ oid => '34', descr => 'I/O',
  proname => 'namein', proisstrict => 't', provolatile => 'i',
  proparallel => 's', pronargs => '1', prorettype => '19',
  proargtypes => '2275', prosrc => 'namein' },
{ oid => '35', descr => 'I/O',
  proname => 'nameout', proisstrict => 't', provolatile => 'i',
  proparallel => 's', pronargs => '1', prorettype => '2275',
  proargtypes => '19', prosrc => 'nameout' },
{ oid => '38', descr => 'I/O',
  proname => 'int2in', proisstrict => 't', provolatile => 'i',
  proparallel => 's', pronargs => '1', prorettype => '21',
  proargtypes => '2275', prosrc => 'int2in' },
{ oid => '39', descr => 'I/O',
  proname => 'int2out', proisstrict => 't', provolatile => 'i',
  proparallel => 's', pronargs => '1', prorettype => '2275',
  proargtypes => '21', prosrc => 'int2out' },
{ oid => '40', descr => 'I/O',
  proname => 'int2vectorin', proisstrict => 't', provolatile => 'i',
  proparallel => 's', pronargs => '1', prorettype => '22',
  proargtypes => '2275', prosrc => 'int2vectorin' },
{ oid => '41', descr => 'I/O',
  proname => 'int2vectorout', proisstrict => 't', provolatile => 'i',
  proparallel => 's', pronargs => '1', prorettype => '2275',
  proargtypes => '22', prosrc => 'int2vectorout' },
{ oid => '42', descr => 'I/O',
  proname => 'int4in', proisstrict => 't', provolatile => 'i',
  proparallel => 's', pronargs => '1', prorettype => '23',
  proargtypes => '2275', prosrc => 'int4in' },
{ oid => '43', descr => 'I/O',
  proname => 'int4out', proisstrict => 't', provolatile => 'i',
  proparallel => 's', pronargs => '1', prorettype => '2275',
  proargtypes => '23', prosrc => 'int4out' },
{ oid => '44', descr => 'I/O',
  proname => 'regprocin', proisstrict => 't', provolatile => 's',
  proparallel => 's', pronargs => '1', prorettype => '24',
  proargtypes => '2275', prosrc => 'regprocin' },
{ oid => '45', descr => 'I/O',
  proname => 'regprocout', proisstrict => 't', provolatile => 's',
  proparallel => 's', pronargs => '1', prorettype => '2275',
  proargtypes => '24', prosrc => 'regprocout' },
{ oid => '3494', descr => 'convert proname to regproc',
  proname => 'to_regproc', proisstrict => 't', provolatile => 's',
#----------------------------------------------------------------------
#
# pg_range.dat
#    Initial contents of the pg_range system relation.
#
# Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California
#
# src/include/catalog/pg_range.dat
#
#----------------------------------------------------------------------

[

{ rngtypid => '3904', rngsubtype => '23', rngcollation => '0',
  rngsubopc => '1978', rngcanonical => 'int4range_canonical',
  rngsubdiff => 'int4range_subdiff' },
{ rngtypid => '3906', rngsubtype => '1700', rngcollation => '0',
  rngsubopc => '3125', rngcanonical => '-', rngsubdiff => 'numrange_subdiff' },
{ rngtypid => '3908', rngsubtype => '1114', rngcollation => '0',
  rngsubopc => '3128', rngcanonical => '-', rngsubdiff => 'tsrange_subdiff' },
{ rngtypid => '3910', rngsubtype => '1184', rngcollation => '0',
  rngsubopc => '3127', rngcanonical => '-', rngsubdiff => 'tstzrange_subdiff' },
{ rngtypid => '3912', rngsubtype => '1082', rngcollation => '0',
  rngsubopc => '3122', rngcanonical => 'daterange_canonical',
  rngsubdiff => 'daterange_subdiff' },
{ rngtypid => '3926', rngsubtype => '20', rngcollation => '0',
  rngsubopc => '3124', rngcanonical => 'int8range_canonical',
  rngsubdiff => 'int8range_subdiff' },

# prototypes for functions in pg_range.c

]
#----------------------------------------------------------------------
#
# pg_tablespace.dat
#    Initial contents of the pg_tablespace system relation.
#
# Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California
#
# src/include/catalog/pg_tablespace.dat
#
#----------------------------------------------------------------------

[

{ oid => '1663', oid_symbol => 'DEFAULTTABLESPACE_OID',
  spcname => 'pg_default', spcowner => 'PGUID', spcacl => '_null_',
  spcoptions => '_null_' },
{ oid => '1664', oid_symbol => 'GLOBALTABLESPACE_OID',
  spcname => 'pg_global', spcowner => 'PGUID', spcacl => '_null_',
  spcoptions => '_null_' },

]
#----------------------------------------------------------------------
#
# pg_ts_config.dat
#    Initial contents of the pg_ts_config system relation.
#
# Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California
#
# src/include/catalog/pg_ts_config.dat
#
#----------------------------------------------------------------------

[

{ oid => '3748', descr => 'simple configuration',
  cfgname => 'simple', cfgnamespace => 'PGNSP', cfgowner => 'PGUID',
  cfgparser => '3722' },

]
#----------------------------------------------------------------------
#
# pg_ts_config_map.dat
#    Initial contents of the pg_ts_config_map system relation.
#
# Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California
#
# src/include/catalog/pg_ts_config_map.dat
#
#----------------------------------------------------------------------

[

{ mapcfg => '3748', maptokentype => '1', mapseqno => '1', mapdict => '3765' },
{ mapcfg => '3748', maptokentype => '2', mapseqno => '1', mapdict => '3765' },
{ mapcfg => '3748', maptokentype => '3', mapseqno => '1', mapdict => '3765' },
{ mapcfg => '3748', maptokentype => '4', mapseqno => '1', mapdict => '3765' },
{ mapcfg => '3748', maptokentype => '5', mapseqno => '1', mapdict => '3765' },
{ mapcfg => '3748', maptokentype => '6', mapseqno => '1', mapdict => '3765' },
{ mapcfg => '3748', maptokentype => '7', mapseqno => '1', mapdict => '3765' },
{ mapcfg => '3748', maptokentype => '8', mapseqno => '1', mapdict => '3765' },
{ mapcfg => '3748', maptokentype => '9', mapseqno => '1', mapdict => '3765' },
{ mapcfg => '3748', maptokentype => '10', mapseqno => '1', mapdict => '3765' },
{ mapcfg => '3748', maptokentype => '11', mapseqno => '1', mapdict => '3765' },
{ mapcfg => '3748', maptokentype => '15', mapseqno => '1', mapdict => '3765' },
{ mapcfg => '3748', maptokentype => '16', mapseqno => '1', mapdict => '3765' },
{ mapcfg => '3748', maptokentype => '17', mapseqno => '1', mapdict => '3765' },
{ mapcfg => '3748', maptokentype => '18', mapseqno => '1', mapdict => '3765' },
{ mapcfg => '3748', maptokentype => '19', mapseqno => '1', mapdict => '3765' },
{ mapcfg => '3748', maptokentype => '20', mapseqno => '1', mapdict => '3765' },
{ mapcfg => '3748', maptokentype => '21', mapseqno => '1', mapdict => '3765' },
{ mapcfg => '3748', maptokentype => '22', mapseqno => '1', mapdict => '3765' },

]
#----------------------------------------------------------------------
#
# pg_ts_dict.dat
#    Initial contents of the pg_ts_dict system relation.
#
# Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California
#
# src/include/catalog/pg_ts_dict.dat
#
#----------------------------------------------------------------------

[

{ oid => '3765',
  descr => 'simple dictionary: just lower case and check for stopword',
  dictname => 'simple', dictnamespace => 'PGNSP', dictowner => 'PGUID',
  dicttemplate => '3727', dictinitoption => '_null_' },

]
#----------------------------------------------------------------------
#
# pg_ts_parser.dat
#    Initial contents of the pg_ts_parser system relation.
#
# Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California
#
# src/include/catalog/pg_ts_parser.dat
#
#----------------------------------------------------------------------

[

{ oid => '3722', descr => 'default word parser',
  prsname => 'default', prsnamespace => 'PGNSP', prsstart => 'prsd_start',
  prstoken => 'prsd_nexttoken', prsend => 'prsd_end',
  prsheadline => 'prsd_headline', prslextype => 'prsd_lextype' },

]
#----------------------------------------------------------------------
#
# pg_ts_template.dat
#    Initial contents of the pg_ts_template system relation.
#
# Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California
#
# src/include/catalog/pg_ts_template.dat
#
#----------------------------------------------------------------------

[

{ oid => '3727',
  descr => 'simple dictionary: just lower case and check for stopword',
  tmplname => 'simple', tmplnamespace => 'PGNSP', tmplinit => 'dsimple_init',
  tmpllexize => 'dsimple_lexize' },
{ oid => '3730', descr => 'synonym dictionary: replace word by its synonym',
  tmplname => 'synonym', tmplnamespace => 'PGNSP', tmplinit => 'dsynonym_init',
  tmpllexize => 'dsynonym_lexize' },
{ oid => '3733', descr => 'ispell dictionary',
  tmplname => 'ispell', tmplnamespace => 'PGNSP', tmplinit => 'dispell_init',
  tmpllexize => 'dispell_lexize' },
{ oid => '3742',
  descr => 'thesaurus dictionary: phrase by phrase substitution',
  tmplname => 'thesaurus', tmplnamespace => 'PGNSP',
  tmplinit => 'thesaurus_init', tmpllexize => 'thesaurus_lexize' },

]
#----------------------------------------------------------------------
#
# pg_type.dat
#    Initial contents of the pg_type system relation.
#
# Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California
#
# src/include/catalog/pg_type.dat
#
#----------------------------------------------------------------------

[

# Keep the following ordered by OID so that later changes can be made more
# easily.
# For types used in the system catalogs, make sure the values here match
# TypInfo[] in bootstrap.c.

# OIDS 1 - 99
{ oid => '16', oid_symbol => 'BOOLOID',
  descr => 'boolean, \'true\'/\'false\'',
  typname => 'bool', typlen => '1', typbyval => 't', typcategory => 'B',
  typispreferred => 't', typarray => '1000', typinput => 'boolin',
  typoutput => 'boolout', typreceive => 'boolrecv', typsend => 'boolsend',
  typalign => 'c' },

{ oid => '17', oid_symbol => 'BYTEAOID',
  descr => 'variable-length string, binary values escaped',
  typname => 'bytea', typlen => '-1', typbyval => 'f', typcategory => 'U',
  typarray => '1001', typinput => 'byteain', typoutput => 'byteaout',
  typreceive => 'bytearecv', typsend => 'byteasend', typalign => 'i',
  typstorage => 'x' },

{ oid => '18', oid_symbol => 'CHAROID', descr => 'single character',
  typname => 'char', typlen => '1', typbyval => 't', typcategory => 'S',
  typarray => '1002', typinput => 'charin', typoutput => 'charout',
  typreceive => 'charrecv', typsend => 'charsend', typalign => 'c' },

{ oid => '19', oid_symbol => 'NAMEOID',
  descr => '63-byte type for storing system identifiers',
  typname => 'name', typlen => 'NAMEDATALEN', typbyval => 'f',
  typcategory => 'S', typelem => '18', typarray => '1003', typinput => 'namein',
  typoutput => 'nameout', typreceive => 'namerecv', typsend => 'namesend',
  typalign => 'c' },

{ oid => '20', oid_symbol => 'INT8OID',
  descr => '~18 digit integer, 8-byte storage',
  typname => 'int8', typlen => '8', typbyval => 'FLOAT8PASSBYVAL',
  typcategory => 'N', typarray => '1016', typinput => 'int8in',
  typoutput => 'int8out', typreceive => 'int8recv', typsend => 'int8send',
  typalign => 'd' },

{ oid => '21', oid_symbol => 'INT2OID',
  descr => '-32 thousand to 32 thousand, 2-byte storage',
  typname => 'int2', typlen => '2', typbyval => 't', typcategory => 'N',
  typarray => '1005', typinput => 'int2in', typoutput => 'int2out',
  typreceive => 'int2recv', typsend => 'int2send', typalign => 's' },

{ oid => '22', oid_symbol => 'INT2VECTOROID',
  descr => 'array of int2, used in system tables',
  typname => 'int2vector', typlen => '-1', typbyval => 'f', typcategory => 'A',
  typelem => '21', typarray => '1006', typinput => 'int2vectorin',
  typoutput => 'int2vectorout', typreceive => 'int2vectorrecv',
  typsend => 'int2vectorsend', typalign => 'i' },

{ oid => '23', oid_symbol => 'INT4OID',
  descr => '-2 billion to 2 billion integer, 4-byte storage',
  typname => 'int4', typlen => '4', typbyval => 't', typcategory => 'N',
  typarray => '1007', typinput => 'int4in', typoutput => 'int4out',
  typreceive => 'int4recv', typsend => 'int4send', typalign => 'i' },

{ oid => '24', oid_symbol => 'REGPROCOID', descr => 'registered procedure',
  typname => 'regproc', typlen => '4', typbyval => 't', typcategory => 'N',
  typarray => '1008', typinput => 'regprocin', typoutput => 'regprocout',
  typreceive => 'regprocrecv', typsend => 'regprocsend', typalign => 'i' },

{ oid => '25', oid_symbol => 'TEXTOID',
  descr => 'variable-length string, no limit specified',
  typname => 'text', typlen => '-1', typbyval => 'f', typcategory => 'S',
  typispreferred => 't', typarray => '1009', typinput => 'textin',
  typoutput => 'textout', typreceive => 'textrecv', typsend => 'textsend',
  typalign => 'i', typstorage => 'x', typcollation => '100' },

{ oid => '26', oid_symbol => 'OIDOID',
  descr => 'object identifier(oid), maximum 4 billion',
  typname => 'oid', typlen => '4', typbyval => 't', typcategory => 'N',
  typispreferred => 't', typarray => '1028', typinput => 'oidin',
  typoutput => 'oidout', typreceive => 'oidrecv', typsend => 'oidsend',
  typalign => 'i' },

{ oid => '27', oid_symbol => 'TIDOID',
  descr => '(block, offset), physical location of tuple',
  typname => 'tid', typlen => '6', typbyval => 'f', typcategory => 'U',
  typarray => '1010', typinput => 'tidin', typoutput => 'tidout',
  typreceive => 'tidrecv', typsend => 'tidsend', typalign => 's' },

{ oid => '28', oid_symbol => 'XIDOID', descr => 'transaction id',
  typname => 'xid', typlen => '4', typbyval => 't', typcategory => 'U',
  typarray => '1011', typinput => 'xidin', typoutput => 'xidout',
diff --git a/src/include/Makefile b/src/include/Makefile
index 59e18c7..12e9d60 100644
--- a/src/include/Makefile
+++ b/src/include/Makefile
@@ -71,6 +71,13 @@ uninstall:
 # heuristic...
 	rm -rf $(addprefix '$(DESTDIR)$(includedir_server)'/, $(SUBDIRS) *.h)
 
+# location of Catalog.pm
+catalogdir = $(top_srcdir)/src/backend/catalog
+
+reformat-dat-files:
+	$(PERL) -I $(catalogdir) $< catalog/rewrite_dat.pl -o catalog catalog/pg_*.dat
+
+.PHONY: reformat-dat-files
 
 clean:
 	rm -f utils/fmgroids.h utils/fmgrprotos.h utils/errcodes.h

Reply via email to