如何设置数据库的LC_COLLATE, LC_CTYPE, ENCODING, TEMPLATE

本文详细介绍了如何在PostgreSQL中创建数据库时设置LC_COLLATE, LC_CTYPE, 和ENCODING。内容包括CREATE DATABASE语法、克隆模板库、指定字符集、查询字符集支持的LC_COLLATE和LC_CTYPE信息,以及如何修改已有数据库的collate和ctype。特别强调了创建数据库时需注意的兼容性和模板库的选择。" 52947225,5580683,Ubuntu 14.04 安装protobuf2.6.1教程,"['Ubuntu', 'protobuf', '安装教程', '软件配置']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

标签

PostgreSQL , create database , collate , ctype , pg_encoding , pg_encoding_to_char()


背景

PostgreSQL实例支持创建多个数据库,创建数据库时,可以指定模板库,并为每个数据库设置不同的字符集、本地化collate, 货币等属性。

接下来举例讲述CREATE DATABASE的具体使用方法。

一、CREATE DATABASE语法

Command:     CREATE DATABASE  
Description: create a new database  
Syntax:  
CREATE DATABASE name  
    [ [ WITH ] [ OWNER [=] user_name ]  
           [ TEMPLATE [=] template ]  
           [ ENCODING [=] encoding ]  
           [ LC_COLLATE [=] lc_collate ]  
           [ LC_CTYPE [=] lc_ctype ]  
           [ TABLESPACE [=] tablespace_name ]  
           [ CONNECTION LIMIT [=] connlimit ] ]  

二、克隆模板库(从指定模板创建数据库)

例子

以test数据库为模板,克隆一个名为test01的数据库。

test=> create database test01 with template test;  
CREATE DATABASE  

如果不指定模板,则默认的模板为template1。

注意

从指定模板库创建数据库,除了当前连接,不能有其他用户连在对应的模板库上面。

如果有其他用户连在test库,可能会报类似这样的错误

test=> create database test01 with template test;  
ERROR:  source database "test" is being accessed by other users  
DETAIL:  There is 1 other session using the database.  

三、创建数据库时,如何指定encoding

PostgreSQL支持哪些encoding

用户可以参考PostgreSQL的官方文档,有对应的字符集支持列表

https://www.postgresql.org/docs/9.6/static/multibyte.html

Server=Yes表示该字符集支持用于create database。否则只支持作为客户端字符集。

Name Description Language Server? Bytes/Char Aliases
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值