typecho博客程序原生是支持postgres数据库的,但本插件不支持接入postgres数据库,用AI试了下成功适配,期待作者也跟进适配。
步骤如下:
第一步:手动在博客数据库建表
CREATE TABLE IF NOT EXISTS typecho_mail (
id SERIAL PRIMARY KEY,
content TEXT NOT NULL,
sent SMALLINT DEFAULT 0
);
第二步:创建 Pgsql.sql 文件让插件激活不报错
cat > usr/plugins/CommentToMail/Pgsql.sql <<'EOF'
CREATE TABLE IF NOT EXISTS typecho_mail (
id SERIAL PRIMARY KEY,
content TEXT NOT NULL,
sent SMALLINT DEFAULT 0
);
EOF
第三步:修复 Plugin.php 的错误处理(可选但推荐)
插件的 catch 块里只处理了 MySQL 和 SQLite 的"表已存在"错误码,没有 Pgsql 的分支。找到 Plugin.php 里这段:
phpif (('Mysql' == $type && 1050 == $code) ||
('SQLite' == $type && ('HY000' == $code || 1 == $code))
)
改为:
phpif (('Mysql' == $type && 1050 == $code) ||
('SQLite' == $type && ('HY000' == $code || 1 == $code)) ||
('Pgsql' == $type && ('42P07' == $code || 7 == $code))
)
typecho博客程序原生是支持postgres数据库的,但本插件不支持接入postgres数据库,用AI试了下成功适配,期待作者也跟进适配。
步骤如下:
第一步:手动在博客数据库建表
第二步:创建 Pgsql.sql 文件让插件激活不报错
第三步:修复 Plugin.php 的错误处理(可选但推荐)
插件的 catch 块里只处理了 MySQL 和 SQLite 的"表已存在"错误码,没有 Pgsql 的分支。找到 Plugin.php 里这段:
改为: