nls_length_semantics参数

在不同的字符串编码方式下,一个中文字符对应的字符byte长度是不同的。比如,一个字段长度设置为10,如果是英文字符就可以容纳10位长度,如果是中文字符就只能容纳最多5位长度。如果采用如UTF-8类宽泛字符集类型,也就3-4个中文字符。

我们定义varchar2(10)其实是有两层理解,一则是10个byte位长度,另一则是10个输入字符长度。两种理解前者是技术派,后者理解是从业务应用角度看问题。

初始化参数NLS_LENGTH_SEMANTICS用于指定CHAR列或VARCHAR2列的长度定义方式,默认值为BYTE。当设置该参数为BYTE时,定义CHAR列或VARCHAR2列采用字节长度方式;当设置该参数为CHAR时,定义CHAR列或VARCHAR2列采用字符个数方式。需要注意,设置该参数对于已存在参数没有作用。

show nls_length_semantics;

alter system set nls_length_semantics=char;

select pg_reload_conf();

frp实现内网穿透

利用frp实现外网访问局域网系统,或进行微信开发等。frp项目地址:https://github.com/fatedier/frp

所需环境:

  1. 具有公网的服务器(服务端)
  2. 内网电脑(客户端)
  3. 可选使用域名或IP访问
  4. 云服务器安全组、宝塔等放行对应端口

步骤

  1. 通过github下载linux服务端及windows客户端
  2. 服务器和客户端对应修改配置项并启动

- 阅读剩余部分 -

MySQL 和 PostgreSQL 对比

MySQL 和 PostgreSQL 是两个广泛使用的关系型数据库管理系统(RDBMS)。它们都具有强大的功能和广泛的社区支持,但在某些方面存在一些差异。本文将详细比较 MySQL 和 PostgreSQL,包括它们的特点、性能、扩展性、安全性以及适用场景等方面。

2023-08-04T12:15:32.png

- 阅读剩余部分 -

vmware设置共享文件夹

vmware 虚拟机(linux系统)设置中添加文件夹;

打开Linux终端,输入以下命令,需要在root用户下执行
(1)如果/mnt下没有hgfs文件夹,需要自己手动创建。输入:mkdir /mnt/hgfs
(2)输入vmhgfs-fuse .host:/ /mnt/hgfs ,共享文件挂载到hgfs目录下
(3)查看是否挂在成功ls mnt/hgfs

2023-08-17T09:56:22.png

ThinkPHP框架MySQL转PostgreSQL

thinkphp项目需进行国产化,将原有mysql数据库转为基于postgresql的国产数据库。

以下内容需进一步测试完善

步骤(待完善,仅参考)

  1. 导出线上数据库到本地(含数据+结构、结构两种sql)

    • 修改char类型为varchar

      同时需导出一份数据表结构sql,修改char为varchar后导入ss_pg1;
    • 清理不必要的日志文件等数据
    • 修改部分日期字段(lawyer/_apply中的birthday等left(birthday, 1) <>1 and left(birthday, 1)<>2)
    • 修改lawyer_apply表birthday默认为Null
    • 使用navicat将“数据+结构”数据导入到ss_pg2库;

- 阅读剩余部分 -

统信UOS V20编译安装PostgreSQL

更改yum源

由于统信V20服务器免费版无法使用官方yum源,需更改默认yum源。

cd /etc/yum.repos.d
mv UniontechOS.repo UniontechOS.repo.bak
#下载可用的repo文件
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
yum makecache
yum update

- 阅读剩余部分 -