Current File : //usr/share/doc/postgresql-9.2.24/html/manage-ag-overview.html |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>Overview</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 9.2.24 Documentation"
HREF="index.html"><LINK
REL="UP"
TITLE="Managing Databases"
HREF="managing-databases.html"><LINK
REL="PREVIOUS"
TITLE="Managing Databases"
HREF="managing-databases.html"><LINK
REL="NEXT"
TITLE="Creating a Database"
HREF="manage-ag-createdb.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="2017-11-06T22:43:11"></HEAD
><BODY
CLASS="SECT1"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="5"
ALIGN="center"
VALIGN="bottom"
><A
HREF="index.html"
>PostgreSQL 9.2.24 Documentation</A
></TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="top"
><A
TITLE="Managing Databases"
HREF="managing-databases.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="top"
><A
HREF="managing-databases.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="60%"
ALIGN="center"
VALIGN="bottom"
>Chapter 21. Managing Databases</TD
><TD
WIDTH="20%"
ALIGN="right"
VALIGN="top"
><A
TITLE="Creating a Database"
HREF="manage-ag-createdb.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="MANAGE-AG-OVERVIEW"
>21.1. Overview</A
></H1
><P
> A database is a named collection of <ACRONYM
CLASS="ACRONYM"
>SQL</ACRONYM
> objects
(<SPAN
CLASS="QUOTE"
>"database objects"</SPAN
>). Generally, every database
object (tables, functions, etc.) belongs to one and only one
database. (However there are a few system catalogs, for example
<TT
CLASS="LITERAL"
>pg_database</TT
>, that belong to a whole cluster and
are accessible from each database within the cluster.) More
accurately, a database is a collection of schemas and the schemas
contain the tables, functions, etc. So the full hierarchy is:
server, database, schema, table (or some other kind of object,
such as a function).
</P
><P
> When connecting to the database server, a client must specify in
its connection request the name of the database it wants to connect
to. It is not possible to access more than one database per
connection. However, an application is not restricted in the number of
connections it opens to the same or other databases. Databases are
physically separated and access control is managed at the
connection level. If one <SPAN
CLASS="PRODUCTNAME"
>PostgreSQL</SPAN
> server
instance is to house projects or users that should be separate and
for the most part unaware of each other, it is therefore
recommended to put them into separate databases. If the projects
or users are interrelated and should be able to use each other's
resources, they should be put in the same database but possibly
into separate schemas. Schemas are a purely logical structure and who can
access what is managed by the privilege system. More information about
managing schemas is in <A
HREF="ddl-schemas.html"
>Section 5.7</A
>.
</P
><P
> Databases are created with the <TT
CLASS="COMMAND"
>CREATE DATABASE</TT
> command
(see <A
HREF="manage-ag-createdb.html"
>Section 21.2</A
>) and destroyed with the
<TT
CLASS="COMMAND"
>DROP DATABASE</TT
> command
(see <A
HREF="manage-ag-dropdb.html"
>Section 21.5</A
>).
To determine the set of existing databases, examine the
<TT
CLASS="STRUCTNAME"
>pg_database</TT
> system catalog, for example
</P><PRE
CLASS="SYNOPSIS"
>SELECT datname FROM pg_database;</PRE
><P>
The <A
HREF="app-psql.html"
><SPAN
CLASS="APPLICATION"
>psql</SPAN
></A
> program's <TT
CLASS="LITERAL"
>\l</TT
> meta-command
and <TT
CLASS="OPTION"
>-l</TT
> command-line option are also useful for listing the
existing databases.
</P
><DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
> The <ACRONYM
CLASS="ACRONYM"
>SQL</ACRONYM
> standard calls databases <SPAN
CLASS="QUOTE"
>"catalogs"</SPAN
>, but there
is no difference in practice.
</P
></BLOCKQUOTE
></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="managing-databases.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="manage-ag-createdb.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Managing Databases</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="managing-databases.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Creating a Database</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>