首页 > 数据库 >初识PostgreSql

初识PostgreSql

时间:2024-05-12 22:19:17浏览次数:19  
标签:psql PostgreSql postgres 数据库 开源 初识 PG Oracle

前言

PostgreSql常被称为Postgres,简称PG,后文中以PG称呼。是当今非常流行的一种数据库。

为什么使用PG

  在分析这个问题之前,我认为有必要说一说Oracle和MySql这两家数据库。

Oracle

  Oracle作为占有率最高的数据库,由Oracle公司开发,提供商业支持,其流行的原因在于其强大的性能和较为完善的数据库设计,然而,Oracle是一家商业公司,使用其产品是有一定风险的,更何况是数据库这么重要的东西。

目前很多公司都有去Oracle的趋势。

MySql

  MySql是商业开源的,但是MySql前两年就已经被Oracle收购。现在依然非常流行。由于被Oracle收购,其创始人开发了分支版本MariaDB,以GPL2.0协议开源。
https://github.com/MariaDB/server

PG

  1. 开源,商业友好协议
    PG使用的开源协议接近于BSD协议,是对商业使用非常友好的一种协议。
    https://github.com/postgres/postgres

PG不仅开源,还拥有一个非常强大的社区。使用商业友好的开源协议意味着风险更低,不会有哪天掐着你的脖子要钱。

  1. 广泛的数据类型
    我印象最深刻的是数组类型,因为MySql中是不支持数组的,只能通过存json来模拟数组。
    JSONB,在存放json时以二进制方式存储,提高性能。

全文搜索类型,允许你在文本字段上执行复杂的搜索查询

  1. 并发性能更强

使用

登录

-U指定用户,-d指定数据库名称

psql -U postgres -d postgres

列出全部数据库

\l

image

列出当前数据库所有表

\dt

image

查看某个表的表结构

\d xxx

image

增删改查

和其他数据库基本一致,没什么不同。

退出登录

\q

备份数据库

这个是用命令,不是psql内。
下面是powershell终端,执行非path内的命令时不能省略./
powershell可以使用正斜杠和反斜杠来作为路径分隔符。

# cd到pg的bin目录
cd 'C:\Program Files\PostgreSQL\16\bin'

./pg_dump -U postgres -d postgres -f C:/Users/acer/Desktop/backup.sql

恢复数据库

我们进入psql,删除数据库

image
重建数据库

create database postgres;

到命令页面(不是psql内部)执行psql命令恢复数据库

./psql -U postgres -d postgres -f C:/Users/acer/Desktop/backup.sql

数据库回来了
image

注意

  1. psql内部使用sql命令,必须以;结尾,如果没有分号,则没有任何提示(而oracle中不以;结尾是可以执行的)。我查了半天为什么没反应。
  2. 如果有一个无效的命令(不以\开头),psql里面不会报错,只是什么反应都没有。

标签:psql,PostgreSql,postgres,数据库,开源,初识,PG,Oracle
From: https://www.cnblogs.com/oldsaltfish/p/18188137

相关文章

  • TCP KEEPALIVE以获得更好的POSTGRESQL体验
    一、数据库连接断开的原因连接断开的可能原因有多种:1、数据库服务器崩溃如果服务器由于某种原因崩溃,要调查服务器是否存在问题,您应该首先查看PostgreSQL日志,看看是否可以找到匹配的崩溃报告。2、客户端放弃的连接如果客户端在没有正确关闭数据库连接的情况下退出,服务器在网......
  • Python-PostgreSQL主键自动填充报错:SAWarning: Column x is marked as a member of th
    importdatetimefromsqlalchemyimportColumn,String,inspect,Integerfromsqlalchemy.ext.declarativeimportdeclarative_basefromsqlalchemy.ormimportsessionmakerfromsqlalchemyimportcreate_engineengine=create_engine(DATABASE_URL)Base=decla......
  • 初识vector
    一、定义和初始化vector1、初始化vector是模板而非类型,由vector生成的类型必须包含vector中元素的类型。如vector<int>。1、默认初始化vector<string>s;2、拷贝初始化注意:字面值不能构造vector对象vector<int>i;vecotr<int>i2(i);vector<int>i3=i;vector......
  • 用PHP连接postgreSQL时遇到的问题
    先说说我的环境的版本,apache是2.4的,postgreSQL为目前最新的16版本,php刚开始为7版本。第一个问题是PDO连接PostgreSQL报错,SCRAMauthenticationrequireslibpqversion10orabovein这个问题是libpq的版本过低,要版本10以上,(至于libpq是什么,我目前也不懂)后来我检查了php版本发......
  • postgresql中视图建立,字段拼接,同一个表的多行之间的多个字段相减
    首先表是这样的CREATETABLEpublic.tb_realtime_data( s_idvarchar(48)NOTNULL, sensor_namevarchar(48)NULL, sensor_index_codevarchar(48)NULL, sensor_valuenumeric(20,10)NULL, statistics_statusint4NULL, alarm_timetimestampNOTNULL, create_time......
  • Docker 必知必会----初识
    什么是Docker?Docker是一个开源的容器管理引擎。开发者可以通过Docker直接管理应用程序所需要的容器。它的logo如下: 为什么需要Docker使用Docker主要有两个原因,1、屏蔽不同环境的硬件差异,减轻开发人员在不同环境上,为了适配环境差异所需要做的工作。如各项系统配置、环境变量、......
  • PostgreSQL和Oracle两种数据库区别
    PostgreSQL和Oracle是两个备受欢迎的关系型数据库管理系统(RDBMS)。它们都提供了强大的功能和广泛的应用领域。然而,在选择使用哪个数据库管理系统时,需要考虑各自的特点和适用场景。本文将详细比较PostgreSQL和Oracle,并探讨在不同情况下应该选择哪个数据库管理系统。PostgreSQLPos......
  • [UE 虚幻插件 DTPostgreSQL] PostgreSQL Connector 使用蓝图连接操作 PostgreSQL 数据
    本插件主要是支持在UE蓝图中连接和操作PostgreSQL数据库。下载连接在文章最后。数据库连接【CreatePostgreSQL】输入:Host:数据库IP地址。Port:数据库开放端口。User:数据库用户名。Password:数据库密码。DBName:指定连接的数据库库名。输出:Success:返回数据库是否......
  • postgresql 16 主备/主从
    注意事项基于postgresql16版本相关核心概念介绍预写日志机制(WAL)数据持久化是指提交事务后对系统的影响是永久的,即使数据库重启或崩溃,数据不会丢失。最简单的做法是事务提交后,数据就立刻持久化到磁盘中。但是内存和磁盘之间的IO操作是最影响性能的,所以会将一部分数据保......
  • apache druid 初识
    一:Apachedruid是一种实时分析数据库,设计用于对大型数据集进行快速分析(OLAP),支持数据的实时摄取,提供低时延的查询性能。二:Apachedruid主要特点(1)列式存储格式,查询时只加载特定查询的列,还根据数据类型优化每一列的存储,加快查询速度。(2)可扩展的分布式系统。典型的Druid部署......