1.

postgresql执行结束后,判断结果是否成功,有几种结果

typedef enum
{
PGRES_EMPTY_QUERY = 0, /* empty query string was executed */
PGRES_COMMAND_OK, /* a query command that doesn't return
* anything was executed properly by the
* backend */
PGRES_TUPLES_OK, /* a query command that returns tuples was
* executed properly by the backend, PGresult
* contains the result tuples */
PGRES_COPY_OUT, /* Copy Out data transfer in progress */
PGRES_COPY_IN, /* Copy In data transfer in progress */
PGRES_BAD_RESPONSE, /* an unexpected response was recv'd from the
* backend */
PGRES_NONFATAL_ERROR, /* notice or warning message */
PGRES_FATAL_ERROR, /* query failed */
PGRES_COPY_BOTH, /* Copy In/Out data transfer in progress */
PGRES_SINGLE_TUPLE /* single tuple from larger resultset */
} ExecStatusType;

成功并不只有一个,第一个是查询空的正确返回,第二个是没有返回值的正确返回(比如insert,update),第三个是查询有返回值的正确返回(比如select)

2.

用c++访问postgresql的时候,需要使用官方的libpq库,目前调查下来,这个libpq库是postgresql数据库编译出来时配对的。也就是不能像mysql一样,数据库是64位安装,可以自己编译32的connector访问。所以市面上的postgresql的connector都是在原生的libpq的基础上封装的。也就导致一个问题,就是安装什么样的postgresql,就会配戴什么样的connector。最大的影响就是数据库是32位还是64位,如果是64位,那么自己的程序也必须是64位,因为不可能在不同平台下相互访问lib库。并且从官方的release来看,postgresql从11.4开始就没有32位的发布了。所以,如果想用postgresql的话,最好尽早着手把自己的程序替换成64位

3.

查看postgresql的配置

SELECT * from pg_show_all_settings()

4.

mysql中有一个默认配置,就是空闲连接超时后自动kill掉,默认好像是8小时
postgresql中也有这个属性,默认是不主动kill,也就是关闭的,如果你需要可以打开,不过对于后端开发,这样更方便,避免了自己写keepalive的逻辑了

idle_in_transaction_session_timeout (integer)

Terminate any session with an open transaction that has been idle for longer than the specified duration in milliseconds. This allows any locks held by that session to be released and the connection slot to be reused; it also allows tuples visible only to this transaction to be vacuumed. See Section 24.1 for more details about this.

The default value of 0 disables this feature.

5.

如果navicat连接远程的postgresql的时候报这个错误

no pg_hba.conf entry for host ssl off

那是因为postgresql默认是不允许外部连接的

所以需要修改安装目录下的pg_hba.conf文件

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5

修改成

host    all             all             0.0.0.0/0            md5

这个文档上面有介绍,0.0.0.0/0表示允许所有ip

然后在开始菜单postgresql安装的目录下找到sql shell

运行

select pg_reload_conf();

重新加载配置,注意一定要加分号

6.

用navicat数据传输postgresql数据库的数据的时候,如果报下面的错误

column p.proisagg does not exist atabase d on d.datname = current_database() perhaps you meant to reference the column

表示你的工具太老了,我用的postgresql是11.4,navicat是12.0.18,需要下载最新的navicat 12.1.x

navicate破解

破解的github地址

https://github.com/Deltafox79/Navicat_Keygen

  • 下载编译
  • 安装最新的navicat
  • 把编译出来的exe拷贝到navicat的目录,不拷贝也可以,就是到时候需要自己选择一下目录
  • 运行破解软件
  • 默认选项基本上不用改,对应好自己的版本,唯一有一点注意,我们下载的应该都是中文版的,languages选择中文
  • 点击patch
  • 提示navicat.exe-x64->cracked,表示成功
  • 然后打开navicat
  • 点击注册
  • 点击破解软件serial keygen一行的generate生成注册码,然后把生成的注册码拷贝到navicat
  • 点击激活,然后选择手动激活
  • 然后把navicat的请求码拷贝到破解软件的required code中
  • 点击activation code下面的generate
  • 把activation code中的内容复制到navicat的激活码中
  • 点击激活

可以参考

https://www.52pojie.cn/thread-867986-1-1.html

postgresql小计的更多相关文章

  1. SQLSERVER 使用 ROLLUP 汇总数据,实现分组统计,合计,小计

    表结构: CREATE TABLE [dbo].[Students]( ,) NOT NULL, ) NULL, [Sex] [int] NOT NULL, ) NULL, ) NULL, , ) N ...

  2. PB gird类型数据窗口 设置分组、分组小计、合计

    今天遇到一个需求,gird表格数据如下:  部门  类型 数据   A  类型1  1  A  类型2  2  B  类型1  3  B  类型2  4   合计 10 实际需要显示的结果为:  部门 ...

  3. 简单的angular购物车商品小计

    <!DOCTYPE html> <html lang="en" ng-app="shopApp"> <head> <m ...

  4. C#给DataTable添加序号、C#给DataTable添加合计、小计

    /// <summary>        /// 给DataTable添加序号        /// </summary>        /// <param name= ...

  5. SAP ALV中同一列的不同行显示不同的小数位,并能够总计,小计

    物料数量字段,根据物料类型的不同,来显示不同的小数位:要求有点苛刻: 首先,要能够总计和小计的话,这一列的字段类型必须是数值类型. 这样的话,就不能通过截取的方式改变不同行的小数位. 以下是两种思路: ...

  6. 每日学习心得:SQL查询表的行列转换/小计/统计(with rollup,with cube,pivot解析)

    2013-8-20 1.    SQL查询表的行列转换/小计/统计(with  rollup,with cube,pivot解析) 在实际的项目开发中有很多项目都会有报表模块,今天就通过一个小的SQL ...

  7. VMProtect使用小计【一】

    文章列表 VMProtect使用小计[一] – 初次使用VMProtect使用小计[二] – 加壳查看VMProtect使用小计[三] – 权限管理 说明 VMProtect的功能我就不说了,详情大家 ...

  8. 用SQL实现统计报表中的"小计"与"合计"的方法详解

    本篇文章是对使用SQL实现统计报表中的"小计"与"合计"的方法进行了详细的分析介绍,需要的朋友参考下   客户提出需求,针对某一列分组加上小计,合计汇总.网上找 ...

  9. 【IOS实例小计】今日开贴,记录我的ios学习生涯,留下点滴,留下快乐,成荫后人。

    今天开贴来记录自己的ios学习过程,本人目前小白一个,由于对ios感兴趣,所以开始学习,原职java程序,呵呵,勿喷. 本次的[ios实例小计]主要参考一文http://blog.sina.com.c ...

随机推荐

  1. 图解微信小程序---获取电影信息

    图解微信小程序---获取电影信息 代码笔记 第一步:编写js文件,调用api获取相对应电影详情信息(注意带入的参数是id不在是榜单的type,电影api的movie后面又斜杠,别忘了,对应的绑定数据的 ...

  2. .net持续集成cake篇之常见文件及路径操作

    系列目录 Cake常见文件和路径操作 在自动化构建任务里,很多操作都是跟文件打交道,比如文件打包,文件压缩,文件归档,文件传输,目录清理等.本节介绍一些cake里常见的文件操作方法 Cake相对路径问 ...

  3. android 入门开发

    本示例讲解的是基本点有 1.使用SQLite数据库 2.对数据的新增,查询. 3.利用ViewActivity进行数据的呈现 代码是参考了网上各种代码,刚开始写,肯定有一些地方是有问题,我对JAVA代 ...

  4. SQL 复制表到另一个表

    SqlServer 复制表结构和表数据 复制表数据到已存在的表 INSERT INTO targetTableName SELECT COLUMNS FROM sourceTableName; 复制表 ...

  5. EntityManager 的复杂查询

    EntityManager 是用来对实体Bean 进行操作的辅助类.他可以用来产生/删除持久化的实体Bean,通过主键查找实体bean,也可以通过EJB3 QL 语言查找满足条件的实体Bean.实体B ...

  6. PHP:CURL分别以GET、POST方式请求HTTPS协议接口api【转】

    1.curl以GET方式请求https协议接口 //注意:这里的$url已经包含参数了,不带参数你自己处理哦GET很简单 function curl_get_https($url){ $curl = ...

  7. ORACLE监听理解

    参考官方文档Net Services Reference的7 Oracle Net Listener Parameters (listener.ora) 1 监听概念 oracle监听,是个服务器端进 ...

  8. Linux的yum管理

    前面介绍了软件的管理的方式rpm.但有个缺点,rpm不能解决依赖. 下面介绍的yum软件管理.可以完美的解决这个问题. 使用yum的方式管理rpm软件         优势:自动解决软件的依赖关系   ...

  9. 使用Qemu运行Ubuntu文件系统 —— 搭建SVE学习环境(2)

    开发环境 PC:ubuntu18.04 Qemu:4.1 Kernel:Linux-5.2 概述 由于要学习ARM的SVE技术,但是目前还没有支持SVE指令的板子,所以只能用Qemu来模拟,但是发现Q ...

  10. 回顾Python装饰器

    函数装饰器(function decorator)可以对函数进行“标注”,给函数提供更多的特性. 在理解装饰器之前需要理解闭包(closure).Python3.0 引入了保留关键字 nonlocal ...