现在 Postgres 已经装好并运行起来了, 我们就可以创建一些数据库来做一些实验. 我们通过这种方法来如何管理数据库的基本命令。
大多数 Postgres 应用假定你的数据库名(如果没有指明的话)就是你的计算机用户名.
如果你的数据库管理员给你的数据库帐号没有创建数据库的权限, 那么她应该告诉你你的数据库名. 如果是这样,你可以略过创建和删除数据库的章节.
假设你想创建一个叫 mydb 的数据库.你可以用如下命令来创建:
% createdb mydb
如果你没有创建数据库的权限,你会看到如下的信息:
% createdb mydb NOTICE:user "your username" is not allowed to create/destroy databases createdb: database creation failed on mydb.
Postgres 允许你在一个节点上创建任意多个数据库, 并且你将自动成为你所创建的数据库的管理员. 数据库名必须以字母开头并且小于32个字符长. 并不是每个用户都能成为数据库管理员.如果 Postgres 拒绝为你创建数据库. 你应该向节点数据库管理员请求给予创建数据库的权限. 出现这种情况时请与你的节点管理员联系。
一旦你建好了一个数据库,你可以通过下面手段访问它:
运行 Postgres 的终端监控程序(如 psql),你可以交互地输入,编辑和运行 SQL 命令.
使用一种现有的本地前端工具,比如 pgaccess 或 ApplixWare (或者 ODBC)用意创建和操作数据库.
使用一种具有支持 Postgres ,如 perl 或 tcl.这些语言中有些还有一些非常方便和强大的 GUI 工具, 这些工具可以帮你构造客户应用. 我们上面说的 pgaccess ,就是一个用 tk/tcl 写的类似工具的例子.
写一个 使用 LIBPQ 库的 C 程序. 你便可以在 C 里面提交一个 SQL 命令并且在程序里面得到结果和状态的响应. 这些接口将在 程序员手册 里进一步讨论。
% 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 对由反斜杠开头的字符进行转义, "\" 比如你可以通过键入下面字符获得各种 Postgres SQL 命令的语法帮助:
mydb=> \h
一旦你完成了向工作区的查询输入, 你可以键入下面字符把工作区的内容提交给 Postgres 服务进程:
mydb=> \g这句话告诉服务进程执行查询.如果你以分号结束你的查询, "\g" 可以不输入. psql 将自动处理分号结尾的查询. 如果从一文件中读取查询,比如说从 myFile,键入:
mydb=> \i fileName从 psql 退出到 UNIX,键入
mydb=> \q然后 psql 将退出到命令行. (有关更多逃逸符的信息, 在监控器提示符下键入 \h .)空白(如,空格,制表符和新行)可在 SQL 查询里自由使用.单行注释使用 "--".在 "--" 后面该行的所有内容都将被忽略.多行注释使用 "/* ... */".
如果你是数据库 mydb的管理员,你可以用下面UNIX命令删除该数据库:
% dropdb mydb这个命令物理上删除所有与该数据库关联的UNIX文件, 这个动作是不可逆的,因而执行这个动作之前一定要三思而后行.