PG17 外链设置

news/2024/11/28 23:22:01/

很多工具不太支持PG17,看了下要

WINDOS测试链接

图片

查看端口

[shark@sharkdb=>~]$pg_isready/tmp:5432- accepting connections

查看PG日志

​​​​​​​

2024-11-22 05:23:27.361 CST [113921] LOG: invalid authentication method"192.168.2.0/24"2024-11-22 05:23:27.361 CST [113921] CONTEXT: line 117 of configurationfile "/Program/pg17/pg_data/pg_hba.conf"2024-11-22 05:23:27.361 CST [113921] FATAL: could notload/Program/pg17/pg_data/pg_hba.conf2024-11-2205:23:27.363CST [113921]LOG:databasesystemisshut down

修改PG_HDB.CONF

​​​​​​​

# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections onlylocalallalltrust# IPv4 local connections:hostallall127.0.0.1/32 trusthostallall192.168.2.0/24 trust# IPv6 local connections:hostallall::1/128 trust# Allow replication connections from localhost, by a user with the# replication privilege.localreplicationalltrusthostreplicationall127.0.0.1/32 trusthostreplicationall::1/128 trust

在IPV4添加:
host    all             all            192.168.2.0/24         trust

pg_hba.conf中的规则格式解读

  • TYPE:指定规则的类型,常见的有local(本地连接)、host(TCP/IP连接)和hostssl(仅限SSL加密的TCP/IP连接)。

  • DATABASE:指定规则适用的数据库名称,可以使用all表示所有数据库。

  • USER:指定规则适用的用户名,可以使用all表示所有用户。

  • ADDRESS:指定客户端的IP地址或子网,可以使用CIDR表示法(如192.168.1.0/24)。

  • METHOD:指定认证方法,常见的有trust(无密码认证)、md5(MD5密码认证)、password(明文密码认证)等。

 认证方法的类型与选择

选择合适的认证方法对于确保数据库的安全性至关重要。以下是一些常用的认证方法及其特点:

  • trust:允许任何用户无需密码即可连接。适用于测试环境,但在生产环境中应谨慎使用。

  • md5:使用MD5哈希值进行密码验证,安全性较高,适用于大多数生产环境。

  • password:使用明文密码进行验证,安全性较低,不推荐在生产环境中使用。

  • scram-sha-256:使用SCRAM-SHA-256协议进行密码验证,安全性更高,适用于对安全性要求较高的场景。

  • cert:使用SSL证书进行身份验证,适用于需要高度安全性的环境。

配置pg_hba.conf文件以允许特定IP地址和用户连接,可以通过以下步骤实现:

  1. 确定连接类型:根据连接方式选择localhosthostssl

  2. 指定数据库和用户:明确规则适用的数据库和用户。

  3. 设置IP地址:使用CIDR表示法指定允许连接的IP地址或子网。

  4. 选择认证方法:根据安全需求选择合适的认证方法。

# 允许本地用户无密码连接localallalltrust# 允许来自192.168.1.0/24子网的用户通过TCP/IP连接,并使用MD5密码认证hostallall192.168.1.0/24 md5# 允许来自10.0.0.0/8子网的用户通过SSL连接,并使用SCRAM-SHA-256认证hostsslallall10.0.0.0/8 scram-sha-256

重启后本地无法登陆

​​​​​​​

Connection options:-h,--host=HOSTNAME database server host or socket directory-p,--port=PORT database server port-U,--username=USERNAME database user name-w,--no-password never prompt for password-W,--password force password prompt (should happen automatically)

​​​​​​​

[shark@sharkdb=>pg_data]$pgsql -h192.168.2.178-p5432-U shark -W123456Password:pgsql: error: connection to server at"192.168.2.178", port5432failed: 拒绝连接Is the server running on that hostandaccepting TCP/IP connections?

修改核心配置POSTGRESQL.CONF

# - Connection Settings -
listen_addresses = '192.168.2.0/24'     # what IP address(es) to listen on;                                        # comma-separated list of addresses;                                        # defaults to 'localhost'; use '*' for all                                        # (change requires restart)port = 5432                             # (change requires restart)max_connections = 100                   # (change requires restart)

居然不支持网段:

​​​​​​​

2024-11-22 06:17:12.626 CST [116588] WARNING:  could not create listen socket for "192.168.2.0/24"2024-11-22 06:17:12.626 CST [116588] FATAL:  could not create any TCP/IP sockets2024-11-22 06:17:12.630 CST [116588] LOG:  database system is shut down

 哦搞错了 listen_addresses 应该是服务器要监控哪个IP,这个IP是服务器对外服务的IP.

listen_addresses = '192.168.2.178'     # what IP address(es) to listen on;

换成真实IP就OK

​​​​​​​

[shark@sharkdb=>pg_data]$pgsql -h 192.168.2.178 -p 5432 -U shark -W "123456" -d testdb pgsql: warning: extra command-line argument "123456" ignoredPassword: pgsql (17.1)Type "help" for help.
SHARKSQL> quit[shark@sharkdb=>pg_data]$pgsql -h 192.168.2.178 -p 5432 -U shark -w 123456 -d testdb pgsql: warning: extra command-line argument "123456" ignoredpgsql (17.1)Type "help" for help.
SHARKSQL>

TMD PGADMIN4

图片

图片

NAVICAT PREMIUM

图片

图片

给业务用户授权

​​​​​​​

SHARKSQL> grant all on database postgres to shark;GRANTTime: 54.094 ms

查看表结构:

SHARKSQL> \d pg_database;               Table "pg_catalog.pg_database"     Column     |   Type    | Collation | Nullable | Default ----------------+-----------+-----------+----------+--------- oid            | oid       |           | not null |  datname        | name      |           | not null |  datdba         | oid       |           | not null |  encoding       | integer   |           | not null |  datlocprovider | "char"    |           | not null |  datistemplate  | boolean   |           | not null |  datallowconn   | boolean   |           | not null |  dathasloginevt | boolean   |           | not null |  datconnlimit   | integer   |           | not null |  datfrozenxid   | xid       |           | not null |  datminmxid     | xid       |           | not null |  dattablespace  | oid       |           | not null |  datcollate     | text      | C         | not null |  datctype       | text      | C         | not null |  datlocale      | text      | C         |          |  daticurules    | text      | C         |          |  datcollversion | text      | C         |          |  datacl         | aclitem[] |           |          | 

没有列:datlastsysoid

下载最新的NAVICAT17

navicat17_pgsql_cs_x64

图片

PGADMIN版本:

图片

去官网下载最新的:

https://www.pgadmin.org/download/pgadmin-4-windows/

图片

图片

NND不支持WIN7

么要WIN10,要么PG17修改了元数据的字段


http://www.ppmy.cn/news/1550753.html

相关文章

Qt程序发布及打包成exe安装包

参考:Qt之程序发布以及打包成exe安装包 目录 一、简述 Qt 项目开发完成之后,需要打包发布程序,而因为用户电脑上没有 Qt 配置环境,所以需要将 release 生成的 exe 文件和所依赖的 dll 文件复制到一个文件夹中,然后再用 Inno Setup 打包工具打包成一个 exe 安装包,就可以…

云计算的计算包括哪些内容

‌云计算的计算主要包括以下几种类型‌: ‌分布式计算‌:分布式计算是一种计算方法,它将大型问题分解成多个小任务,然后分配给多个计算机进行处理。这种方法可以提高计算效率和可靠性‌1。‌并行计算‌:并行计算是同时…

map和redis关系

Map 和 Redis 都是用于存储和管理数据的工具,但它们在用途、实现和应用场景上有所不同。下面详细解释 Map 和 Redis 之间的关系和区别。 1. Map 数据结构 定义 Map 是一种数据结构,用于存储键值对(key-value pairs)。每个键都是…

【逐行注释】自适应观测协方差R的AUKF(自适应无迹卡尔曼滤波,MATLAB语言编写),附下载链接

文章目录 自适应R的UKF逐行注释的说明运行结果部分代码各模块解释 自适应R的UKF 自适应无迹卡尔曼滤波(Adaptive Unscented Kalman Filter,AUKF)是一种用于状态估计的滤波算法。它是基于无迹卡尔曼滤波(Unscented Kalman Filter&…

C# 属性 学习理解记录

字段和属性 左边字段,右边属性 拓展,属性安全: 1、设置public private 和protected 等,只读,只写, 2、在get set 方法时,验证,异常时抛出错误

【数据结构笔记】习题

渐进分析 【2010-THU-Mid】f(n) O(g(n)),当且仅当g(n) Ω(f(n))。(√) 【2010-THU-Mid】若f(n) O(n^2)且g(n) O(n),则以下结论正确的是(AD) A. f(n) g(n) O(n^2) B. f(n) / g(n) O(n) C. g(n) O(f(…

Unity版本使用情况统计(更新至2024年11月)

UWA发布|本期UWA发布的内容是第十五期Unity版本使用统计,统计周期为2024年5月至2024年11月,数据来源于UWA网站(www.uwa4d.com)性能诊断提测的项目。希望给Unity开发者提供相关的行业趋势作为参考。 2024年5月 - 2024年…

全景图像(Panorama Image)向透视图像(Perspective Image)的跨视图转化(Cross-view)

一、概念讲解 全景图像到透视图像的转化是一个复杂的图像处理过程,它涉及到将一个360度的全景图像转换为一个具有透视效果的图像,这种图像更接近于人眼观察世界的方式。全景图像通常是一个矩形图像,它通过将球面图像映射到平面上得到&#xf…