一、安装

自然,在你能开始使用PostgreSQL之前, 你必须安装它。PostgreSQL很有可能已经安装到你的节点上了, 因为它可能包含在你的操作系统的发布里, 或者是系统管理员已经安装了它。如果是这样的话, 那么你应该从操作系统的文档或者你的系统管理员那里获取有关如何访问PostgreSQL的信息。

如果你不清楚PostgreSQL是否已经安装, 或者不知道你能否用它(已经安装的)做自己的实验,那么你就可以自己安装。 这么做并不难,并且是一次很好的练习。PostgreSQL可以由任何非特权用户安装, 并不需要超级用户 (root)的权限。

二、架构基础

在我们继续之前,你应该先了解PostgreSQL的系统架构。 对PostgreSQL的部件之间如何相互作用的理解将会使本节更易理解。

在数据库术语里,PostgreSQL使用一种客户端/服务器的模型。一次PostgreSQL会话由下列相关的进程(程序)组成:

  • 一个服务器进程,它管理数据库文件、接受来自客户端应用与数据库的联接并且代表客户端在数据库上执行操作。 该数据库服务器程序叫做postgres。

  • 那些需要执行数据库操作的用户的客户端(前端)应用。 客户端应用可能本身就是多种多样的:可以是一个面向文本的工具, 也可以是一个图形界面的应用,或者是一个通过访问数据库来显示网页的网页服务器,或者是一个特制的数据库管理工具。 一些客户端应用是和 PostgreSQL发布一起提供的,但绝大部分是用户开发的。

和典型的客户端/服务器应用(C/S应用)一样,这些客户端和服务器可以在不同的主机上。 这时它们通过 TCP/IP 网络联接通讯。 你应该记住的是,在客户机上可以访问的文件未必能够在数据库服务器机器上访问(或者只能用不同的文件名进行访问)。

PostgreSQL服务器可以处理来自客户端的多个并发请求。 因此,它为每个连接启动("forks")一个新的进程。 从这个时候开始,客户端和新服务器进程就不再经过最初的 postgres进程的干涉进行通讯。 因此,主服务器进程总是在运行并等待着客户端联接, 而客户端和相关联的服务器进程则是起起停停(当然,这些对用户是透明的。我们介绍这些主要是为了内容的完整性)。

三、创建一个数据库

看看你能否访问数据库服python教程务器的第一个例子就是试着创建一个数据库。 一台运行着的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 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用户帐号和操作系统用户帐号是不同的。)
你需要变成安装PostgreSQL的操作系统用户的身份(通常是 postgres)才能创建第一个用户帐号。 也有可能是赋予你的PostgreSQL用户名和你的操作系统用户名不同; 这种情况下,你需要使用-U选项或者使用PGUSER环境变量指定你的PostgreSQL用户名。如果你有个数据库用户帐号,但是没有创建数据库所需要的权限,那么你会看到下面的信息:
createdb: database creation failed: ERROR:  permission denied to create database
并非所有用户都被许可创建新数据库。 如果PostgreSQL拒绝为你创建数据库, 那么你需要让站点管理员赋予你创建数据库的权限。出现这种情况时请咨询你的站点管理员。 如果你自己安装了PostgreSQL, 那么你应该以你启动数据库服务器的用户身份登陆然后参考手册完成权限的赋予工作。你还可以用其它名字创建数据库。PostgreSQL允许你在一个站点上创建任意数量的数据库。 数据库名必须是以字母开头并且小于 63 个字符长。 一个方便的做法是创建和你当前用户名同名的数据库。 许多工具假设该数据库名为缺省数据库名,所以这样可以节省你的敲键。 要创建这样的数据库,只需要键入:
createdb果你再也不想使用你的数据库了,那么你可以删除它。 比如,如果你是数据库mydb的所有人(创建人), 那么你就可以用下面的命令删除它:
dropdb mydb(对于这条命令而言,数据库名不是缺省的用户名,因此你就必须声明它) 。这个动作将在物理上把所有与该数据库相关的文件都删除并且不可取消, 因此做这中操作之前一定要考虑清楚。四、访问数据库
一旦你创建了数据库,你就可以通过以下方式访问它:
(1)运行PostgreSQL的交互式终端程序,它被称为psql, 它允许你交互地输入、编辑和执行SQL命令。
(2)使用一种已有的图形化前端工具,比如pgAdmin或者带ODBC或JDBC支持的办公套件来创建和管理数据库。
(3)使用多种绑定发行的语言中的一种写一个自定义的应用。
你可能需要启动psql来试验本教程中的例子。 你可以用下面的命令为mydb数据库激活它:psql mydb
如果你不提供数据库名字,那么它的缺省值就是你的用户账号名字。在前面使用createdb的小节里你应该已经了解了这种方式。
在psql中,你将看到下面的欢迎信息:
psql (9.6.0)
Type "help" for help.mydb=>最后一行也可能是:
mydb=#

这个提示符意味着你是数据库超级用户,最可能出现在你自己安装了 PostgreSQL实例的情况下。 作为超级用户意味着你不受访问控制的限制。 对于本教程的目的而言, 是否超级用户并不重要。

如果你启动psql时碰到了问题,那么请回到前面的小节。诊断createdb的方法和诊断 psql的方法很类似, 如果前者能运行那么后者也应该能运行。

psql打印出的最后一行是提示符,它表示psql正听着你说话,这个时候你就可以敲入 SQL查询到一个psql维护的工作区中。试验一下下面的命令:

psql程序有一些不属于SQL命令的内部命令。它们以反斜线开头,"\"。 欢迎信息中列出了一些这种命令。比如,你可以用下面的命令获取各种PostgreSQL的SQL命令的帮助语法:

mydb=> \h
要退出psql,输入:
mydb=> \qpsql将会退出并且让你返回到命令行shell。 (要获取更多有关内部命令的信息,你可以在psql提示符上键入\?。)

PostgreSQL(一)教程 -----从头开始相关推荐

  1. 使用PostgREST的RestAPI操作PostgreSQL数据库教程

    使用PostgREST的RestAPI操作PostgreSQL数据库教程 表和视图 公开的架构中的所有视图和表均可被查询的活动数据库角色访问,并且可供活动数据库角色访问.它们暴露在一级深度路线中.例如 ...

  2. 阿里云数据库HybridDB for PostgreSQL使用教程

    2019独角兽企业重金招聘Python工程师标准>>> 云数据库HybridDB for PostgreSQL(ApsaraDB HybridDB for PostgreSQL)是一 ...

  3. postgreSQL 操作 教程

    postgreSQL 操作 教程 1. 建立数据库连接 2. 访问数据库 列出当前数据库所有表 列出数据库名 切换数据库 查询数据库.表名 内部命令 SQL命令通用如(标准化SQL语句): 数据库 s ...

  4. PostgreSQL 初学者教程

    PostgreSQL 初学者教程 掌握 PostgreSQL 的基础知识 | 一步一步学习 PostgreSQL | 学习 PostgreSQL 基础知识 此视频教程共2.5小时,中英双语字幕,画质清 ...

  5. PostgreSQL安装教程(Win10)

    PostgreSQL10.5安装详细步骤(Win10) PostgreSQL10.5安装后(Win10)环境变量配置与运行 PostgreSQL详细教程☆☆☆☆☆

  6. postgresql 创建用户_Liunx系统安装PostgreSQL数据库教程,值得程序员收藏pg安装教程

    介绍 PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,现在已经更名为PostgreSQL,版本 4.2为基础的对象关系型数据库管理系统(ORDBMS).PostgreSQL ...

  7. PostgreSQL系列教程

    转载 PostgreSQL函数和运算符(二) 7.7模式匹配<br />         PostgreSQL 提供了三种模式匹配的方法:SQLLIKE运算符.SIMILAR TO运算符( ...

  8. PostgreSQL教程--Ubuntu下PostgreSQL 安装教程

    1.环境信息 [背景]项目中使用到PostgreSQL,所以在家安装PostgreSQL数据库进行学习. [环境]宿主机windows.虚拟机Ubuntu PostgreSQL 12.4  :Ubun ...

  9. python实现树有多少种方法_教程 | 从头开始:用Python实现决策树算法

    如何计算并评价数据集中地候选分割点(Candidate Split Point) 如何在决策树结构中排分配这些分割点 如何在实际问题中应用这些分类和回归算法 一.概要 本节简要介绍了关于分类及回归树( ...

最新文章

  1. centos7.2下安装mysql5.7数据库
  2. 通过OData创建C4C Lead时,遇到Account missing的错误消息
  3. 20190530本科教学PPT 文本挖掘的两种基本方法(TF-IDF和LDA)
  4. C++实现的大整数分解Pollard's rho算法程序
  5. Hadoop设置任务执行队列及优先级
  6. windows C盘自动清理bat脚本
  7. 留学生Essay写作没思路的解决方案
  8. Elastic 7.12 版重磅发布:读时模式、冻结层技术预览版和自动扩展功能正式发布
  9. 《Modelica教程》by Fritzson 导言部分
  10. 瑞数5维普期刊js逆向
  11. NOIP2018(普及组 ) 赛后感想 题解
  12. 微信小程序 获取手机号 JavaScript解密示例代码详解
  13. Java春招面试复习:JDK 5-15都有哪些经典新特性
  14. 什么是Web1.0、2.0、3.0?
  15. 重学JavaWeb(3)JSON、AJAX
  16. 《机器学习》周志华 --第3章 线性模型 思维导图+笔记+习题
  17. CSDN如何收藏文章
  18. Python使用OpenCV处理图片通道数
  19. 附加码看不见的解决方法
  20. halcon学习笔记(二)轮廓

热门文章

  1. JavaWeb传统商城(MVC三层架构)的评价模块增删改查(CURD)的详细开发过程以及原理详解
  2. Web播放器 TcPlayer——腾讯直播sdk的网页播放器
  3. Metahuman 蒙皮、骨骼、驱动
  4. 关于ComponentName的一些用法
  5. LinuxSir.Org
  6. 智能数字资产管理系统,全面提升企业的管理效率
  7. Unity Asset Bundles Manifest文件
  8. 北邮计算机学院复试流程2019,2019年北邮网络技术研究院计算机科学与技术考研复试时间复试内容复试流程复试资料及经验...
  9. 我也要一个~ liyue429@gmail.com 谢谢博主!
  10. pytest 之 mark 用法汇总