测试是否能正常访问数据库服务器的首选方法是尝试创建一个数据库。PostgreSQL服务可以同时管理多个数据库。通常,每个项目或用户都应该使用单独的数据库。

您的站点管理员可能已经创建了一个数据库供您使用。询问他数据库的名字。这样的话,您可以省略该步骤跳到下一部分。

创建一个新数据库,命名为mydb,您可以使用以下命令:


$ createdb mydb

如果没有任何返回,那么说明操作成功了,您可以跳过本节的剩余部分。

如果您看到类似消息:


createdb: command not found

说明PostgreSQL没有正确安装。或者它根本没有安装,或者你的shell路径没有包含它。尝试使用下绝对路径:


$ /usr/local/pgsql/bin/createdb mydb

您网站上的路径可能不同。请联系您的网站管理员或查看安装说明找到正确的路径。

还可能出现这样的错误:


createdb: could not connect to database postgres: could not connect to server: No such file or directory
        Is the server running locally and accepting
        connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

这意味着服务器可能没有启动,或者它没有在createdb预期的地方启动。再次检查安装说明或咨询管理员。

还可能出现这样的错误:

createdb: could not connect to database postgres: FATAL:  role "joe" does not exist

其中"joe"会替换成你自己的登录名。如果管理员没有为您创建PostgreSQL用户帐户,就会发生这种情况。 (PostgreSQL用户帐户与操作系统帐户不同。)如果您是管理员,请参阅第20章查看如何创建帐户。需要用安装PostgreSQL(通常是postgres)时使用的操作系统用户来创建第一个用户帐户。也可能是您被分配德PostgreSQL用户名与您的操作系统用户名不同,在这种情况下,您需要使用-U开关或设置PGUSER环境变量来指定您的PostgreSQL用户名。

如果您有用户帐户,但没有创建数据库所需的权限,您将看到以下内容:


createdb: database creation failed: ERROR:  permission denied to create database

不是所有用户都有权限创建数据库的。如果PostgreSQL拒绝为您创建数据库,那么需要站点管理员授予您创建数据库的权限,请咨询网站管理员。如果是您自己安装的PostgreSQL,那么您应该使用启动服务器的帐户

您也可以使用其他名称创建数据库。 PostgreSQL允许您创建任意数量的数据库。数据库名称第一个字符必须是字母,最大长度为63个字节。创建与当前用户名相同名称的数据库是一个不错的选择,许多工具也会把用户名作为创建数据库的默认值,可以节省一些输入。要创建该数据库,只需键入:


$ createdb

如果数据库不再使用,可以将其删除。例如,如果您是数据库mydb的所有者(创建者),则可以使用以下命令将其删除:


$ dropdb mydb

(该命令,数据库名称不会默认为用户帐户名称,您需要显示指定它。)此操作会物理删除与该数据库相关联的所有文件,并且是无法恢复的,所以操作该命令必须慎之又慎。

有关createdb和dropdb的更多内容可以分别在createdbdropdb中找到。

results matching ""

    No results matching ""