Backend Interface (BKI) files are scripts in a
  special language that are input to the
  PostgreSQL backend running in the special
  "bootstrap" mode that allows it to perform database
  functions without a database system already existing.
  BKI files can therefore be used to create the
  database system in the first place.  (And they are probably not
  useful for anything else.)
 
  initdb uses a BKI file
  to do part of its job when creating a new database cluster.  The
  input file used by initdb is created as
  part of building and installing PostgreSQL
  by a program named genbki.sh from some
  specially formatted C header files in the source tree.  The created
  BKI file is called postgres.bki and is
  normally installed in the
  share subdirectory of the installation tree.
 
  Related information may be found in the documentation for
  initdb.
 
   This section describes how the PostgreSQL
   backend interprets BKI files.  This description
   will be easier to understand if the postgres.bki
   file is at hand as an example.  You should also study the source
   code of initdb to get an idea of how the
   backend is invoked.
  
   BKI input consists of a sequence of commands.  Commands are made up
   of a number of tokens, depending on the syntax of the command.
   Tokens are usually separated by whitespace, but need not be if
   there is no ambiguity.  There is no special command separator; the
   next token that syntactically cannot belong to the preceding
   command starts a new one.  (Usually you would put a new command on
   a new line, for clarity.)  Tokens can be certain key words, special
   characters (parentheses, commas, etc.), numbers, or double-quoted
   strings.  Everything is case sensitive.
  
   Lines starting with a # are ignored.