看看你能否访问数据库服务器的第一个例子就是试着创建一个数据库。一台运行着的 PostgreSQL 服务器可以管理许多数据库。通常我们会为每个项目和每个用户单独使用一个数据库。

节点管理员可能已经为你创建了可以使用的数据库。他应该已经告诉你这个数据库的名字。如果这样你就可以省略这一步,并且跳到下一节。

要创建一个新的数据库(在我们这个例子里叫 mydb),你可以使用下面的命令:

$ createdb mydb

它应该生成下面这样的响应:

CREATE DATABASE

如果这样,那么这一步就成功了,你就可以忽略本节余下的部分了。

如果你看到类似下面这样的信息:

createdb: command not found

那么就是 PostgreSQL 没有安装好:要么是就根本没装上、要么是搜索路径没有设置正确。尝试用绝对路径调用该命令试试:

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

在你的节点上这个路径可能不一样。请和管理员联系或者看看安装指导以获取正确的位置。

另外一种响应可能是这样:

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

这意味着服务器没有启动,或者没有在 createdb 预期的地方启动。同样,你也要检查安装指导或者找管理员。

另外一个响应可能是这样:

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

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

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

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

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

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

$ createdb

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

$ dropdb mydb

对于这条命令而言,数据库名不是缺省的用户名,你必须明确声明它。这个动作物理上将所有与该数据库相关的文件都删除并且不可恢复,因此做这件事之前一定要想清楚。

更多关于 createdbdropdb 的信息可以在 createdb 和 dropdb 小节找到。

注意

[1]

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

转载于:https://www.cnblogs.com/wolaiye320/p/5540602.html

PostgreSQL创建一个数据库相关推荐

  1. PostgreSQL创建一个数据库和常用的命令

    一台运行着 的PostgreSQL服务器可以管理许多数据库.通常我们 会为每个项目和每个用户单独使用一个数据库.站点管理员可能已经为你创建了可以使用的数据库. 1,创建数据库 create datab ...

  2. mysql 中修改对象_在MySQL中,创建一个数据库后,还可以对象其进行修改,不过这里的修改是指可以修改被创建数据库的相关参数,也可以修改数据库名。...

    [多选题]注射时,在(  )情况下,采用较高的注射速率. [单选题]通常,所设置的模具温度是指和制品接触的模腔内表面在(   ). [单选题]反映某一事件发生强度的指标应选用 [判断题]当试样制备之后 ...

  3. 11gR2RAC环境DBCA创建一个数据库错误ORA-15055 ORA-15001

    11gR2RAC环境DBCA创建一个数据库错误ORA-15055 ORA-15001 象: 在11gR2 GridInfrastructure和Database软件安装完毕之后,运行DBCA创建数据库 ...

  4. 创建一个数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)

    创建一个数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的 ...

  5. 选择数据库失败,可能是你没权限,请预先创建一个数据库

    一.问题描述 空间上直接安装DEDECMS,出现下面的问题: "选择数据库失败,可能是你没权限,请预先创建一个数据库" 二.解决方法: 解决办法是,数据库名称那个选项,填空间商提供 ...

  6. iCloud之创建一个数据库通过保存记录

    Creating a Database Schema by Saving Records 通过保存记录创建一个数据库模式 在开发过程中,可以很容易地创建一个使用CloudKit API的模式.当您保存 ...

  7. oracle简易版创建数据库,oracle创建一个数据库三步走

    以前开发的时候用得比较多的是mysql和sql server,oracle用的比较少,用起来比较生疏,mysql和sql server用起来比较类似,就oracle的使用方式和他们不同,oracle在 ...

  8. asp创建mysql表_创建一个数据库,用ASP怎么写?

    展开全部 ASP内用SQL语句创建一个32313133353236313431303231363533e58685e5aeb931333234303737带密码的ACCESS数据库 纯编码实现Acce ...

  9. linux 创建一个数据库,Linux下手动创建一个数据库

    这是自己手动创建一个Oracle数据库的过程. 在Linux下虽然通过dbca也可以创建数据库,但是在某些环境下却是不能使用图形环境,如数据库服务器在机房,并且开放的端口有限制,或者需要批量创建数据库 ...

最新文章

  1. ubuntu chrome java插件_在Ubuntu中为Chrome安装Java插件
  2. linux如何擦除光盘,在Linux操作系统下去掉光盘源的实用技巧
  3. 怎么打公式_迫真公式部~注入之里技
  4. 拯救者Y7000P 2020H款安装deepin20.5后资源空闲时经常出现风扇狂转现象
  5. html下拉列表用ul,Vue.js做select下拉列表的实例(ul-li标签仿select标签)
  6. 还没学python_2个月过去了!还没学会python?用《流畅的python》15天带你学会
  7. 让读博轻松、愉快的10种方法
  8. loadrunner之java协议脚本编写
  9. 第二次冲刺阶段第三天
  10. 中国黑客常用六种工具及防御方法(转)
  11. 51单片机全自动锂电池容量电量检测放电电流电压ACS712 ADC0832
  12. 网络信息安全攻防实验室之基础关
  13. 浅谈Single-Pass算法
  14. 11月15~30非技术积累
  15. Git-删除文件后找回
  16. AnyTrans for Mac(ios数据传输工具)
  17. hbase 使用lzo_hadoop hbase lzo 安装
  18. 大数据与云计算——牛客网大数据面试问题总结
  19. Redis实现分布式锁
  20. VideoStream流媒体(VOD视频点播)系统平台

热门文章

  1. JavaScript prototype整理(网上的三种理解)
  2. C# WinForm程序App.Config数据库连接配置文件的使用过程
  3. 利用ListView实现新闻客户端的新闻内容图文混排
  4. 约瑟夫环之循环链表实现
  5. linux内核经典书籍--Linux内核设计与实现
  6. 好记性不如烂笔头:会议纪要本
  7. golang中struct字段
  8. Hash索引和B+树索引
  9. sprintf、strcpy、strncpy及 memcpy 函数,请问这些函数功能有什么区别?配实例详解!
  10. JUC并发编程四 并发架构--并发之共享模型