PostgreSQL – Change Default Encoding of New Databases To UTF-8 (Optional)
When creating a new database (e.g. with createdb blog
) PostgreSQL actually copies a template database. There are two predefined templates: template0 is vanilla, while template1 is meant as an on-site template changeable by the administrator and is used by default. In order to change the encoding of new database, one of the options is to change on-site template1. To do this, log into PostgresSQL shell (psql) and execute the following:
1. First, we need to drop template1. Templates can’t be dropped, so we first modify it so it’s an ordinary database:
UPDATE pg_database SET datistemplate = FALSE WHERE datname = 'template1';
2. Now we can drop it:
DROP DATABASE template1;
3. The next step is to create a new database from template0, with a new default encoding:
CREATE DATABASE template1 WITH TEMPLATE = template0 ENCODING = 'UNICODE';
4. Now modify template1 so it’s actually a template:
UPDATE pg_database SET datistemplate = TRUE WHERE datname = 'template1';
5. (RECOMMENDED) PostgreSQL documentation advises to VACUUM FREEZE the template:
\c template1
VACUUM FREEZE;
6. (OPTIONAL) If you don’t want anyone connecting to this template, set datallowconn to FALSE:
UPDATE pg_database SET datallowconn = FALSE WHERE datname = 'template1';
Now you can create a new database by running from regular shell:
su -
su - postgres
createdb blog;
If you log in back to psql and check the databases, you should see the proper encoding of your new database:
\l
returns
List of databases
Name | Owner | Encoding | Collation | Ctype | Access privileges
-----------+----------+-----------+-----------+-------+----------------------
blog | postgres | UTF8 | C | C |
postgres | postgres | SQL_ASCII | C | C |
template0 | postgres | SQL_ASCII | C | C | =c/postgres
: postgres=CTc/postgres
template1 | postgres | UTF8 | C | C |
PostgreSQL – ArchWiki.
from: http://journal.tianhao.info/2010/12/postgresql-change-default-encoding-of-new-databases-to-utf-8-optional/#comment-1060
分享到:
相关推荐
Rails框架默认使用UTF-8编码,但有时数据库(如MySQL、PostgreSQL等)的默认配置可能不一致,或者导入的数据源编码不正确,这就会引起编码问题。要解决这个问题,我们可以采取以下几种方法: 1. **配置数据库连接**...
postgresql-13.3-2-windows-x64 windows安装器 postgresql-13.3-2-windows-x64 windows安装器 postgresql-13.3-2-windows-x64 windows安装器 postgresql-13.3-2-windows-x64 windows安装器 postgresql-13.3-2-...
This release contains a variety of fixes from 14.0. For information about new features in major release 14, see Section E.2. A dump/restore is not required for those running 14.X. However, note that...
Beginning Databases With PostgreSQL - From Novice To Professional(2nd) 英文无水印pdf 第2版 pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或...
PostgreSQL(postgresql-14.2-2-windows-x64.exe),适用于Windows系统:PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象...
PostgreSQL(postgresql-13.5-1-windows-x64.exe)适用于Windows x86-64 PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的...
5. **数据库交互**:在连接到支持UTF-8的数据库(如MySQL、PostgreSQL等)时,需要确保数据库连接参数设置正确,以便正确地处理UTF-8字符。 Delphi的ADO和FireDAC组件都提供了相应的设置。 6. **网络通信**:如果你...
postgresql-12.4-1-windows-x64.exe
postgresql-16.3-2-windows-x64-binaries.zip
postgresql-12.18-1-windows-x64.exe
PostGIS 是一个基于 PostgreSQL 的空间数据库扩展,提供了强大的空间数据存储和分析功能。将 Shp 文件导入 PostGIS 中,可以充分发挥 PostGIS 的空间分析能力,实现高效的空间数据处理和分析。 Shp 文件导入 ...
postgresql-10.21-1-windows-x64.exe安装包
PostgreSQL(postgresql-14.1-1-windows-x64.exe)适用于Windows x86-64 PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的...
`databases.py-1.0.1-py3-none-any.whl` 是一个 Python 的库文件,用于在 Python 应用程序中与数据库交互。这个文件是 Python 的 Wheel 格式,它是预编译的 Python 包,可以方便地安装到用户的 Python 环境中。Wheel...
PostgreSQL 是一个强大的开源关系型数据库管理系统,其最新版本为16.2,在Windows操作系统上提供了64位的安装程序,文件名为"postgresql-16.2-1-windows-x64.exe"。这个安装程序是专为在Windows环境中运行PostgreSQL...
postgresql-11.2-1-windows-x64.exe
postgresql-15.2-1-windows-x64版本
此“postgresql-9.1.3-1-windows-x64”压缩包是专为64位Windows系统设计的PostgreSQL 9.1.3版本。 PostgreSQL 9.1.3是该数据库系统的其中一个稳定版本,发布于2012年,包含了多项增强和修复。在这一版本中,开发者...
postgresql-9.5.3-1-windows-x64,windows64位版本,安装后自带pgAdmin图形管理工具
PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。POSTGRES的许多领先概念只是在比较迟的时候才出现...