postgresql基本操作与基本对象
创始人
2025-05-29 04:26:38
0

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+
    

相关内容

热门资讯

三大指数午后全线翻绿,三市下跌... 11月12日消息,创业板指翻绿,早盘一度涨超2%,现跌0.37%,报2383.58点,沪指跌近1.3...
国债期货30年期主力合约涨幅扩... 11月12日消息,国债期货30年期主力合约涨幅扩大至0.5%,10年期主力合约涨0.25%,5年期主...
恒生科技指数下跌3%至4511... 11月12日消息,恒生科技指数下跌3%至4511.34点,恒指现跌2.4%,报19925.70点。
现货黄金跌破2610美元/盎司... 11月12日消息,现货黄金跌破2610美元/盎司,为10月10日以来首次。
香港恒生指数下跌1%至2022... 11月12日消息,香港恒生指数下跌1%至20221.28点。
年内首次“一周四审”,北交所I... 12月19日晚间,北京证券交易所(简称“北交所”)上市委员会(简称“上市委”)公告显示,将于下周召开...
沪市再现千亿并购 中国神华拟打... 中经记者 孙汝祥 夏欣 北京报道中国神华(601088.SH)12月19日晚披露《发行股份及支付现金...
贵州百灵财务造假被罚1000万... 红星资本局12月19日消息,12月19日,贵州百灵(SZ 002424)发布公告,公司及相关当事人已...
未来领跑者|智谱向港交所递交招... 新京报贝壳财经讯(记者罗亦丹)记者12月19日获悉,中国独立大模型厂商,北京智谱华章科技股份有限公司...
美媒披露以色列暗杀伊朗核专家细... 参考消息网12月19日报道 美国《华盛顿邮报》网站12月17日刊发文章,题为《杀死“智囊”:以色列是...