瀚高数据库相关设置

瀚高数据库相关设置

一、配置瀚高数据库局域网访问
需要修改两个文件:postgresql.conf和pg_hba.conf

1)在postgresql.conf中找到下述配置,把listen_addresses前面的注释去掉,值修改为*

# - Connection Settings -

#listen_addresses = 'localhost'		# what IP address(es) to listen on;
					# comma-separated list of addresses;
					# defaults to 'localhost'; use '*' for all
					# (change requires restart)

修改为

# - Connection Settings -
# listen_addresses前面的注释去掉,把值设置为*
listen_addresses = '*'		# what IP address(es) to listen on;
					# comma-separated list of addresses;
					# defaults to 'localhost'; use '*' for all
					# (change requires restart)

2)在pg_hba.conf最后位置找到下述配置,修改IPv4的相关配置

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
host    replication     all             127.0.0.1/32            md5
host    replication     all             ::1/128                 md5

修改为

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# IPv4 local connections:
# 注释掉原来的
#host    all             all             127.0.0.1/32            md5
# 把ADDRESS的值修改为0.0.0.0/0,接受任何地址的访问
host    all             all             0.0.0.0/0               md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
host    replication     all             127.0.0.1/32            md5
host    replication     all             ::1/128                 md5

3)修改完配置文件,重启数据库生效

二、安全版瀚高数据库,怎么使用第三方工具连接(Navicat)
安全版瀚高数据库,密码的默认加密方式时sm3,导致无法使用第三方工具连接。

1)最小化改造,新建一个用户,密码指定md5加密,新建一个数据库,把owner指定为新建的用户,例如

# 先通过命令行登录,再进行下述操作
# 查看密码加密方式
show password_encryption;
# 设置密码加密方式
set password_encryption to md5;
# 创建用户
create user test password 'Highgo@1234' valid until 'infinity';
# 创建数据库,并指定归属用户
create database dbtest owner=test encoding='utf8';

修改pg_hba.conf配置文件

# IPv4 local connections:
# 指定特定用户(例如test)连接时,密码的加密方式,特定用户配置需要放在前面,规则从前往后匹配
host    all             test            0.0.0.0/0               md5
# 把ADDRESS的值修改为0.0.0.0/0,接受任何地址的访问
host    all             all             0.0.0.0/0               sm3

经过上述配置后,就可以使用navicat,使用test用户登录了。

2)修改瀚高数据库默认加密方式为md5(数据库刚安装、独享数据库、其他方无意见的情况)。

# 命令行登录数据库
# 设置密码加密方式为md5
set password_encryption to md5;
# 在当前会话中修改管理员用户密码
alter user highgo password 'Hello@123' valid until 'infinity';
# 修改postgresql.conf
# 默认
#password_encryption = sm3		# md5, sm3 or scram-sha-256
# 密码加密方式的值修改为md5
password_encryption = md5
# 修改pg_hba.conf
# 连接加密方法,sm3全部改为md5
# TYPE  DATABASE        USER            ADDRESS                 METHOD

# IPv4 local connections:
# host    all             all             127.0.0.1/32            md5
host    all             all             0.0.0.0/0               md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
host    replication     all             127.0.0.1/32            md5
host    replication     all             ::1/128                 md5

重启数据库,第三方工具尝试连接

三、通过sql查看认证信息

# 登录数据库,通过sql查看认证信息,通过rolpassword可以看出密码采用哪种加密方式。例如highgo的密码采用的sm3加密方式,test用户的密码采用md5加密方式。
highgo=# select rolname,rolpassword from pg_authid;
          rolname          |                             rolpassword
---------------------------+---------------------------------------------------------------------
 pg_monitor                |
 pg_read_all_settings      |
 pg_read_all_stats         |
 pg_stat_scan_tables       |
 pg_read_server_files      |
 pg_write_server_files     |
 pg_execute_server_program |
 pg_signal_backend         |
 highgo                    | sm3ae987c45185be33b5cc98702bb7c18879ffe4da1e9e790ff0b683a33052420fd
 test                      | md551d7479414a868138fccd56a558ccc06
(10 行记录)

四、psql相关操作

联接选项:
  -h, --host=主机名        数据库服务器主机或socket目录(默认:"本地接口")
  -p, --port=端口          数据库服务器的端口(默认:"5866")
  -U, --username=用户名    指定数据库用户名
  -d, --dbname=DBNAME      指定要连接的数据库

# 连接瀚高数据库时,常用写法。注意,如果pg_hba.conf中配置了多种访问加密方法,连接字符串中尽量写明-h ip地址, 不然可能会匹配不上(有待研究)。
psql -U highgo
psql -U highgo -h 127.0.0.1
psql -U highgo -p 5866 -h 127.0.0.1
psql -U highgo -p 5866 -h 127.0.0.1 -d highgo

五、其他注意事项

# 修改密码会重置账户有效期,默认七天
alter user test password 'Word@123';
# 修改密码时,需要加上valid until 'infinity',指定密码无期限
alter user test password 'Word@123' valid until 'infinity';

# 不修改密码,设置密码过期时间为无期限
alter user highgo valid until 'infinity';

小尾巴~~
只要有积累,就会有进步

相关推荐

  1. 数据库相关设置

    2024-06-08 01:26:02       32 阅读
  2. 数据库初级考试认证

    2024-06-08 01:26:02       19 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-08 01:26:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-08 01:26:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-08 01:26:02       82 阅读
  4. Python语言-面向对象

    2024-06-08 01:26:02       91 阅读

热门阅读

  1. go 源码学习1:scanner学习

    2024-06-08 01:26:02       29 阅读
  2. Python怎么翻转:深度探索与技巧剖析

    2024-06-08 01:26:02       32 阅读
  3. 聚类层次【python,机器学习,算法】

    2024-06-08 01:26:02       30 阅读
  4. 数据结构:顺序栈

    2024-06-08 01:26:02       29 阅读
  5. 云计算导论(3)---分布式文件系统

    2024-06-08 01:26:02       31 阅读
  6. redis基本命令

    2024-06-08 01:26:02       27 阅读
  7. C++面试题其三

    2024-06-08 01:26:02       35 阅读
  8. Xtransfer面试内容

    2024-06-08 01:26:02       30 阅读
  9. go语言接口之sort.Interface接口

    2024-06-08 01:26:02       37 阅读
  10. android使用通知和快捷方式

    2024-06-08 01:26:02       30 阅读
  11. accelerate 的一个tip:early stopping 处可能存在的bug

    2024-06-08 01:26:02       28 阅读
  12. Go语言中,公司gitlab私有仓库依赖拉取配置

    2024-06-08 01:26:02       29 阅读