管理数据库

现在Postgres 已经装好并运行起来了,我们就可以创建一些数据库来做一些实验.我们通过这种方法来描述如何管理数据库的基本命令。

大多数 Postgres 应用假定你的数据库名(如果没有指明的话)就是你的计算机用户名.

如果你的数据库管理员给你的数据库帐号没有创建数据库的权限,那么她应该告诉你你的数据库名.如果是这样,你可以略过创建和删除数据库的章节.

创建数据库

假设你想创建一个叫 mydb 的数据库.你可以用如下命令来创建:
% createdb mydb
如果你没有创建数据库的权限,你会看到如下的信息:
% createdb mydb
WARN:user "your username" is not allowed to create/destroy databases
createdb: database creation failed on mydb.
Postgres 允许你在一个节点上创建任意多个数据库,并且你将自动成为你所创建的数据库的管理员.数据库名必须以字母开头并且小于32个字符长.并不是每个用户都能成为数据库管理员.如果Postgres拒绝为你创建数据库.你应该向节点数据库管理员请求给予创建数据库的权限.出现这种情况时请与你的节点管理员联系。

访问数据库

一旦你建好了一个数据库,你可以通过下面手段访问它: 你可以运行 psql,试一下本手册里的例子.你可以用下面命令激活 mydb 数据库:
 
% psql mydb
将提示下面的问候信息:
Welcome to the POSTGRESQL interactive sql monitor:
  Please read the file COPYRIGHT for copyright terms of POSTGRESQL

   type \? for help on slash commands
   type \q to quit
   type \g or terminate with semicolon to execute query
 You are currently connected to the database: template1

mydb=>
这个命令提示符表明终端监控器正等候你的输入,你可以向由终端监控器维护的工作区键入SQL 查询. psql 对由反斜杠开头的字符进行转义,“\” 比如你可以通过键入下面字符获得各种 PostgresSQL 命令的语法帮助:
mydb=> \h
一旦你完成了向工作区的查询输入,你可以键入下面字符把工作区的内容提交给Postgres 服务进程:
mydb=> \g
T这句话告诉服务进程执行查询.如果你以分号结束你的查询,“\g” 可以不输入. psql 将自动处理分号结尾的查询.如果从一文件中读取查询,比如说从 myFile,键入:
mydb=> \i fileName
从 psql 退出到 UNIX,键入
mydb=> \q
psql 将退出到命令行.(有关更多转义符的信息, 在监控器提示符下键入 \h .)空白(如,空格,制表符和新行)可在 SQL查询里自由使用.单行注释使用  "--".在 "--"后面该行的所有内容都将被忽略.多行注释使用 "/* ... */".

删除数据库

如果你是数据库mydb 的管理员,你可以用下面UNIX命令删除该数据库:
 
% dropdb mydb
这个命令物理上删除所有与该数据库关联的UNIX文件,这个动作是不可逆的,因而执行这个动作之前一定要三思而后行.