当前位置: 首页 > news >正文

【PG】PostgreSQL字符集

目录

设置字符集

1 设置集群默认的字符集编码

2 设置数据库的字符集编码

查看字符集

1 查看数据字符集编码 

2 查看服务端字符集

3 查看客户端字符集

4 查看默认的排序规则和字符分类

 被支持的字符集


PostgreSQL里面的字符集支持你能够以各种字符集存储文本,包括单字节字符集,比如 ISO 8859 系列,以及多字节字符集 ,比如EUC(扩展 Unix 编码 Extended Unix Code)、UTF-8 和 Mule 内部编码。所有被支持的字符集都可以被客户端透明地使用,但少数只能在服务器上使用(即作为一种服务器方编码)。默认的字符集是在使用 initdb初始化你的PostgreSQL数据库集簇时选择的。在你创建一个数据库时可以重载它,因此你可能会有多个数据库并且每一个使用不同的字符集。

但是,一个重要的限制是每个数据库的字符集必须和数据库的LC_CTYPE (字符分类)和LC_COLLATE (字符串排序顺序)设置兼容。对于 CPOSIX环境,任何字符集都是允许的, 但是对于其他libc提供的环境只有一种字符集可以正确工作(不过, 在Windows上UTF-8编码可以和任何环境配合使用)。 如果您配置了ICU支持,则ICU提供的区域设置可用于大多数服务器端编码, 但不能用于所有服务器端编码。

设置字符集

1 设置集群默认的字符集编码

initdb为一个PostgreSQL集簇定义缺省的字符集(编码)。比如:把缺省字符集设置为EUC_JP(用于日文的扩展Unix 编码)。

initdb -E EUC_JP
或者
initdb --encoding EUC_JP

如果没有给出-E或者--encoding选项,initdb会尝试基于指定的或者默认的区域判断要使用的合适编码。 

2 设置数据库的字符集编码

数据库创建时你指定一个非默认编码,提供的编码应和选择的区域兼容:

createdb -E EUC_KR -T template0 --lc-collate=ko_KR.euckr --lc-ctype=ko_KR.euckr korean
或者SQL 
CREATE DATABASE korean WITH ENCODING 'EUC_KR' LC_COLLATE='ko_KR.euckr' LC_CTYPE='ko_KR.euckr' TEMPLATE=template0;

注意:上述命令指定拷贝template0数据库。在拷贝任何其他数据库时,不能更改从源数据库得来的编码和区域设置,因为这可能会导致破坏数据。

查看字符集

1 查看数据字符集编码 

数据库的字符集存储在系统目录pg_database

psql -l
或者
postgres=# \lList of databasesName     |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges
-------------+----------+----------+-------------+-------------+-----------------------db3         | postgres | UTF8     | en_US.UTF8  | en_US.UTF8  |db4         | role1    | UTF8     | en_US.UTF8  | en_US.UTF8  |db5         | role2    | UTF8     | en_US.UTF8  | en_US.UTF8  |dbtemplate  | postgres | UTF8     | en_US.UTF8  | en_US.UTF8  |dbtemplate1 | postgres | UTF8     | en_US.UTF8  | en_US.UTF8  |dbtemplate2 | postgres | UTF8     | en_US.UTF8  | en_US.UTF8  |korean      | postgres | EUC_KR   | ko_KR.euckr | ko_KR.euckr |postgres    | postgres | UTF8     | en_US.UTF8  | en_US.UTF8  |template0   | postgres | UTF8     | en_US.UTF8  | en_US.UTF8  | =c/postgres          +|          |          |             |             | postgres=CTc/postgrestemplate1   | postgres | UTF8     | en_US.UTF8  | en_US.UTF8  | =c/postgres          +|          |          |             |             | postgres=CTc/postgrestestdb      | postgres | UTF8     | en_US.UTF8  | en_US.UTF8  |
(11 rows)

2 查看服务端字符集

# 服务端字符集
postgres=# show server_encoding;server_encoding
-----------------UTF8
(1 row)

3 查看客户端字符集

# 客户端字符集
postgres=# show client_encoding;client_encoding
-----------------UTF8
(1 row)postgres=#
postgres=#  \encoding
UTF8

4 查看默认的排序规则和字符分类

# 字符分类
postgres=# show lc_ctype;lc_ctype
------------en_US.UTF8
(1 row)# 排序规则
postgres=# show lc_collate;lc_collate
------------en_US.UTF8

 被支持的字符集

参考 PostgreSQL字符集

相关文章:

【PG】PostgreSQL字符集

目录 设置字符集 1 设置集群默认的字符集编码 2 设置数据库的字符集编码 查看字符集 1 查看数据字符集编码 2 查看服务端字符集 3 查看客户端字符集 4 查看默认的排序规则和字符分类 被支持的字符集 PostgreSQL里面的字符集支持你能够以各种字符集存储文本&#xff0c…...

力扣:137. 只出现一次的数字 II(Python3)

题目: 给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法且使用常数级空间来解决此问题。 来源:力扣(Lee…...

orb-slam3编译手册(Ubuntu20.04)

orb-slam3编译手册(Ubuntu20.04) 一、环境要求1.安装git2.安装g3.安装CMake4.安装vi编辑器 二、源代码下载三、依赖库下载1.Eigen安装2.Pangolin安装3.opencv安装4.安装Python & libssl-dev5.安装boost库 三、安装orb-slam3四、数据集下载及测试 写在…...

升级 Xcode 15模拟器 iOS 17.0 Simulator(21A328) 下载失败

升级 IDE Xcode 15 后本地模拟器 Simulator 全被清空,反复重新尝试 Get 下载频频因网络异常断开而导致失败 ... 注:通过 Get 方式下载一定要保证当前网络环境足够平稳,网络环境不好的情况下该方法几乎成不了 解决办法 Get 方式行不通可以尝试通过 官网 途径先下载 模拟器安装包…...

PHP 函数、PHP 简单后门

函数 基本结构 语法结构 function 函数名(形式参数1,形式参数2...){//函数体return 返回值 }定义并执行一个简单函数 // funtion.phpfunction test(){echo "This is function ".__FUNCTION__; }test();函数传参 // function.phpfunction add($x, $y){$sum $x …...

前端实现菜单按钮级权限

核心思想就是通过登录请求此用户对应的权限菜单,然后跳转首页,触发全局前置导航守卫,在全局导航守卫中通过 addRoute 添加动态路由进去。addRoute有一个需要注意的地方,就是我们添加完动态路由后,地址栏上立即访问添加…...

STM32:TTL串口调试

一.TTL串口概要 TTL只需要两个线就可以完成两个设备之间的双向通信,一个发送电平的I/O称之为TX,与另一个设备的接收I/O口RX相互连接。两设备之间还需要连接地线(GND),这样两设备就有相同的0V参考电势。 二.TTL串口调试 实现电脑通过STM32发送…...

【Jenkins 安装】

一:安装文件夹准备 在/home/admin 界面下新建三个文件夹,用来安装tomcat、maven 1.打开,/home/admin目录 cd /home/admin 2.新建三个文件夹 mkdir tomcat mkdir maven 二:安装tomcat 1.打开tomcat目录进行tomcat的安装 访问:h…...

JVM——GC垃圾回收器

GC垃圾回收器 JVM在进行GC时:并不是对这三个区域(新生区,幸存区(from,to),老年区)统一回收,大部分时候,回收都是新生区 GC两种类:轻GC&#xff…...

【三维重建-PatchMatchNet复现笔记】

【三维重建-PatchMatchNet复现笔记】 1 突出贡献2 数据集描述3 训练PatchMatchNet3.1 输入参数3.2 制定数据集加载方式 1 突出贡献 在计算机GPU和运行时间受限的情况下,PatchMatchNet测试DTU数据集能以较低GPU内存和较低运行时间,整体误差位列中等&#…...

CSS - 常用属性和布局方式

目录 前言 一、常用属性 1.1、字体相关 1.2、文本相关 1.3、背景相关 1.3.1、背景颜色 1.3.2、背景图片 1.4、圆角边框 二、常用布局相关 2.1、display 2.2、盒子模型 2.2.1、基本概念 2.2.2、border 边框 2.2.3、padding 内边距 2.2.4、margin 外边距 2.3、弹…...

数据结构与算法之矩阵: Leetcode 134. 螺旋矩阵 (Typescript版)

螺旋矩阵 https://leetcode.cn/problems/spiral-matrix/ 描述 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例 1 输入:matrix [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5]示…...

LVS+keepalived高可用负载均衡集群

keepalived介绍 keepalived为LVS应运而生的高可用服务。LVS的调度器无法做高可用,于是keepalived这个软件。实现的是调度器的高可用。 但是keepalived不是专门为LVS集群服务的,也可以做其他代理服务器的高可用。 LVS高可用集群的组成 主调度器备调度器&…...

解密Kubernetes:探索开源容器编排工具的内核

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…...

苹果手机怎么设置壁纸?解锁设置壁纸的2种方法!

手机壁纸便是我们常说的屏幕背景图,一张好看的手机壁纸能使我们的心情变得愉悦。这个壁纸可以是风景、美食、喜欢的偶像、自己养的宠物,或者是你的家人、朋友。 拥有特殊含义的照片会更让人想要设置成壁纸。苹果手机怎么设置壁纸?本文将给大…...

解决LOGITECH 罗技驱动 MAC版出现的一些问题汇总!

安装前将之前的安装文件清理干净!!!!! 罗技驱动最新安装包下载 我的鼠标是G304 1. 驱动安装一直卡在99% 运行官方下载的安装程序,卡住后关掉窗口。 在终端中执行以下命令: sudo /Users/用户名…...

PyQt5入门4——给目标检测算法构建一个简单的界面

PyQt5入门4——给目标检测算法构建一个简单的界面 学习前言要构建怎么样的界面实例使用1、窗口构建a、按钮:获取图片b、Inputs、Outputs文本提示c、Inputs、Outputs图片显示d、箭头显示e、整点祝福 2、主程序运行 全部代码 学习前言 搞搞可视化界面哈,虽…...

Pandas数据分析系列9-数据透视与行列转换

Pandas 数据透视表 当数据量较大时,为了更好的分析数据特征,通常会采用数据透视表。数据透视表是一种对数据进行汇总和分析的工具,通过重新排列和聚合原始数据,可以快速获得更全面的数据洞察。数据透视表在Excel中也是经常使用的一个强大功能,在Pandas模块,其提供了pivot…...

部分背包问题细节(贪心)

有一种情况是,背包可以把金币全部拿走: 如果num小于0则返回值...

windows协议详解之-RPC/SMB/LDAP/LSA/SAM域控协议关系

如果你在windows域控环境中,例如企业的网络中开启wireshark抓包,你一定会遇到一大堆各种各样的协议。不同于互联网服务(大多基于HTTP),为了实现域控中各种各样的服务,windows的域控环境中采用了非常多的协议…...

Go语言的性能优化:从分析到实践

Go语言的性能优化:从分析到实践 性能优化的重要性 在软件开发中,性能优化是一个永恒的话题。一个高性能的应用程序可以: 提高用户体验,减少响应时间降低服务器成本,提高资源利用率增强系统的可扩展性提升应用程序的竞争…...

Cadence Virtuoso保姆级教程:从零完成反相器版图绘制、DRC到后仿真的完整流程

Cadence Virtuoso保姆级教程:从零完成反相器版图绘制、DRC到后仿真的完整流程 在集成电路设计领域,Cadence Virtuoso是业界公认的标准工具之一。对于初学者而言,掌握从原理图到版图再到后仿真的完整流程至关重要。本文将带领你一步步完成反相…...

定时任务XXL-Job

目录为什么是XXL-Job?SpringBoot 整合XXL-Job1)环境准备2)SpringBoot 项目依赖3)application.yml 配置4)XXL-Job 配置类5)定时任务业务类(核心代码)6)调度中心Web可视化界…...

智能车竞赛备赛利器:用快马AI快速搭建算法仿真原型

智能车竞赛备赛利器:用快马AI快速搭建算法仿真原型 参加智能车竞赛的同学都知道,算法调试和硬件交互是最耗时的环节之一。传统开发流程中,光是搭建仿真环境就要花上好几天,更别说反复调试参数了。最近我发现InsCode(快马)平台能帮…...

突破视频内容壁垒:B站视频转文字的智能解决方案

突破视频内容壁垒:B站视频转文字的智能解决方案 【免费下载链接】bili2text Bilibili视频转文字,一步到位,输入链接即可使用 项目地址: https://gitcode.com/gh_mirrors/bi/bili2text 在信息爆炸的时代,视频已成为知识传播…...

响应性负载的参考信号发生器不适用于SRF,改进后的SRF生成与Vs同相的参考信号附Simulink仿真

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室🍊个人信条:格物致知,完整Matlab代码及仿真咨询…...

基于BiTCN - BiGRU的分类预测Matlab代码实践:新手友好指南

基于BiTCN-BiGRU分类 Matlab代码 基于双向时间卷积网络结合双向门控循环单元(BiTCN-BiGRU)的数据分类预测(可以更换为单、多变量时序预测/回归,),Matlab代码,可直接运行,适合小白新手 程序已经调试好,无需更改代码替换…...

3分钟上手Hysteria2:从安装到连接的超简单教程

3分钟上手Hysteria2:从安装到连接的超简单教程 Hysteria2是一款高效的网络加速工具,通过一键安装脚本即可快速部署,特别适合新手用户。本教程将带你在3分钟内完成从安装到连接的全过程,让你轻松享受高速网络体验。 准备工作&#…...

PromptSource批量操作工具:一次性修改数百个提示模板的技巧

PromptSource批量操作工具:一次性修改数百个提示模板的技巧 【免费下载链接】promptsource Toolkit for creating, sharing and using natural language prompts. 项目地址: https://gitcode.com/gh_mirrors/pr/promptsource PromptSource是一个强大的自然语…...

保姆级教程:用微信小程序NFC读写M1门禁卡(附完整代码与认证避坑指南)

微信小程序NFC开发实战:M1门禁卡读写全流程解析 周末在改造小区老旧门禁系统时,我发现传统IC卡存在易丢失、难管理的痛点。借助微信小程序的NFC能力,我们完全可以用手机替代实体门禁卡。本文将手把手带你实现M1卡的读写操作,重点…...