首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

进阶数据库系列(十一):PostgreSQL 存储过程

PostgreSQL 概述 在 PostgreSQL 中,除了标准 SQL 语句之外,通过创建复杂的过程和函数来满足程序需要,我们称为存储过程和自定义函数(User-Defined Function)。...它有助于您执行通常在数据库中的单个函数中进行多次查询和往返操作的操作。 PL/pgSQL 简单易学,无论是否具有编程基础都能够很快学会。...PL/pgSQL 存储过程,它和 Oracle PL/SQL 非常类似,是 PostgreSQL默认支持的存储过程,下面针对优缺点给大家做了简要分析。 优点 减少应用和数据库之间的网络传输。...所有的 SQL 语句都存储在数据库服务器中,应用程序只需要发送函数调用并获取除了结果,避免了发送多个 SQL 语句并等待结果。 提高应用的性能。...不同数据库管理系统之间无法移植,语法存在较大的差异。

3.3K21
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    从零开始学PostgreSQL (十一):并发控制

    技术实现 可重复读隔离级别通过快照隔离技术实现,提供一个稳定且一致的数据库视图,但这个视图可能不完全反映按序列执行的事务视图。...控制数据库连接数量,合理使用连接池。 避免长时间的“事务中闲置”状态,适时断开空闲连接。 最小化显式锁的使用,利用串行化事务自身的保护机制。...行级锁在不同的场景下由PostgreSQL自动应用,并且其冲突情况如表13.3所示。...PostgreSQL会检测这种情况并终止其中一个事务。 防止死锁的最佳策略 通常,避免死锁的最好防御措施是确保所有使用数据库的应用程序以一致的顺序获取多个对象上的锁。...系统目录访问与隔离级别: 新建的数据库对象如表,对运行在Repeatable Read或Serializable隔离级别的事务可见,但这些对象中的行内容对这些事务是不可见的。

    15010

    进阶数据库系列(二十一):PostgreSQL 数据目录同步工具 pg_rewind

    pg_rewind 概述 pg_rewind 是 postgresql 主从数据库之同步数据目录的工具。...pg_rewind对服务端的要求 数据库开启 checksums 或者设置wal_log_hints参数为on,一般采用后者。...节点拷贝相应的Block,替换旧Master节点相应的Block 4.拷贝新Master节点上除数据文件外的所有其他文件,包括配置文件等(如果拷贝数据文件,与备份方式搭建区别不大) 5.旧Master启动数据库...pg_rewind 测试 测试环境 主库:192.168.13.31 备库:192.168.13.32 测试数据库版本:PostgreSQL 14.5 两节点配置好流复制 测试过程 配置测试环境,主备一致...id ---- 1 (1 row) postgres=*# select * from t; id ---- 1 (1 row) postgres=*# 备库开启长事物,主库对数据库修改

    1.6K31

    PostgreSQL 创建数据库

    PostgreSQL 创建数据库可以用以下三种方式: 1、使用 CREATE DATABASE SQL 语句来创建。 2、使用 createdb 命令来创建。 3、使用 pgAdmin 工具。...CREATE DATABASE 创建数据库 CREATE DATABASE 命令需要在 PostgreSQL 命令窗口来执行,语法格式如下: CREATE DATABASE dbname; 例如,我们创建一个...3 -E encoding指定数据库的编码。 4 -l locale指定数据库的语言环境。 5 -T template指定创建此数据库的模板。...接下来我们打开一个命令窗口,进入到 PostgreSQL 的安装目录,并进入到 bin 目录,createdb 命令位于 PostgreSQL安装目录/bin 下,执行创建数据库的命令: $ cd /Library...postgres 登录到主机地址为 localhost,端口号为 5432 的 PostgreSQL 数据库中并创建 runoobdb 数据库

    3.3K00

    PostgreSQL 创建数据库

    PostgreSQL 创建数据库可以用以下三种方式: 1、使用 CREATE DATABASE SQL 语句来创建。 2、使用 createdb 命令来创建。 3、使用 pgAdmin 工具。...CREATE DATABASE 创建数据库 CREATE DATABASE 命令需要在 PostgreSQL 命令窗口来执行,语法格式如下: CREATE DATABASE dbname; 例如,我们创建一个...options:参数可选项,可以是以下值: 接下来我们打开一个命令窗口,进入到 PostgreSQL 的安装目录,并进入到 bin 目录,createdb 命令位于 PostgreSQL安装目录/bin...下,执行创建数据库的命令: $ cd /Library/PostgreSQL/11/bin/ $ createdb -h localhost -p 5432 -U postgres shulanxtdb...password ****** 以上命令我们使用了超级用户 postgres 登录到主机地址为 localhost,端口号为 5432 的 PostgreSQL 数据库中并创建 shulanxtdb

    2.9K00

    POSTGRESQL SERVERLESS 是POSTGRESQL 数据库的未来 (译)

    以下为翻译内容 多年来,PostgreSQL一直备受瞩目,对于企业来说,POSTGRESQL流行是面临众多竞争后的选择。...随着企业试图摆脱昂贵的传统关系型数据库管理系统(RDBMS),但仍希望坚持使用RDBMS,开源PostgreSQL是一种具有吸引力的、更经济实惠的替代方案。...在数据库领域,真正的serverless产品将分离存储和计算,并通过在节点集群之间重新分配数据来替换数据库的存储层。...只需要一个数据库连接字符串,就可以使用数据库,而无须担心大小和扩缩容问题,这是由Neon完全负责的。第二个好处是按需计费,可以缩容至零并支付零费用。...正如Shamgunov所解释的,Neon支持写时复制分支,这“允许人们为每个预览或每个GitHub提交运行专用数据库

    24330

    PostgreSQL数据库体系架构

    PostgreSQL进程结构1 进程结构图谱和分类PostgreSQL数据库的进程可以分为三类:后台进程、后端进程或叫服务器进程、客户端进程或用户进程。...三 PostgreSQL数据库的存储结构1 PostgreSQL逻辑存储结构a 什么是PostgreSQL cluster当我们在一台服务器上安装部署并且初始化一个PostgreSQL数据库之后,严格的讲...,其实是我们安装部署了一套PostgreSQL数据库软件,然后初始化了一个PostgreSQL的database cluster。...;进入psql,也可以通过\l命令列出当前PostgreSQL cluster下的所有的数据库集合;从pg_database字典表中,也可以查询到当前PostgreSQL cluster下的所有的数据库集合的信息...;因此,我们说PostgreSQL cluster它是一个逻辑概念,它包含了一个或多个PostgreSQL数据库

    4.3K40

    postgresql数据库利用方式

    PostgreSQL 是一个自由的对象-关系数据库服务器(数据库管理系统),本文对于postgresql的使用及利用做个总结备份。...测试系统:kali 基本使用 在root权限下修改数据库密码: service postgresql start #启动服务 su postgres #切换到数据库用户下 psql postgres...查看数据中的信息 列出数据库 \l ? 列出数据库的用户 \du ? 使用数据库获取系统信息 列出系统目录列表: select pg_ls_dir('/etc'); ?...读取系统文件: select pg_read_file('postgresql.auto.conf', 0, 200); ?...总结 本文主要讲述了关于postgresql数据库的使用以及在得到一个数据库权限之后,利用这个数据库可以做什么,怎么做进行了测试,在这里给大家做个参考,欢迎大家留言讨论。

    1.8K00

    Python查询PostgreSQL数据库

    Python与PostgreSQL的连接需要了解如何在Python中连接到PostgreSQL数据库。...安装psycopg2非常简单,可以通过pip进行安装:pip install psycopg2安装完成后,可以使用以下代码来建立与PostgreSQL数据库的连接:import psycopg2try:...这段代码将尝试连接到本地运行的PostgreSQL数据库,并创建一个游标对象,该对象允许执行SQL命令。执行SQL脚本一旦建立了连接,就可以使用Python来执行SQL脚本了。...Python和PostgreSQL都提供了许多高级特性来帮助提高查询效率和数据处理速度。例如,可以使用索引来加速查询,或者使用批量操作来减少数据库的访问次数。...此外,PostgreSQL还支持存储过程和触发器,这允许在数据库层面执行复杂的逻辑。我是木头左,感谢各位童鞋的点赞、收藏,我们下期更精彩!

    13810

    如何备份PostgreSQL数据库

    如果您在生产环境中使用PostgreSQL,请务必采取预防措施以确保用户的数据不会丢失。通过频繁备份数据库或使用cron任务自动执行备份,您将能够在数据库丢失或损坏的情况下快速还原系统。...浏览我们如何在Ubuntu教程上安装PostgreSQL以安装PostgreSQL并创建一个示例数据库。...一次性SQL转储 单数据库 PostgreSQL提供了pg_dump实用程序来简化备份单个数据库的过程。 必须以对要备份的数据库具有读取权限的用户身份运行此命令。...您的数据库将在每个星期日的半夜12点进行备份。 下一步 PostgreSQL还提供了更高级的备份数据库方法。 官方文档描述了如何设置连续归档和时间点恢复。...这是一个复杂得多的过程,但它将维护数据库的持续存档,并使重放PostgreSQL的日志成为可能,以便在过去的任何时刻恢复数据库的状态。

    15.2K42
    领券