windows 安装postgresql 14
开源数据库 PostgreSQL 是 1980 年以加利福尼亚大学为中心开发出来的 DBMS,与 MySQL 一样,都是世界上广泛应用的开源数据库(DB)。
本文将会介绍使用 64 位版的 Windows 安装程序(Win x86-64)在 Windows Server 2019(64 位)系统中安装 PostgreSQL 的步骤,请大家结合自身实际下载相应的安装程序。
数据库安装包下载地址:Download PostgreSQL (enterprisedb.com)
运行安装程序的时候,鼠标右键点击安装文件,然后选择“以管理员身份运行”,默认的安装路径是“C:\Program Files\PostgreSQL\14”,选择数据保存路径的,默认路径“C:\PostgreSQL\14\data” ,我们改到了F:\pgdata.
在接下来的数据库管理员密码设置画面中输入任意密码,点击“Next >”按钮。登录 PostgreSQL 时会用到这个密码,请大家务必牢记。 接下来会出现端口号设置画面,无需修改,保持默认的5432,直接点击“Next >”按钮。通常情况下保持默认选项即可。
接下来是 PostgreSQL 地区设置画面。选择默认值,有一次改成了“Chinese(Simplified),Singapore”,出现了下面的错误页面。
安装完成的时候出现了如下画面:
只好手工来完成最后一步:
- 切换到安装目录下的bin目录
- 管理员权限执行initdb "F:\pgdata"
- 如果服务未自动启动,使用pg_ctl start -D "F:\pgdata"启动服务
- 创建用户cmd执行createuser -s -r postgres
使用安装时设置的管理员密码登陆pgadmin(安装路径下/pgAdmin 4/bin/pgAdmin4.exe)
ERROR: character with byte sequence 0xe5 0x91 0xa8 in encoding "UTF8" has noequivalent in encoding"WIN1252"
通过修改PostgreSQL配置文件,在运行日志(不是WAL和提交日志)中输出SQL语句执行情况,可以准确定位到哪个表会引发错误。具体方法是:
- 修改配置文件postgresql.conf,通常在$pgdata目录下,本例中是在F:\pgdata目录;
- 找到“where to log”块,将logging_collector设置为on,这意味着开启运行日志,所在目录由log_directory参数指定;
- 找到“what to log”块,将log_statement设置为mod或all,这意味着sql语句被记录到运行日志;
- 仍在“when to log”块,确保log_min_error_statement为error或更低级别,以记录错误信息;因缺省值已是error,一般无须修改;
- 仍在“when to log”块,确保log_min_message为info或更低级别,这样成功执行的sql语句所绑定的变量也能查到(可选);
- 重启PostgreSQL,执行那个导入程序,此时运行日志已记录下执行的sql语句情况,根据报错信息即可具体定位是哪个表引起。
日志里看到如下的sql:
2022-12-22 08:19:23.510 UTC [1888] ERROR: character with byte sequence 0xe5 0x91 0xa8 in encoding "UTF8" has no equivalent in encoding "WIN1252"
2022-12-22 08:19:23.510 UTC [1888] STATEMENT: /*pga4dash*/
SELECT
pid,
datname,
usename,
application_name,
client_addr,
pg_catalog.to_char(backend_start, 'YYYY-MM-DD HH24:MI:SS TZ') AS backend_start,
state,
wait_event_type || ': ' || wait_event AS wait_event,
pg_catalog.pg_blocking_pids(pid) AS blocking_pids,
query,
pg_catalog.to_char(state_change, 'YYYY-MM-DD HH24:MI:SS TZ') AS state_change,
pg_catalog.to_char(query_start, 'YYYY-MM-DD HH24:MI:SS TZ') AS query_start,
pg_catalog.to_char(xact_start, 'YYYY-MM-DD HH24:MI:SS TZ') AS xact_start,
backend_type,
CASE WHEN state = 'active' THEN ROUND((extract(epoch from now() - query_start) / 60)::numeric, 2) ELSE 0 END AS active_since
FROM
pg_catalog.pg_stat_activity
WHERE
datname = (SELECT datname FROM pg_catalog.pg_database WHERE oid = 13754)ORDER BY pid
上面这个问题的原因在postgrsql 里是一个普遍的问题,由于客户端和服务器的编码不对。
出处:https://www.cnblogs.com/shanyou/p/16999212.html
关注我】。(●'◡'●)
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的【因为,我的写作热情也离不开您的肯定与支持,感谢您的阅读,我是【Jack_孟】!
本文来自博客园,作者:jack_Meng,转载请注明原文链接:https://www.cnblogs.com/mq0036/p/17474257.html
【免责声明】本文来自源于网络,如涉及版权或侵权问题,请及时联系我们,我们将第一时间删除或更改!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2021-06-12 戴德金分割原理
2021-06-12 什么是自然数.整数,有理数,无理数,实数,虚数
2020-06-12 全网最硬核解读计算机启动原理
2017-06-12 图片的base64编码通过javascript生成图片--当前URL地址的二维码应用
2017-06-12 用javascript实现base64编码器以及图片的base64编码