草庐IT

$PostgreSQL

全部标签

postgresql13远程连接报错 Connection to 117.50.184.237:5432 refused. Check that the hostname and port are c

报错信息Connectiontohostname:portrefused.CheckthatthehostnameandportarecorrectandthatthepostmasterisacceptingTCP/IPconnections.Connectionrefused:nofurtherinformation解决方案修开配置文件vim/var/lib/pgsql/13/data/postgresql.conf添加以下内容并保存如图listen_addresses='*'重启systemctlrestartpostgresql-13.service再次连接报错FATAL:nopg_h

解决Navicat连接postgresql时出现‘datlastsysoid does not exist‘报错

Postgres15从表中删除了datlastsysoid字段pg_database因此Navicat15.0.29或16.1之前的任何版本在查找此已弃用字段时都会引发此错误。要解决此问题,请升级到最新的Navicat15.0.29或16.1及更高版本(可能需要新的许可证),或者执行以下操作:打开Navicat文件夹(通常在C:\ProgramFiles\PremiumSoft\Navicat…)下),取决于您的Navicat版本找到libcc.dll并创建此文件的备份(将其复制并粘贴为“libcc-backup.dll”或任何其他名称)在任何十六进制编辑器中打开此文件,如果需要,您可以使用在

在centOS7上安装postgresql

 Postgresql安装与配置具体操作步骤第一步,下载安装Postgresql数据库:按照以下步骤在centOS系统上安装PostgreSQL。选择PostgreSQL的版本号以及对应系统,下载地址PostgreSQL:Downloads选择centOS系统使用yum安装postgresql14,首先选择安装的版本,然后按照下列步骤进行操作:一些问题解决在使用yum安装软件时可能会遇到提示“没有可用软件包”。出现该问题的原因是该软件包在第三方的yum源里面,而不在官方yum源里面。解决的方法,就是安装epel源。安装命令如下://安装epel源sudoyuminstallepel-relea

c# - 将 DataTable bulk 的全部值插入到 postgreSQL 表中

在SQL中,我们为批量插入数据表做类似的事情SqlBulkCopycopy=newSqlBulkCopy(sqlCon);copy.DestinationTableName=strDestinationTable;copy.WriteToServer(dtFrom);Blockquote但是在PostgreSQL中如何做这个操作 最佳答案 使用参数简单插入您的项目将需要引用以下程序集:Npgsql。如果此引用在VisualStudio中不可见,则:浏览到连接器的安装文件夹执行:GACInstall.exe重新启动VisualStud

c# - 将 DataTable bulk 的全部值插入到 postgreSQL 表中

在SQL中,我们为批量插入数据表做类似的事情SqlBulkCopycopy=newSqlBulkCopy(sqlCon);copy.DestinationTableName=strDestinationTable;copy.WriteToServer(dtFrom);Blockquote但是在PostgreSQL中如何做这个操作 最佳答案 使用参数简单插入您的项目将需要引用以下程序集:Npgsql。如果此引用在VisualStudio中不可见,则:浏览到连接器的安装文件夹执行:GACInstall.exe重新启动VisualStud

postgresql获取当前或某一时间段的日期

1.获取当前时间selectnow();–返回:2022-12-0715:53:15.881711+08selectcurrent_date;–返回:2022-12-07selectcurrent_timestamp;–返回:2022-12-0715:56:28.729581+08selectcurrent_time;–返回:15:56:50.155444+082.获取当前月份的第一天selectdate_trunc(‘month’,current_date)::DATE;–返回:2022-12-013.根据当前日期获取次日、次月、前年select(current_date+INTERVAL‘

PostgreSQL数据库命令行执行SQL脚本的三种方式

文章目录前言一、psql命令执行二、\i命令执行三、\e命令执行总结前言生成环境中,出于安全性等原因,往往不提供数据库连接工具,所以对数据库的更新和升级就得通过命令行来实现。本文总结了三种命令行执行sql脚本的方式。一、psql命令执行命令格式:psql[option…][dbname][username]常用参数介绍:-h:指定IP地址或主机名。-p:指定端口,默认为5432。-U:指定数据库的用户名。-d:指定数据库名称。-f:指定文件。从文件读取命令。#示例(ct.sql为sql脚本文件)psql-dpostgres-f/pgsql/postgresql/ct.sql使用以上命令确保ct

PostgreSQL实现递归查询

使用WITHRECURSIVE实现递归查询SQL查询中WITHxxxas()是对一个查询子句做别名,同时数据库会对该子句生成临时表(WITH子句只能被SELECT查询块引用)。WITHRECURSIVE则是一个递归的查询子句,他会把查询出来的结果再次代入到查询子句中继续查询。创建表并插入数据createtablecity(idint4,pid int4,name varchar(50));INSERTINTO"city"("id","pid","name")VALUES(1000,0,'广东省');INSERTINTO"city"("id","pid","name")VALUES(1001,0

PostgreSQL如何行转列

PostgreSQL如何行转列方法一:groupby+sum+casewhenselectname,sum(casewhenzbfm='年龄'thenvalueelse0end)as年龄,sum(casewhenzbfm='身高'thenvalueelse0end)as身高,sum(casewhenzbfm='体重'thenvalueelse0end)as体重fromtestgroupbynamehavingnamelike'%1'andlength(name)=4orderby年龄desc方法二:用postgresql的crosstab交叉函数crosstab(unknown,unknown

postgresql序列重复问题处理

问题在执行数据插入时,postgresql提示morethanoneowned sequence found错误。这个和之前文章中写的序列编号错乱不同,是由数据表的一个列生成了多个序列导致的。(常见于两个数据库的拷贝、同步等操作)。如果查看序列,会发现序列中有很多重复的项目,可以执行语句:SELECT'DROPSEQUENCE"'||c.relname||'";'FROMpg_classcWHEREc.relkind='S'ORDERBYc.relname生成删除每一个序列的语句。接下来需要然后复制出来执行,记得选择遇到错误继续,这样就可以删除所有多余的序列。然后按照我之前文章写的批量更新序列