postgresql学习笔记1---安装和psql基本操作

2023-05-16

本文是PostgreSQL修炼之道这本书的学习笔记,记录下疑惑或不解的地方.
这里也列一些资源:
官方文档:http://www.postgresql.org/files/documentation/pdf/9.4/postgresql-9.4-A...
中文文档:http://www.php100.com/manual/PostgreSQL8/
阮一峰的博客:http://www.ruanyifeng.com/blog/2013/12/getting_started_with_postgresql...

1. 安装:

====

ubuntu下安装很简单:

sudo apt-get install postgresql

安装完成后哦系统自动创建了一个系统用户,也是postgresql的超级用户,无需密码即可登录到数据库.

如果还想安装图形管理界面:

 sudo apt-get install pgadmin3

可以很清楚看到所创建的数据库和表,就像这样:
图片描述

2. 添加新用户和新数据库

现在进入系统用户postgres下:

sudo su - postgres

然后连接到数据库:

 $psql

如果想创建一个新的数据库用户可以这样做:

  1. sudo adduser dbuser
    在系统中创建一个新用户.
  2. sudo su - postgres
    要切换到postgres用户下为这个新用户dbuser创建数据库.
  3. $psql
    如果一切正常,系统提示符会变为”postgres=#”,表示这时已经进入了数据库控制台。以下的命令都在控制台内完成。

在这里创建dbuser数据库用户

CREATE USER dbuser WITH PASSWORD 'password';

注意结尾一定要加封号';'

然后创建dbuser数据库用户的一个数据库,这里为exampledb,并指定所有者为dbuser.

CREATE DATABASE exampledb OWNER dbuser;

最后是将exampledb的所有权限都赋予dbuser,否则dbuser只能登录控制台没有任何数据库操作权限.

GRANT ALL PRIVILEGES ON DATABASE exampledb to dbuser;

最后使用\q退出控制台

3. 登录数据库

在创建了某个系统用户的某个数据库用户的某个数据库之后.我们现在要登录她;

使用以下命令:

psql -U dbuser -d exampledb -h 127.0.0.1 -p 5432

我试过了在ubuntu的不同系统下都可以通过这种方式,登录一个数据库.
当然如果你要登录的额数据库就在你现在系统下,可以简单使用psql exampledb登录.
更简单的如果在你的用户名叫做dbuser,数据库也叫dbuser,那么在dbuser用户下就使用psql就可以一步登录dbuser数据库.

这样几个包含关系用文字描述不太清楚,之后用图表来表示一下,先放在这里.

4. psql工具的使用介绍:

============
使用psql可以允许你交互地输入SQL命令,类似与ORACLE里的sqlplus一样.

4.1 psql的简单使用


  • 在dbuser用户下进入example数据库.
    sudo su - dbuser
    psql exampledb

效果如下:
图片描述

  • 查看数据库信息
psql -l

图片描述

当然也可以在psql命令行地下使用\l查看

$psql exampledb
exampledb=>\l
  • 使用\d可以查看该数据库下表的信息:
    exampledb=>\d

图片描述

  • 创建数据库:

目测创建一个数据库是超级用户的权限,其他数据库用户没有这个权限.
所以先返回postgres系统用户下:

$su - postgres

进入数据库用户postgres:

$psql
#CREATE DATABAE testdb OWNER dbuser;

4.2 psql常用命令:

先列出来:
\d
\dn
\db
\dg
\du
\dp
\encoding
\pset
\x
\echo
\?

4.2.1.\d命令
如果什么都不带,\d列出当前数据库中的所有表;
例如在postgres数据库中:

postgres=#\d

图片描述

2.\d后面加表名

\d score

图片描述

3.\d也可以显示索引信息

\d t_pkey

4.\d后面加通配符?和*

\d score*
\d score?

5.\d+显示比\d更多的信息,除了之前的那些,还有与表列一切相关连的注释,以及表中出现的OID.
\d+ score

6.匹配不同对象类型的\d命令(还没用过)

  • 如果只想显示匹配的表,可以使用
    dt命令;
  • 如果想只显示索引,可以使用\di命令;
  • 如果想只显示序列,可以使用\ds命令;
  • 如果想只显示视图,可以使用\df命令;
  • 如果想只显示函数,可以使用\df命令;

7.如果想显示SQL已执行的时间,可以用\timing命令,实例:

#\timing on
#select count(*) from score;

8.列出所有schema可以使用\dn

#\dn

9.显示所有表空间可以用\db命令

#\db`请输入代码`

10.列出数据库的所哟角色或用户

#\du或#\dg

11.显示表的权限分配

#\dp或\z

4.2.2指定字符集编译的命令

当客户端的字符编码与服务其的不一样是,可能会显示乱码,可以使用\encoding 指定客户端的字符编码,如\encoding gbk;\encoding utf-8;

4.2.3\pset命令

\pset命令用于设置输出的格式

\pset border 0:输出内容无

4.2.4\x命令

把表中的每一行数据都拆分为单行展示

#\x

4.2.5执行储存在外部文件中的SQL命令

/i<文件名>执行存储在外部文件中的sql语句或命令.如下:
#\i getrunsql
发现该书中的一个错误.

4.2.6显示信息的命令:

\echo hello world
#hello world

这个命令通常在使用.sh脚本的文件中输出一些提示信息.
比如,某一个文件a.sql有一下内容:
\echo=======================
select * from xl;
\echo=======================

4.2.7更多命令
\?可以用来查询其他所有命令:

#\?

4.2.8psql的使用技巧和注意事项

历史命令补全:
连按两个Tab键

#\d <-----这里连按两个Tab键

图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

postgresql学习笔记1---安装和psql基本操作 的相关文章

  • java a 运算_java中a++和++a在较复杂的运算中分析

    以下是一段普遍都了解的代码 xff1a public static void main String args int a 61 3 System out println a 43 43 43 1 4 System out println
  • Boom!!!计算机系统,从理解到爆炸,Bomblab

    进入目录下 bomb 开始运行炸弹 对于炸弹command not found之类的鬼畜情况 xff1a chmod 777 bomb 然后再运行炸弹 objdump d bomb gt bomb s 把整个代码打到文件里去 xff0c 也
  • 笔记本无法连接校园网,windows诊断显示校园网之未响应

    打开cmd xff08 管理员 xff09 xff1a 输入以下四条 xff0c 每一条都按enter ipconfig flushdns ipconfig registerdns ipconfig release ipconfig ren
  • 判断两个IP是否处于同一子网(网段)

    大学的时候有上过计算机网络的课程 xff0c IP这块也有一些接触 xff0c 但向来不是很好学的我 xff0c 对于一些问题似是而非的态度 xff0c 感觉知道 xff0c 但具体的又说不上 xff0c 今天就花了点时间彻底把这个问题搞清
  • zeromq发送文件到服务器,将zeromq套接字连接到redis服务器以进行数据传输?

    我想将服务器上的消息 ZMQ ROUTER套接字 xff0c 处理多个客户端 传输到redis服务器以用于存储目的 我听说 xff0c redis不会说ZMQ 所以如果不搭桥 xff0c 就不可能实现 我接受你的建议 在哪里看 xff1f
  • 历数NFV的发展历程

    随着网络产业正在通过SDN转型 xff0c NFV的互补架构概念越来越突出 为解释这种状况 xff0c 下文中将对NFV的定义 如何出现以及如何影响企业数据中心加以阐释 NFV的定义 维基百科对于NFV的定义是 xff1a NFV是使用虚拟
  • 线程相关知识

    线程的概念 1 xff0e 线程 1 线程是由表示程序运行状态的寄存器 包括程序计数器和堆栈 组成的 2 线程是程序执行过程中的某一时刻的状态 3 线程是一个用户级的实体 xff0c 在内存中驻留在普通用户级方法可以直接访问的区域 4 每个
  • 白盒交换机操作系统混战

    白盒交换机的出现给了用户选择最佳软硬件平台的权利 xff0c 它仅仅提供交换机硬件和ONIE xff08 开放网络安装环境 xff09 xff0c 用户可以自行选择最合适的交换机芯片 xff0c 降低成本实现最大效益 但是白盒交换机没有软件
  • Mysql修改设置root密码的命令及方法

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 方法一 xff1a 使用SQL语句命令UPDATE 需用到Mysql自带的加密函数PASSWORD string xff0c 该函数对一个明文密码进行加密 xff0c 但不
  • python中if有多个条件_Python if有多个条件怎么办

    Python中if有多个条件的处理方法 python中if有多个条件 可以使用and or elif关键字来连接 代码为 if name zs and age 18 print name zs age 18 Python中if有多个条件的处
  • linux查看openssl安装目录,linux如何使用openssl

    最近要做一个项目要用到openssl库 Linux里 无奈 xff0c 不得不安装openssl了 可是查了好多的资料都是一头雾水 xff0c 都不知道到底要是怎样才算是安装成功了 我的系统是 xff1a redhat xff0c 内核是
  • linux查看topic分区的数据量,如何查看Kafka的Topic消费情况

    温馨提示 xff1a 如果使用电脑查看图片不清晰 xff0c 可以使用手机打开文章单击文中的图片放大查看高清原图 Fayson的github xff1a https github com fayson cdhproject 提示 xff1a
  • AttackLab 这次我偷懒了

    这里有题解 xff0c 这里有题解 xff0c 这里有题解 迅速暴击上面一行 xff0c xff0c xff0c xff0c xff0c 感谢男神LJL 留几张图 第一次lab结束的时候还是12点之前 xff0c 感人 xff08 PS x
  • 与ajax相同的技术,AJAX是什么?都包含那些技术?

    AJAX的意思与包含的技术楼上的 亲 伱左脸 已经做出了回答了 xff0c 下面我就给你一点别的吧 xff0c 希望对你有所帮助 与传统的web应用比较 传统的web应用允许用户填写表单 form xff0c 当提交表单时就向web服务器发
  • asp网站 服务器iis 安全设置,Windows server 2008 R2 + IIS7.5,ASP网站设置

    1 让IIS7支持ASP Win2008 IIS7 默认不安装ASP xff0c 如果需要ASP 的支持 xff0c 需要将这个角色服务选上 2 相关设置 应用程序池 gt DefaultAppPool gt 高级设置 gt 启用32位应用
  • 服务器修改css,本地服务器修改css

    本地服务器修改css 内容精选 换一换 Windows Server 2012 R2操作系统弹性云服务器 xff0c 本地使用远程桌面连接功能连接云服务器并启用redirected drive功能时 xff0c 云服务器出现蓝屏 远程桌面连
  • RDS SQL Server 创建数据库关系图(Database Diagrams)

    背景介绍 SQL Server 关系图是一个非常简单易用且方便的工具 xff0c 可以直观的把数据库中表之间的关系展现出来 xff0c 不用手动整理或者写脚本整理各个表之间的关系 xff0c 如下图 RDS SQL Server 2008
  • MapReduce实战:自定义输入格式实现成绩管理

    1 项目需求 我们取有一份学生五门课程的期末考试成绩数据 xff0c 现在我们希望统计每个学生的总成绩和平均成绩 样本数据如下所示 xff0c 每行数据的数据格式为 xff1a 学号 姓名 语文成绩 数学成绩 英语成绩 物理成绩 化学成绩
  • 走心整理——十个常用深度学习算法

    十分抱歉 xff0c 由于项目太忙 xff08 我会说自己懒吗 xff1f xff09 柳猫一直没有更新自己的手记 xff0c 现在 xff0c 就让柳猫来讲讲十个常用的深度学习算法 过去十年里 xff0c 人们对机器学习的兴趣经历了爆炸式
  • Linux信号量操作次数的探究

    需求源于项目中一部分设计的代码 struct semaphore类型的信号量 xff0c 使用up 进行释放 xff0c down interruptible 和down 获得指定信号量 xff08 前者中 xff0c 若该信号量已争用则进

随机推荐

  • 编写简单的MapReduce程序(Hadoop2.2.0)

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 我们以简化版的气温统计为例 xff0c 演示如何开发一个MapReduce程序 Eclipse中新建一个MapReduce项目 xff0c 命名为MaxTemperatur
  • 【操作系统】trap,interrupt,和异常

    陷阱 计算机有两种运行模式 xff1a 用户态 xff0c 内核态 其中操作系统运行在内核态 xff0c 在内核态中 xff0c 操作系统具有对所有硬件的完全访问权限 xff0c 可以使机器运行任何指令 xff1b 相反 xff0c 用户程
  • PowerShell-数组的多种录入方法

    PS xff1a 这个需求是小骆驼发起的 感谢 微软云方案交流 236804566 这个高端群的用户贡献 我们首先看看一个标准的数组 是怎么录入的 PS D gt arr 61 34 adf 34 34 asdfer 34 34 sreds
  • vnc 端口修改、用户添加删除、批量启动停止

    2019独角兽企业重金招聘Python工程师标准 gt gt gt yum y install tiger server usr bin env bash config file 61 34 etc sysconfig vncservers
  • Docker命令详解

    最近学习Docker xff0c 将docker所有命令实验了一番 xff0c 特整理如下 xff1a docker help Usage docker OPTIONS COMMAND arg docker daemon help dock
  • rman备份rman-00554 ,rman-04005错误

    gt rman target 64 orac 到Oracle安装目录找到 network admin sqlnet ora文件 将SQLNET AUTHENTICATION SERVICES 61 NONE 修改为 SQLNET AUTHE
  • 码农学ODL之SDN入门篇

    本文作为码农学ODL系列的SDN基础入门篇 xff0c 分为两部分 第一部分 xff0c 主要讲述SDN是什么 xff0c 改变了什么 xff0c 架构是什么样的 xff0c 第二部分 xff0c 简要介绍如何去学习SDN 1 什么是SDN
  • CAS单点登录之mysql数据库用户验证及常见问题

    前面已经介绍了CAS服务器的搭建 xff0c 详情见 xff1a 搭建CAS单点登录服务器 然而前面只是简单地介绍了服务器的搭建 xff0c 其验证方式是原始的配置文件的方式 xff0c 这显然不能满足日常的需求 下面介绍下通过mysql数
  • 抽象类和接口的区别

    抽象类和接口的区别 一 抽象类 xff1a 抽象类是特殊的类 xff0c 只是不能被实例化 xff1b 除此以外 xff0c 具有类的其他特性 xff1b 重要的是抽象类可以包括抽象方法 xff0c 这是普通类所不能的 抽象方法只能声明于抽
  • 对本课程的期望

    希望自己能够通过对本课程的学习 xff0c 对C语言能有进一步的了解 xff0c 能够学会自主运用 xff0c 学习到经验技术和知识 xff0c 也希望老师能够在学习新知识时多讲解多运用 xff0c 反复练习 xff0c 以增加学生对新知识
  • 一篇文章带你搞懂JS对象的自我销毁

    在日常的JS组件开发中 xff0c 往往会有一些较为复杂的DOM操作及事件监听 xff0c 尤其是在处理UI层面的widgets时候更为明显 常常会花很多精力在对象的init上 xff0c 而当组件需要被移除时则仅仅是把所在DOM草草的re
  • LCA系列 hdu2587

    题http acm hdu edu cn showproblem php pid 61 2586 好久不写LCA了 span class hljs preprocessor include lt cstdio gt span span cl
  • AutoLISPDCL对话框设计

    AutoLISPDCL对话框设计 xff0c 代码如下 defun c viewdcl if null dcl pt setq dcl pt 39 1 1 setq dcl file getfiled 34 打开DCL文件 34 34 34
  • boost的asio接收单路大数据量udp包的方法

    开发windows客户端接收RTP视频流 xff0c 当h264视频达到1080P 60fps的时候 xff0c 按包来调用recvfrom的函数压力比较大 xff0c 存在丢包的问题 xff0c windows的完成端口的性能效果当然可以
  • Python Word2Vec使用训练好的模型生成词向量

    文本文件必须是utf 8无bom格式 from gensim models deprecated word2vec import Word2Vec model 61 Word2Vec load 39 model Word60 model 3
  • 使用dig或nslookup指定dns服务器查询域名解析

    一般来说linux下查询域名解析有两种选择 xff0c nslookup或者dig xff0c 而在使用上我觉得dig更加方便顺手 如果是在linux下的话 xff0c 只要装上dnsutils这个包就可以使用dig命令 安装bind ut
  • freeswitch系列六 freeswitch在拨号计划中通过lua实现对redis操作

    3种freeswitch访问redis方案的分析 由于项目的原因 xff0c 需要在freeswitch的拨号计划中根据redis中特定key的值 xff0c 判断后续的操作是转发请求或者播放录音 这里需要freeswitch中实现对red
  • 接口异常状态统一处理方案在 Firefox 下无效的原因和解决方案

    没想到会是在双十一这么忙的时间段把这篇文章写完 xff0c 公司很忙很紧张 xff0c 可我还有时间在公司做分享 xff0c 写博文 xff0c 惭愧惭愧 做后台系统在双十一期间不如 2c 端的小伙伴有参与感呀 问题根源 上文 接口异常状态
  • 玩转神龙服务器的Hyper-V虚拟化网络之 配置直通网卡

    在上一篇 玩转神龙服务器的Hyper V虚拟化网络之 配置NAT网络 的文章中我们使用NAT的方式使Hyper V VM可以访问公网 在这一篇里 xff0c 我们会使用直通网卡的特性来使VM有对外提供服务的功能 前置条件 神龙服务器 xff
  • postgresql学习笔记1---安装和psql基本操作

    本文是PostgreSQL修炼之道这本书的学习笔记 xff0c 记录下疑惑或不解的地方 xff0e 这里也列一些资源 官方文档 http www postgresql org files documentation pdf 9 4 post