postgresql基本操作与基本对象

postgresql基本操作与基本对象

  • postgresql是一个C/S架构的大型软件,提供数据存储索引和查询的功能。postgresql分为客户端和服务端,客户端叫作psql,或者其他语言基于odbc,jdbc,libpq开发的客户端程序,服务端叫作postgres,需要监听ip和端口,通过tcp网络协议与客户端进行通信。

  • 在网络通信之上,采用sql作为数据通信协议,支持增删改查。sql针对的是结构化数据,因而要先有数据结构,这里其实就是表。为了对表进行隔离,由将表划分到不同的数据库里。

  • 客户端和服务端通信需要验证,验证采用用户名和密码的方式。

  • 因而客户端想要访问数据需要服务器ip、服务器端口、用户名、密码、数据库名称,而要取出一条数据,则还需要表名称、sql语句

postgresql外部对象

对于客户端来说,通过库–>表–>sql的方式操作数据。

  • 数据库

    一个postgres可以有多个数据库,数据库是表的集合,数据库名称是客户端访问的标识之一。

  • 结构相同的数据放在一起就是一张表,表有多行多列。(一般表的列数在创建表时确定,行数则会不断增加或减少。)表的数据最终会写入到文件里。

  • 视图

    视图是表的一部分在内存中的缓存,并不会写入文件。

数据最终以表的形式写入到文件里,每一个数据库有一个目录,每一张表是一个文件或多个文件(表的数据小于1gb时是一个文件,大于1gb会按照1gb文件拆分)。

而对于服务端来说则根据oid–>文件的方式来操作数据。

  • oid

    每个数据库都有自己的oid,不同数据库的oid不同。

    每张表都有自己的oid,相同数据库的表的oid不同。

  • 文件

    每个数据库以oid为名创建目录,每张表在数据库oid目录下以oid创建文件。

基操

  • 如何定位student表存储在什么位置

    先用psql连接到数据库。

    test=#
    test=# SELECT pg_relation_filepath('student');
     pg_relation_filepath
    ----------------------
     base/16384/16387
    (1 row)
     
    test=#
    
  • 如何查找数据库对应的oid

    --注意大小写敏感,要用小写
    test=# select oid,datname from pg_database where datname='test';
      oid  | datname
    -------+---------
     16384 | test
    (1 row)
    
  • 如何查找数据库有多少张表

    test=# \d
    test=# \d+
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

growdu_real

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值