|
PostgreSQL 7.3 文档
Prev Chapter 1. 从头开始 Next
1.3. 创建一个数据库
看看你能否访问数据库服务器的第一个例子就是试着创建一个数据库. 一台运行着的 PostgreSQL 服务器可以 管理许多数据库.通常我们会为每个项目和每个用户单独使用一个数据库.
你的节点管理员可能已经为你创建了可以使用的数据库. 他应该已经告诉你这个数据库的名字.如果这样你就可以省略这一步, 并且跳到下一节.
要创建一个新的数据库,在我们这个例子里叫 mydb,你可以使用下面的命令∶
$ createdb mydb
它应该生成下面这样的响应∶
CREATE DATABASE
如果这样,那么这一步就成功了,你就可以忽略本节余下的部分了.
如果你看到类似下面这样的信息
createdb: command not found
那么就是PostgreSQL没有安装好.要么是就根本没装上, 要么是你的搜索路径没有设置正确.尝试用绝对路径调用该命令试试∶
$ /usr/local/pgsql/bin/createdb mydb
在你的节点上这个路径可能不一样.和你的管理员联系或者 看看安装指导获取正确的位置.
另外一种响应可能是这样∶
psql: could not connect to server: Connection refused
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
createdb: database creation failed
这意味着该服务器没有启动,或者没有在 createdb 预期的地方启动.同样, 你也要检查安装指导或者找管理员.
如果你没有创建数据库所需要的权限,那么你会看到下面的东西∶
ERROR: CREATE DATABASE: permission denied
createdb: database creation failed
并非所有用户都经过了创建新数据库的授权. 如果 PostgreSQL 拒绝为你创建数据库, 那么你需要让节点管理员赋予你创建数据库的权限.出现这种情况时请 咨询你的节点管理员.如果你自己安装了 PostgreSQL, 那么你应该以你启动数据库服务器的用户身份登陆然后参考手册完成 权限的赋予工作. [1]
你还可以用其它名字创建数据库. PostgreSQL 允许你在一个节点上创建任意 数量的数据库.数据库名必须是以字母开头并且小于 63 个字符长. 一个方便的做法是创建和你当前用户名同名的数据库. 许多工具假设该数据库名为缺省数据库名,所以这样可以节省你的敲键. 要创建这样的数据库,只需要键入
$ createdb
如果你再也不想使用你的数据库了,那么你可以删除它. 比如,如果你是数据库 mydb 的所有人(创建人), 那么你就可以用下面的命令删除它∶
$ dropdb mydb
(对于这条命令而言,数据库名不是缺省的用户名.这样你就必须声明它.) 这个动作物理上将所有与该数据库相关的文件都删除并且不可取消, 因此做这件事之前一定要想清楚.
Notes
[1]
为什么这么干就行了? 解释∶PostgreSQL 用户名是和操作系统 用户账号分开的.如果你与一个数据库联接,你可以选择以何种 PostgreSQL 用户名进行联接; 如果你不选择,那么缺省就是你的当前操作系统账号. 如果这样,那么总有一个与操作系统用户同名的 PostgreSQL 用户账号用于启动服务器, 并且通常这个用户都有创建数据库的权限.如果你不想以该用户身份登陆, 那么你也可以在任何提防声明一个 -U 选项以 选择一个联接的 PostgreSQL 用户名.
Prev Home Next
体系基本概念 Up 访问数据库
PostgreSQL 7.3 文档
Prev Chapter 1. 从头开始 Next
1.4. 访问数据库
一旦你创建了数据库,你就可以访问它∶
*
运行 PostgreSQL 交互的终端程序, 叫 psql, 它允许你交互地输入,编辑,和执行 SQL 命令.
*
使用我们现有的图形前端工具,比如 PgAccess 或者 带 ODBC 支持的办公套件来 创建和管理数据库. 这种方法在这份教程中没有介绍.
*
写一个客户应用,使用多种语言绑定中的一种. 这些可能性在 PostgreSQL 7.3 程序员手册 中有更深入的 讨论.
你可能需要启动 psql,试验本教程中的例子. 你可以用下面的命令为 mydb 数据库激活它∶
$ psql mydb
如果你省略了数据库名字,那么它缺省就是你的用户账号名字. 你已经在前面的小节里知道这个大纲了.
在 psql 里,你会看到下面的欢迎信息∶
Welcome to psql 7.3, the PostgreSQL interactive terminal.
Type: \copyright for distribution terms
\h for help with SQL commands
\? for help on internal slash commands
\g or terminate with semicolon to execute query
\q to quit
mydb=>
最后一行也可能是
mydb=#
这个提示符意味着你是数据库超级用户,最可能出现在你自己安装了 PostgreSQL 的情况下.作为超级用户 意味着你不受访问控制的限制.对于本教程的目地而言,是否超级用户 并不重要.
如果你启动 psql 时碰到了问题,那么回到前面 的小节.诊断 psql 的方法和诊断 createdb 的方法很类似,如果后者能运行那么 前者也应该能运行.
psql 打印出的最后一行是提示符,它表示 psql 正听着你说话,这个时候你就可以敲入 SQL 查询到一个 psql 维护的 工作区中.试验一下下面的命令∶
mydb=> SELECT version();
version
----------------------------------------------------------------
PostgreSQL 7.3devel on i586-pc-linux-gnu, compiled by GCC 2.96
(1 row)
mydb=> SELECT current_date;
date
------------
2002-08-31
(1 row)
mydb=> SELECT 2 + 2;
?column?
----------
4
(1 row)
psql 程序有一些不属于 SQL 命令的内部命令. 它们以反斜扛开头,"\". 有些这种命令在欢迎信息中列出.比如,你可以用下面的命令 获取各种PostgreSQL SQL 命令的帮助语法∶
mydb=> \h
要退出 psql,键入
mydb=> \q
然后 psql 就会退出并且给你返回到命令行 shell. (要获取更多有关内部命令的信息,你可以在 psql 提示符上键入 \?.)psql 的 完整功能在 PostgreSQL 7.3 参考手册 中有文档.如果 PostgreSQL 安装正确,那么你还可以在操作系统的 shell 提示符上键入 man psql 来阅读该文档.在这份文档里,我们将 不会明确使用这些特性,但是你自己可以在合适的时候使用它们.
Prev Home Next
创建一个数据库 Up SQL 语言 |
|