Skip to content

支持postgres数据库 #1

@ChirmyRam

Description

@ChirmyRam

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))
)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions