Babelfish 配置数据库字符集-中文字符显示-babelfish for postgresql 中文字符集(babelfish中文乱码解决方法)

本文档详细介绍了如何初始化PostgreSQL数据库,包括设置参数如`listen_addresses`和`shared_preload_libraries`,以及安装Babelfish for PostgreSQL扩展以支持SQL Server兼容性。接着,创建数据库用户和数据库,并配置Babelfish以适应多数据库模式。此外,还展示了创建带有中文字符支持的表和插入数据的步骤。

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

第一步postgres 数据库初始化 initdb


	    ~/postgres/bin/initdb -D    $INSTALLATION_PATH/data01  --encoding=UTF8 --lc-collate='en_GB.UTF-8' --lc-ctype=zh_CN  --locale='en_GB.utf8'
	

su - pguser001 -c “/u01/pgsql/bin/initdb --username=pguser001 --encoding=UTF8 --lc-collate=C --lc-ctype=en_US.
utf8 --data-checksums -D /data”

第二步 修改数据库启动的配置文件
postgresql.conf


listen_addresses = '*'
shared_preload_libraries = 'babelfishpg_tds'
babelfishpg_tsql.server_collation_name=chinese_prc_ci_as

babelfishpg_tsql.default_locale=zh_CN
port = 5432                             # (change requires restart)
max_connections = 1000


第三步 创建数据库

 Connect via psql using the command ~/postgres/bin/psql -U postgres  -h 127.0.0.1 . Create the extension and set up essential parameters. Please be aware you need to choose either 'single-db' or 'multi-db' mode during this provisioning step and you CAN NOT change it later. Refer to our documentation page for more information on 'single-db' vs 'multi-db' mode.


    CREATE USER babelfish_user WITH CREATEDB CREATEROLE PASSWORD '12345678' INHERIT;
      CREATE DATABASE babelfish_db OWNER babelfish_user encoding 'UTF8' lc_collate 'en_GB.utf8' lc_ctype 'en_GB.utf8'  


    DROP DATABASE IF EXISTS babelfish_db;
    CREATE DATABASE babelfish_db OWNER babelfish_user encoding 'UTF8' lc_collate 'en_GB.utf8' lc_ctype 'en_GB.utf8'     template template0;;
    \c babelfish_db
    CREATE EXTENSION IF NOT EXISTS "babelfishpg_tds" CASCADE;
    GRANT ALL ON SCHEMA sys to babelfish_user;
    ALTER SYSTEM SET babelfishpg_tsql.database_name = 'babelfish_db';
    ALTER SYSTEM SET babelfishpg_tds.set_db_session_property = true;
    ALTER DATABASE babelfish_db SET babelfishpg_tsql.migration_mode =  'multi-db';
    SELECT pg_reload_conf();
    CALL SYS.INITIALIZE_BABELFISH('babelfish_user');



连接babelfish 1433 (as mssql) 创建数据库 abc --支持中文字符–babelfish for postgresql 中文字符集

create database hisdemo2 ;

CREATE TABLE  Emr_4 (
	ID int IDENTITY(1,1) NOT NULL,
	IsYear int NOT NULL,
	TimeFromTo varchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL,
	[院区] varchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL,
	[上一年年度总收入] decimal(18,2) NOT NULL,
	[全部出院病人数] decimal(18,2) NOT NULL,
	[门诊患者人次数] decimal(18,2) NOT NULL,
	[处方记录数] decimal(18,2) NOT NULL,
	[处方数] decimal(18,2) NOT NULL,
	[检验项目人次数] decimal(18,2) NOT NULL,
	[住院检验项目人次数] decimal(18,2) NOT NULL,
	[门诊检验项目人次数] decimal(18,2) NOT NULL,
	[检查项目人次数] decimal(18,2) NOT NULL,
	[住院检查项目人次数] decimal(18,2) NOT NULL,
	 
	RecordUser varchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL,
	RecordTime datetime NOT NULL,
	CONSTRAINT PK_Emr_4 PRIMARY KEY (ID)
)  ;


-- Auto-generated SQL script #202205231427
INSERT INTO  emr_4 (isyear,timefromto,[院区],[上一年年度总收入],[全部出院病人数],
[门诊患者人次数],[处方记录数],[处方数],[检验项目人次数],[住院检验项目人次数],[门诊检验项目人次数],[检查项目人次数],[住院检查项目人次数],recorduser)
	VALUES (1,'得到','地方',11.01,1.0,12323.0,11.0,111.0,11.0,11.0,11.0,11.0,11.0,'dfdf地方')



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值