举报投诉联系我们 手机版 热门标签 鳄鱼CMS
您的位置:鳄鱼CMS > PostgreSQL 创建一个数据库

PostgreSQL 创建一个数据库

2023-05-18 22:31

 PostgreSQL 创建一个数据库

看看你能否访问数据库服务器的第一个例子就是试着创建一个数据库。 一台运行着的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

在这里提到了你自己的登录名。如果管理员没有为你创建PostgreSQL用户帐号, 就会发生这些现象。(PostgreSQL用户帐号和操作系统用户帐号是不同的。) 如果你是管理员,参阅第 21 章获取创建用户帐号的帮助。 你需要变成安装PostgreSQL的操作系统用户的身份(通常是 postgres)才能创建第一个用户帐号。 也有可能是赋予你的PostgreSQL用户名和你的操作系统用户名不同; 这种情况下,你需要使用-U选项或者使用PGUSER环境变量指定你的PostgreSQL用户名。

如果你有个数据库用户帐号,但是没有创建数据库所需要的权限,那么你会看到下面的信息:

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

并非所有用户都被许可创建新数据库。 如果PostgreSQL拒绝为你创建数据库, 那么你需要让站点管理员赋予你创建数据库的权限。出现这种情况时请咨询你的站点管理员。 如果你自己安装了PostgreSQL, 那么你应该以你启动数据库服务器的用户身份登录然后参考手册完成权限的赋予工作。

你还可以用其它名字创建数据库。PostgreSQL允许你在一个站点上创建任意数量的数据库。 数据库名必须是以字母开头并且小于 63 个字符长。 一个方便的做法是创建和你当前用户名同名的数据库。 许多工具假设该数据库名为缺省数据库名,所以这样可以节省你的敲键。 要创建这样的数据库,只需要键入:

$ createdb

如果你再也不想使用你的数据库了,那么你可以删除它。 比如,如果你是数据库mydb的所有人(创建人), 那么你就可以用下面的命令删除它:

$ dropdb mydb

(对于这条命令而言,数据库名不是缺省的用户名,因此你就必须声明它) 。这个动作将在物理上把所有与该数据库相关的文件都删除并且不可取消, 因此做这中操作之前一定要考虑清楚。

更多关于createdbdropdb的信息可以分别在createdbdropdb中找到。



为什么这么做的解释:PostgreSQL用户名是和操作系统用户账号分开的。 如果你连接到一个数据库时,你可以选择以何种PostgreSQL用户名进行联接; 如果你不选择,那么缺省就是你的当前操作系统账号。 如果这样,那么总有一个与操作系统用户同名的PostgreSQL用户账号用于启动服务器, 并且通常这个用户都有创建数据库的权限。如果你不想以该用户身份登录, 那么你也可以在任何地方声明一个-U选项以选择一个用于连接的PostgreSQL用户名。


阅读全文
以上是鳄鱼CMS为你收集整理的 PostgreSQL 创建一个数据库全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
  •  PostgreSQL 表分区

    PostgreSQL 表分区

    2023-05-31 PostgreSQL 表分区

    5.11.1. 概述5.11.2. 声明式划分5.11.3. 使用继承实现5.11.4. 分区剪枝5.11.5. 分区和约束排除5.11.6. 声明分区最佳实践PostgreS...

  •  PostgreSQL 概述

    PostgreSQL 概述

    2023-03-31 PostgreSQL 概述

    从数据库中检索数据的过程或命令叫做查询。在 SQL 里SELECT命令用于指定查询。 SELECT命令的一般语法是[WITH with_queries] ...

  •  PostgreSQL administrable_role_​authorizations

    PostgreSQL administrable_role_​authorizations

    2023-05-16

    视图administrable_role_authorizations标识当前用户对其有管理选项的所有角色。表36.2.administrable_role_authorizations 列列...

  •  PostgreSQL pg_foreign_table

    PostgreSQL pg_foreign_table

    2023-04-03

    目录pg_foreign_table包含关于外部表的辅助信息。一个外部表和普通表一样,主要由一个pg_class项表示。它的pg_foreign_table项包...

  •  PostgreSQL pg_opclass

    PostgreSQL pg_opclass

    2023-04-02

    目录pg_opclass定义索引访问方法的操作符类。每一个操作符类定义了一种特定数据类型和一种特定索引访问方法的索引列的语义。一个...

© 2024 鳄鱼CMS eyucms.com 版权所有 联系我们