Sophie

Sophie

distrib > Mandriva > 2006.0 > x86_64 > by-pkgid > b8f4049de69feba5041d49ed4382e582 > files > 35

postgresql-docs-8.0.11-0.1.20060mdk.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>BKI Backend Interface</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REV="MADE"
HREF="mailto:pgsql-docs@postgresql.org"><LINK
REL="HOME"
TITLE="PostgreSQL 8.0.11 Documentation"
HREF="index.html"><LINK
REL="UP"
TITLE="Internals"
HREF="internals.html"><LINK
REL="PREVIOUS"
TITLE="Database Page Layout"
HREF="storage-page-layout.html"><LINK
REL="NEXT"
TITLE="BKI Commands"
HREF="bki-commands.html"><LINK
REL="STYLESHEET"
TYPE="text/css"
HREF="stylesheet.css"><META
HTTP-EQUIV="Content-Type"
CONTENT="text/html; charset=ISO-8859-1"><META
NAME="creation"
CONTENT="2007-02-02T03:57:22"></HEAD
><BODY
CLASS="CHAPTER"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="5"
ALIGN="center"
VALIGN="bottom"
>PostgreSQL 8.0.11 Documentation</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="top"
><A
HREF="storage-page-layout.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="top"
><A
HREF="storage.html"
>Fast Backward</A
></TD
><TD
WIDTH="60%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="top"
><A
HREF="appendixes.html"
>Fast Forward</A
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="top"
><A
HREF="bki-commands.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="CHAPTER"
><H1
><A
NAME="BKI"
></A
>Chapter 50. <ACRONYM
CLASS="ACRONYM"
>BKI</ACRONYM
> Backend Interface</H1
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
>50.1. <A
HREF="bki.html#BKI-FORMAT"
><ACRONYM
CLASS="ACRONYM"
>BKI</ACRONYM
> File Format</A
></DT
><DT
>50.2. <A
HREF="bki-commands.html"
><ACRONYM
CLASS="ACRONYM"
>BKI</ACRONYM
> Commands</A
></DT
><DT
>50.3. <A
HREF="bki-example.html"
>Example</A
></DT
></DL
></DIV
><P
>  Backend Interface (<ACRONYM
CLASS="ACRONYM"
>BKI</ACRONYM
>) files are scripts in a
  special language that is understood by the
  <SPAN
CLASS="PRODUCTNAME"
>PostgreSQL</SPAN
> backend when running in the
  <SPAN
CLASS="QUOTE"
>"bootstrap"</SPAN
> mode.  The bootstrap mode allows system catalogs
  to be created and filled from scratch, whereas ordinary SQL commands
  require the catalogs to exist already.
  <ACRONYM
CLASS="ACRONYM"
>BKI</ACRONYM
> files can therefore be used to create the
  database system in the first place.  (And they are probably not
  useful for anything else.)
 </P
><P
>  <SPAN
CLASS="APPLICATION"
>initdb</SPAN
> uses a <ACRONYM
CLASS="ACRONYM"
>BKI</ACRONYM
> file
  to do part of its job when creating a new database cluster.  The
  input file used by <SPAN
CLASS="APPLICATION"
>initdb</SPAN
> is created as
  part of building and installing <SPAN
CLASS="PRODUCTNAME"
>PostgreSQL</SPAN
>
  by a program named <TT
CLASS="FILENAME"
>genbki.sh</TT
>, which reads some
  specially formatted C header files in the <TT
CLASS="FILENAME"
>src/include/catalog/</TT
>
  directory of the source tree.  The created
  <ACRONYM
CLASS="ACRONYM"
>BKI</ACRONYM
> file is called <TT
CLASS="FILENAME"
>postgres.bki</TT
> and is
  normally installed in the
  <TT
CLASS="FILENAME"
>share</TT
> subdirectory of the installation tree.
 </P
><P
>  Related information may be found in the documentation for
  <SPAN
CLASS="APPLICATION"
>initdb</SPAN
>.
 </P
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="BKI-FORMAT"
>50.1. <ACRONYM
CLASS="ACRONYM"
>BKI</ACRONYM
> File Format</A
></H1
><P
>   This section describes how the <SPAN
CLASS="PRODUCTNAME"
>PostgreSQL</SPAN
>
   backend interprets <ACRONYM
CLASS="ACRONYM"
>BKI</ACRONYM
> files.  This description
   will be easier to understand if the <TT
CLASS="FILENAME"
>postgres.bki</TT
>
   file is at hand as an example.
  </P
><P
>   <ACRONYM
CLASS="ACRONYM"
>BKI</ACRONYM
> 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.
  </P
><P
>   Lines starting with a <TT
CLASS="LITERAL"
>#</TT
> are ignored.
  </P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="storage-page-layout.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="bki-commands.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Database Page Layout</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="internals.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><ACRONYM
CLASS="ACRONYM"
>BKI</ACRONYM
> Commands</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>