首页 > 数据库 >DuckDB_SQL-使用示例以及和PG之间的概念

DuckDB_SQL-使用示例以及和PG之间的概念

时间:2024-08-16 12:38:04浏览次数:14  
标签:PostgreSQL 示例 数据库 catalog DuckDB pg SQL 日志 schema

duckdb

Catalog(目录): 表示整个数据库或数据库管理系统。一个数据库服务器可以包含多个数据库,每个数据库都有自己的 Catalog
1.database --catalog  catalog_name
    database: In‑Memory vs. Persistent Database
    database-- database_list   new_db.my_schema:
      system
      temp
2.Schema 用于组织和分类数据库对象
schema   catalog or a schema --namespace
    information_schema提供视图以查看表、视图和函数信息,
      pg_catalog作为系统Schema,包含系统函数和数据类型定义,对Postgres的正常运行至关重要
      pg_catalog.pg_namespace来查看当前数据库中全部的Schema
	   创建的数据库 database
	   system
	   temp
tables(表)

Column(列)

提供了一定程度的隔离和命名空间

基本技术概念

源码:数据库事务- 事务的ACID特性
	session--只有两种执行结果:提交commit或回滚 ROLLBACK  (All or Nothing)
  悲观机制与乐观机制
    悲观锁 LOCK机制
    乐观锁(Optimistic Concurrency Control,缩写“OCC”),又叫做乐观并发控制, 
    MVCC 多版本并发控制(Multiversion concurrency control, MCC 或 MVCC)
			 MVCC的实现,是通过保存数据在某个时间点的快照来实现的
  WAL全称是write ahead log,是PG中的online redo log 也就是先写日志,再写磁盘
       数据文件的改变必须先写入日志,即日志记录刷新到永久储存之后,才能被写
       (即回滚恢复 REDO)		   
	MVCC通过乐观并发控制提高性能,WAL确保数据完整性并优化IO
	
 隔离级别
   	 
	 redo log(重做日志) undo log(回滚日志) binlog(归档日志)


分布式一致性
 2PC(2 Prepare Commit) (协调者宕机问题) (和zab有区别,zab是过半机制)
 3PC(CanCommit、PreCommit、DoCommit) (协调者宕机问题)
 Paxos算法 (分布式一致性问题最有效的算法)(引入多个协调者)
 Raft协议 (引入主节点,竞选确定主节点;节点类型:Follower、Candidate 和 Leader)

 1)(3) 称为事务的两阶段提交.整个流程称之为WAL技术,
     即write ahead logging技术它的关键点就是先写日志,再写磁盘	 

Postgresql

0.PostgreSQL模块和代码目录结构
     Main函数进来之后,启动Postmaster进程,通过Postmaster发送不同的Postgres进程。
	            如果Postgres收到Libpq请求,最终会让执行引擎来执行相关命令
1.PostgreSQL 服务进程

2.连接属性
    默认数据库是‘postgres',
        默认模式‘public'
        系统模式主要有 pg_catalog、information_schema、pg_temp等等	
     pg_catalog是系统Schema,包含了系统的自带函数/数据类型定义等,pg_catalog是保障postgres正常运转的重要基石
     information_schema是方便用户查看表/视图/函数信息提供的,它大多是视图,MySQL,SQL Server同样有information_schema这个schema。	 
3.PGDATA目录包含几个子目录和控制文件。
     常见的位置PGDATA是/var/lib/pgsql/data
       除此之外,集群配置文件postgresql.conf、pg_hba.conf和pg_ident.conf一般存储在PGDATA
	   
	   
	  PostgreSQL的 日志文件 主要包括运行日志文件,重做日志文件,事务日志文件,服务器日志文件。
      PostgreSQL的 控制文件 主要记录了数据库相关的运行信息。
	                         比如id,open,wal,checkpoint的位置等等,其中controlfile是很重要的文件	  
	  PostgreSQL的 WAL文件  通常默认保存在$PGDATA/pg_wal目录下
	  
	  
4.PostgreSQL的常用命令
    首先,使用psql连接数据库

标签:PostgreSQL,示例,数据库,catalog,DuckDB,pg,SQL,日志,schema
From: https://www.cnblogs.com/ytwang/p/18362639

相关文章

  • Win 11 Postgresql 16 安装失败解决方案
    主要遇到以下两个问题一个是在安装时报错Problemrunningpost-installstep.InstallationmaynotcompletecorrectlyThedatabaseclusterinitialisationfailed.一个是在初始化时报错Theprogram"postgres"wasfoundby"initdb"butwasnotthesameversionasin......
  • PLSQL导入/导出数据方法
    https://blog.csdn.net/zhouleiblog/article/details/8893005以下为借用以上信息:PLSQL导入/导出数据方法PLSQL导入/导出数据方法以前导数据库信息的时候,总是会先开启sql窗口,把自己手写的建表文件复制进去,然后再导入数据信息。今天突然懒得去找以前的建表文件,而想用SLSQL直接从......
  • IMU惯性测量模块在ROS环境下的应用示例
    Ubuntu版本:20.04;ROS环境:noetic;IMU型号:亚博10轴IMU惯导模块目录一.ROS环境配置1、在终端运行对应的命令 2、安装ROS串口驱动二、IMU软件包使用1、新建、编译工作空间 2、绑定IMU端口3、修改参数配置 三、运行可视化界面 1、运行launch文件2、可能遇到的问题3、......
  • MySQL - [18] mysql中关于cascade的用法
    dropdatabase语句用于删除数据库。但如果想要删除一个数据库并且还要删除所有依赖于该数据库的存储过程、函数等,可以使用cascade关键字。dropdatabasetestcascade的效果相当于以下步骤: 一、查询依赖于该数据库的对象SELECT*FROMinformation_schema.VIEWSWHERETAB......
  • 【SQL Server】本地备份和还原
    之前对备份和还原的理解仅限于。定时备份,然后恢复到上次备份这样的基础——https://www.cnblogs.com/luyj00436/p/18360825。这样,上次备份到这次误操作,数据就损失了。现在有以下测试数据:SELECT*FROMSQLTest完成这些后,进行备份(完整备份)。接下来,我们进行日常的操作和误操......
  • MySql计算用户留存率
    定义,每日新增的10个用户,在次日再次登陆有5个记为留存数5个,次日留存率为50%,在第七日还有3个,记为留存数3个,次日留存率为30%;表1:hlj_user_base_info(用户注册表,记录用户注册信息);关键字段,user_id,device_id,register_time表2:hlj_user_click_url_point(用户点击表,记录用户点击行为);关键字......
  • SQL常用思维总结
    1.将复杂查询拆分为子查询子查询指的是:一个查询语句嵌套在另一个查询语句内部的查询,作为上级查询的查询条件之一--查询课程1分数比课程2分数高的学生的学生信息、课程1分数、课程2分数selectstudent.*,score1,score2fromstudentjoin(selectt1.s_id,t1.s_scorescore1,t2......
  • Linux打包命令tar极简示例_2
    只解压tar包中的某个文件这是tar包:只解压a.txt:上边的例子不大理想,再来一个tar包里带目录的:再弄个gzip压缩过的吧:......
  • MySQL:查询(万字超详细版)
       ......
  • mysql数据库中decimal数据类型比较大小
    在MySQL中,DECIMAL数据类型用于存储精确的数值,它非常适合用于需要高精度计算的场景,如金融应用。当我们需要在MySQL数据库中比较DECIMAL类型数据的大小时,可以使用标准的比较运算符,如>,<,>=,<=,=和<>(或!=)。以下是一个详细的示例,说明如何在MySQL中使用DECIMAL数据类型并比较......