之前的文章解决 File Station 的中文排序问题,但对 Audio Station 并不起作用。按同样的方法分析,发现 Audio Station 最终是从 postgres 的 mediaserver 中取数据,并在 sql 语句中完成排序。因此,问题就变成了怎么让 mediaserver 支持按拼音排序?

群晖上并没有能访问本地 postgres 的 App,只能转而选择群晖之外的工具来操作,这里用 Navicat。

编辑 pg_hba.conf

pg_hba.conf 位于 /etc/postgresql,在该文件中添加以下内容(IP 替换成自己的,下同):

host all all 192.168.3.115/24 trust

编辑 postgresql.conf

postgresql.conf 位于 /etc/postgresql,将改文件中的 listen_addresses = '127.0.0.1' 替换成 listen_addresses = '127.0.0.1, 192.168.3.115'

重启群晖。

修改 mediaserver

1. Navicat 连接数据库,用户名用 postgres,密码不输。

2. 修改数据库模板,执行以下语句:

update pg_database set encoding = pg_char_to_encoding('UTF8'), datcollate = 'zh_CN.UTF8', datctype = 'zh_CN.UTF8' where datname = 'template0';
update pg_database set encoding = pg_char_to_encoding('UTF8'), datcollate = 'zh_CN.UTF8', datctype = 'zh_CN.UTF8' where datname = 'template1';

3. 创建新数据库的 mediaserver1,Encoding 设为 UTF8,Owner 设为 MediaIndex。

4. 使用 Navicat 的 Data Transfer 功能,将 mediaserver 的数据全部转到 mediaserver1 中。

5. 双击打开 postgres 库(只为保证当前数据库不是 mediaserver),新建查询,执行以下语句:

ALTER DATABASE mediaserver RENAME TO mediaserver2;
ALTER DATABASE mediaserver1 RENAME TO mediaserver;

6. 删除 mediaserver2。

7. 重启群晖。再进 Audio Station 就正常了。

最后把 pg_hba.conf 和 postgresql.conf 改回成原来的设置,保证安全。


参考:

  1. MANAGING POSTGRESQL ON A SYNOLOGY SERVER
  2. Make postgres default to UTF8

3 对 “破解群晖Audio Station中文未按拼音排序问题”的想法;

发表评论

电子邮件地址不会被公开。 必填项已用*标注