暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

PostgreSQL问答-第20230113期

原创 Maleah 2023-01-13
694

目录

Q1. FATAL: connection limit exceeded for non-superusers

问题描述

PostgreSQL 出现FATAL: connection limit exceeded for non-superusers报错,是什么原因导致的?如何解决?

问题解答

原因:数据库的连接数较多,超过max_connections设置的阈值

解决办法

1)等数据库连接数减少的时候连接。看下pg_stat_activity中是否有较多较长时间的idle。

2)适当调大max_connections的值

Q2. pg 搭建主从时,节点名称有特殊字符,如何进行配置?

问题描述

PostgreSQL 中,搭建主从流复制时,节点名称有特殊字符,主从节点对应的synchronous_standby_names和primary_conninfo 应如何配置?

问题解答

主从同步模式,配置节点名称,如果有特殊字符,比如减号 - 时,需要注意:

  • 1.主库synchronous_standby_names里需要加一层双引号
  • 2.备库application_name不能加
主库:synchronous_standby_names='"node-a","node-b"'
备库node-a:primary_conninfo = 'host= port= user= application_name=node-a'
备库node-b:primary_conninfo = 'host= port= user= application_name=node-b'
img

Q3. pg_publication_tables 视图中只能查看发布的部分表,是什么原因?

问题描述

PostgreSQL中,逻辑复制在创建发布时设置的for all tables,但是在pg_publication_tables 中只查到一部分表,这可能是什么原因?

问题解答
  • 权限是否够,有些表是后面添加的,账号是否对这些表有权限操作
  • ALTER SUBSCRIPTION name REFRESH PUBLICATION

Q4. pg中 starts_with() 函数如何使用?

问题描述

PostgreSQL中的 starts_with() 函数时如何使用的?

问题解答
  • 作用:函数检查一个字符串是否以一个指定的前缀开头

  • 语法:starts_with(string, prefix)

  • 返回值:如果字符串 string 以指定的前缀 prefix 开头,返回true;否则 false

  • 示例

    postgres=# select starts_with('1ll','1') ;
     starts_with 
    -------------
     t
    (1 row)
    
    postgres=# select starts_with('2ll','1') ;
     starts_with 
    -------------
     f
    (1 row)
    

Q5. pg 中有SQL可以一下查出来各个库安装的插件情况吗?

问题描述

PostgreSQL 中查询实例中,各个数据库安装的插件,有这样的SQL么?

问题解答
for db in `psql -tAqc 'select datname from pg_database where datname not in ($$template0$$, $$template1$$)'`
do
psql -d $db -qc 'select current_database(),extname as name,extversion as version from pg_extension'
done
最后修改时间:2023-01-30 15:02:51
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论