首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PostgreSQL - 修改默认端口号

    升级PostgreSQL遇到的问题 之前将PostgreSQL从9.5升级到了10.3版本,安装时将端口设置成了5433,(默认是5432),后来发现在使用psql来restore db会发生语法错误。...由于我原本用的是9.5版本的,本身就启动着9.5版本的server服务,端口号是默认的5432;后来我升级了10.3版本的,实际上PostgreSQL在升级时并不会卸载旧版本的,会在安装了新版本之后就自动启动新版本的...修改默认端口号 如果我希望不指定端口号就能连接新版本的server,就只能将10.3的server的端口号改为默认端口号5432。...首先将9.5版本的server服务关闭,这个要在系统的服务管理器中将其关闭: win + R快捷键打开运行; 输入services.msc打开服务管理器; 找到运行中的9.5版本的server服务将其关闭...在PostgreSQL的安装路径下,找到对应版本的postgresql.conf文件(在data文件夹内): 修改port = 5432; 保存修改,重启该版本的server服务,即可生效。

    3.3K20

    PostgreSQL中的Schema

    和数据库不同,模式不是严格分离的:一个用户可以访问他所连接的数据库中的任意模式中的对象,只要他有权限。 我们需要模式有以下几个主要原因: 1)....每当我们创建一个新的数据库时,PostgreSQL都会为我们自动创建该模式。...PostgreSQL中提供了模式搜索路径,这有些类似于Linux中的$PATH环境变量,当我们执行一个Shell命令时,只有该命令位于$PATH的目录列表中,我们才可以通过命令名直接执行,否则就需要输入它的全路径名...PostgreSQL同样也通过查找一个搜索路径来判断一个表究竟是哪个表,这个路径是一个需要查找的模式列表。在搜索路径里找到的第一个表将被当作选定的表。...如果在搜索路径中 没有匹配表,那么就报告一个错误,即使匹配表的名字在数据库其它的模式中存在也如此。 在搜索路径中的第一个模式叫做当前模式。

    1.9K90

    PostgreSQL 唯一约束与唯一索引 是一个人吗?

    大部分情况下,开发都倾向于方法2 ,所以就有今天的话题,POSTGRESQL 的唯一约束与唯一索引,之间到底有什么区别,用哪个更好的满足开发的需求。...同样往两张表中插入相同的数据都不能继续插入。 ? 我们可以看到两个表,虽然功能都能达到,但采用的方法是不同的。 那么到底这两种方法有什么不同,或者有什么适用点。...同时POSTGRESQL 的索引的建立也是可以添加WHERE条件的,所以灵活性比约束要高。...但一般来说如果是唯一性来说,还是可以建立唯一索引来更好的解决问题,查阅相关的一些资料也指明,POSTGRESQL 的唯一约束也是在列上建立了唯一索引,但是不可见的,当然你也可以建立唯一索引,在建立约束,...当然大部分数据库建立了唯一索引后,都会有性能上的损失或者死锁加重的一些情况(高频的访问),那天可以找一期来说说唯一索引对POSTGRESQL 数据库造成的一些影响。

    2.3K40

    Oracle中唯一约束和唯一索引的区别

    在使用TOAD来操作Oracle数据库时,会注意到创建约束时有Primary Key、Check、Unique和Foreign Key四种类型的约束,这与SQL Server中的约束没有什么区别,这里的...Check约束除了用于一般的Check约束外,在Oracle中也用于非空约束的实现。...除了约束,还有另外一个概念是索引,在TOAD中创建索引的界面如下: 我们可以注意到在唯一性组中有三个选项:不唯一、唯一和主键。...创建唯一约束与创建唯一索引有所不同: 创建唯一约束会在Oracle中创建一个Constraint,同时也会创建一个该约束对应的唯一索引。...在删除时这两者也有一定的区别,删除唯一约束时可以只删除约束而不删除对应的索引,所以对于的列还是必须唯一的,而删除了唯一索引的话就可以插入不唯一的值。

    1.3K10

    PostgreSQL修改数据库名

    修改数据库名 修改数据库的脚本其实很简单,如下: alter database db1 rename to db2; 但处理时检查如遇到如下的错误信息,导致无法修改库名,错误信息如下:...关闭连接的方式在PostgreSQL9.2及以上版本可以直接通过以下方式处理: SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity...WHERE datname='db1' AND pidpg_backend_pid(); -- 再次修改 alter database db1 rename to db2; 以上SQL简单说明一下...PS: 1) 删除数据库也经常会出现此错误,处理方式相同,都是先关闭连接再处理 2)很多数据库的修改或者offline数据库时都需要先关闭对应的连接,例如SQL SERVER。...想要学习PostgreSQL的同学可以学习一下如下两本经典的书籍。

    2.5K20

    PostgreSQL修改最大连接数

    ,但是在生产环境,这个连接数是远远不够的;修改最大连接数要修改 PostgreSQL 的最大连接数,可以按照以下步骤进行操作:打开PostgreSQL配置文件配置文件的路径可能因操作系统和 PostgreSQL...例如,将最大连接数设置为 1000,可以将以下行添加到配置文件中:ini 代码解读复制代码max_connections = 1000保存配置文件。...重启 PostgreSQL 服务保存配置文件后,需要重启 PostgreSQL 服务才能使修改生效。...如果可以通过Navicat直接连接到 PostgreSQL ,可以直接新建查询窗口查询:ini 代码解读复制代码SHOW max_connections;请注意,修改最大连接数可能会影响系统的性能和资源使用情况...确保最大值已经更新为所设置的新值。 请注意,修改操作系统的 ulimit 最大值可能需要管理员权限。在进行任何系统级别的修改之前,请确保了解修改的影响,并备份重要的配置文件。

    39510

    PostgreSQL中NULL的意义

    PostgreSQL中NULL的意义 PG中,NULL可以表示空numeric值;不能进行数学操作符计算,NULL参与的结果都是NULL。 1、NULL是什么 首先需要理解NULL值是什么。...中的NULL 在 PostgreSQL 中,NULL 表示没有值。...有一些特殊的语句可以针对 NULL 测试该值,但除此之外,没有任何语句可以用于测试 NULL 值。 让我们做一些有趣的比较,这将清楚 PostgreSQL 中 NULL 的概念。...在下面的代码片段中,我们将 1 与 1 进行比较,显而易见的结果是“t”(真)。这让我们明白,当两个值匹配时,PostgreSQL 相等运算符给了我们 true。同样,相等运算符适用于文本值。...函数返回参数中第一个非NULL的值,要求参数中至少有一个是非NULL的,如果参数都为NULL则报错: COALESCE (NULL, 2 , 1); 3)NULLIF 另外一个函数是NULLIF,如果两个参数相等

    2.2K20

    PostgreSQL 来自欧罗巴Patroni Patroni 管理下的POSTGRESQL 怎么修改参数 7

    首先我们在修改配置参数的情况下,确认几点的先行需要知道的知识 1 POSTGRESQL 本身的配置文件在PATRONI 生效后,不会在对服务器配置生效 2 在修改了Patroni 中的 POSTGRESQL...的配置信息后,会对所在所有的集群的POSTGRESQL 的服务器生效,(仅仅不需要重启的配置) 3 修改配置需要通过patroni 来进行修改配置,而不能直接在postgresql.conf中修改...上面通过命令可以查看当前的集群中的POSTGRESQL 的配置信息,在以上的配置的基础上我们可以添加相关配置....点击Y 系统就会将这个配置分发到每个POSTGRESQL 的服务器,并且RELOAD到系统中.修改配置也会对之前的配置和修改后的配置,进行特殊展示. 但实际上根本不起作用 ? ?...最终在一个国外的网站上看到下面的一个正确的配置, ? 错误的配置 ? 在正确的配置中修改保存后,在patroni 的日志中,会显示下面的内容 ?

    1.4K30

    PostgreSQL中的查询简介

    我们还将使用PostgreSQL数据库中的一些示例数据来练习SQL查询。...PostgreSQL,通常缩写为“Postgres”,是一种具有面向对象方法的关系数据库管理系统,这意味着信息可以表示为PostgreSQL模式中的对象或类。...有关设置的帮助,请按照我们的指南“ 如何在Ubuntu 18.04上安装和使用PostgreSQL ”中的“安装PostgreSQL”部分进行操作。 有了这个设置,我们就可以开始教程了。...UNION运营商的工作方式与JOIN条款略有不同,不是打印从多个表作为使用一个唯一的列结果的SELECT语句,而是用UNION将两个SELECT语句结果结合成一列。...想要了解更多关于PostgreSQL中的查询简介的相关教程,请前往腾讯云+社区学习更多知识。 ---- 参考文献:《An Introduction to Queries in PostgreSQL》

    12.4K52

    Postgresql中ParamListInfoData的作用

    ParamListInfoData是参数的统一抽象,例如 在pl中执行raise notice '%', n;n的值会拼成select n到SQL层取值,但值在哪呢,还是在pl层。...对sql层来说,n的一种可能性是参数,在这种可能性中,n的数据放在ParamListInfoData结构中。执行时,走表达式框架,从ExecEvalParamExtern函数中取值。...在sql中执行prepare时也会用占位符替代具体的值,在execute时,具体的值放在ParamListInfoData中,在执行时从该数据结构中取值执行。...paramFetchArg:指向pl的estate,拿到任何所需的pl的运行状态。 paramCompile:配置取值函数。 paramCompileArg:pl不需要,为空。...ptype:值的类型。 值放在后置数组中,在exec_eval_using_params函数中赋值。

    16120

    PostgreSQL 关于字段类型的修改 谣言与止谣

    PostgreSQL 在9.2 之前是要面临一个指责,就是在更改字段类型的时候带来的不堪,假象你有100万行的数据,其中一个字段是varchar(20) ,你想将其更改为 varhcar(30), 这可能就要造成一个灾难...,熟悉postgresql 原理的人们,马上就想到,可能要生成一个“新表”了。...PostgreSQL 在9.2 之后修改字段的大小,例如 varchar(20) ---> varchar(30) 返回修改仅仅是一瞬间的事情。...所以现在如果还有人说,PG修改字段的大小太差劲,那我到是觉得活在上世纪的 someone 可以清理一下内存了,终归新的东西是要不断学习的,你去看看现在的MYSQL 8 如果你的知识还保留在 MYSQL...当然这并不是本期主要的话题,本期的主要话题是 这里要澄清的是,不是所有的PG 的 Alter Column type 操作都要进行重建表的操作(这里先不牵扯索引的事情) ? ?

    1.9K20

    postgresql12修改max_connections无效

    环境:ubuntu20.04 系统的postgresql-12是通过apt install命令安装的 1、通过执行whereis postgresql命令获取postgresql的相关目录: 2、/etc.../postgrsql目录下就是postgresql的默认配置目录,cd 12/main记录具体目录,具体如下所示: 3、打开postgresql.conf文件,修改max_connections配置,...比如设置为1000: 4、执行命令systemctl restart postgresql重启pg服务 5、重启pg服务后在pg 客户端执行show max_connections;还是默认的200...6、最后发现之所以出现这个问题是因为有个同事通过命令修改过配置: ALTER SYSTEM SET max_connections TO '200'; 执行上述命令后在pg配置的data目录就会创建postgresql.auto.conf...的配置文件: 这个postgresql.auto.conf配置文件中配置就会覆盖postgresql.conf文件相关配置,所以导致修改postgresql.conf配置始终无法生效

    1.1K20

    浅谈PostgreSQL中的并发实现

    PostgreSQL使用相对比较简单的方式,将新数据对象直接插入到表的页中,读取对象时候,根据PostgreSQL可见性检查规则选择不同的版本,这样做会导致PostgreSQL新旧数据在一起,如果vacuum...PostgreSQL中每个普通的heap表中每行数据也存储一些信息,在MVCC实现中根据规则来选择事务应该读取哪一行数据。...其中PostgreSQL中保留了txid=0代表无效的txid;txid=1代表初始化启动txid(数据库集群初始化过程中出现);txid=2代表冻结的txid.PostgreSQL中txid视为一个环...行数据删除会在数据行的header中设置t_xmin={开始的事务id},t_xmax={删除数据整个事务的id};PostgreSQL中的更新不是采用原地更新的模式,而是删除旧数据行,插入新的数据行模式...int32 datum_len_ ; // -1 或者记录的唯一标识 int32 datum_typmod ; /* -1,或记录类型的标识符 */ // 符合类型的oid或记录

    2.3K20

    Postgresql中的MVCC与并发

    读已提交是PostgreSQL中的默认隔离级别。...在一个单一事务中的后续SELECT命令看到的是相同的数据,即它们看不到其他事务在本事务启动后提交的修改。 简单来说就是事务开始后的第一条语句会拿到一个快照,后面的语句都使用这个快照!...在PG中事务ID可以理解为时间戳(递增、唯一),PG中的MVCC即实现了上述多版本时间戳的串行控制方法,本质上是为了在数据库并发执行事务时,保证整体数据的一致性。...3.2 事务ID 事务ID在PG源码中的定义 typedef uint32 TransactionId; Postgresql中使用永远递增(在32位uint范围内)的TransactionId来作为元组...ls | grep 46843 46843 46843_fsm 46843_vm FSM内部使用最大堆树来记录表文件的空闲块位置,引用《Postgresql数据库内核分析》的图解: FSM树中的每个块大小为

    3.9K21
    领券