PostgreSQL 15 更新

是的,警告是新的(并且应该已修复),但这些仅影响将初始文件复制到系统的命令,与更新无关。我们最大的怀疑是数据库在应用 LANG 之前就已经初始化了,这只会导致数据库更新出现问题。

可以尝试的一种方法是在升级期间暂时将语言设置为 en_US.UTF-8,并在之后换回。(显然,请务必进行备份)

2 个赞

对我来说失败了,和区域设置有关

$ cat postgres_data_new/pg_upgrade_output.d/20250131T032317.601/log/pg_upgrade_server.log
-----------------------------------------------------------------
  pg_upgrade run on Fri Jan 31 03:23:17 2025
-----------------------------------------------------------------

command: "/usr/lib/postgresql/13/bin/pg_ctl" -w -l "/var/lib/postgresql/15/data/pg_upgrade_output.d/20250131T032317.601/log/pg_upgrade_server.log" -D "/var/lib/postgresql/13/data" -o "-p 50432 -b  -c listen_addresses='' -c unix_socket_permissions=0700 -c unix_socket_directories='/var/lib/postgresql'" start >> "/var/lib/postgresql/15/data/pg_upgrade_output.d/20250131T032317.601/log/pg_upgrade_server.log" 2>&1
waiting for server to start....2025-01-31 03:23:17.761 UTC [268] LOG:  invalid value for parameter "lc_messages": "ru_RU.UTF-8"
2025-01-31 03:23:17.761 UTC [268] LOG:  invalid value for parameter "lc_monetary": "ru_RU.UTF-8"
2025-01-31 03:23:17.761 UTC [268] LOG:  invalid value for parameter "lc_numeric": "ru_RU.UTF-8"
2025-01-31 03:23:17.761 UTC [268] LOG:  invalid value for parameter "lc_time": "ru_RU.UTF-8"
2025-01-31 03:23:17.761 UTC [268] FATAL:  configuration file "/var/lib/postgresql/13/data/postgresql.conf" contains errors
 stopped waiting
pg_ctl: could not start server
Examine the log output.

2 个赞

您可以尝试在 app.yml 文件中设置以下内容并重建吗?

env:
  LANG: 'ru_RU.UTF-8'
  ...

您看到的错误可能与 Postgres error upgrading from 3.3 to 3.4 caused by locale issues 相关。

1 个赞

我将其保存在 yml 中,抱歉,如果它不清楚,我正在尝试使用 tianon/postgres-upgrade:13-to-15 容器进行升级,来自 手动更新 并在此脚本上进行了注释。

我通过在容器中启用 ru_RU.UTF-8 区域设置解决了该错误,但现在出现了另一个错误:

正在执行一致性检查
-----------------------------
检查集群版本                                   ok
检查数据库用户是否为安装用户                  ok
检查数据库连接设置                       ok
检查预备事务                          ok
检查用户表中的系统定义复合类型                 ok
检查用户表中的 reg* 数据类型                 ok
检查具有 bigint 传递不匹配的 contrib/isn       ok
检查用户定义的编码转换              ok
检查用户定义的后缀运算符                 ok
检查不兼容的多态函数             ok
创建全局对象转储                             ok
创建数据库模式转储                           ok

数据库 "template1" 的 lc_collate 值不匹配:旧的 "ru_RU.UTF-8",新的 "en_US.utf8"
失败,正在退出
1 个赞

您能否确认一下,在更新 tianon 容器中的区域设置后,您是否也重新创建了 postgres_data_new 目录?它可能在之前的运行中以错误的区域设置启动,这可以解释为什么您随后看到了错误消息 new \"en_US.utf8\"

如果您还没有这样做,您可能还需要在运行 docker-upgrade(它也会为新数据库版本运行 initdb)之前,在 tianon 容器中设置适当的区域设置。最简单的方法是将特定于区域设置的环境变量从您的 app 容器复制过来。

2 个赞

是的,这是问题的一部分!谢谢!

最后我需要做两个修改,第一个是使用 POSTGRES_INITDB_ARGS=\"--locale=ru_RU.UTF-8\" 设置 initdb 的区域设置(基于此 评论),第二个是启用区域设置并运行 locale-gen,所以脚本对我来说看起来是这样的:

docker run --rm \
	--entrypoint=/bin/bash \
	-v /var/discourse/shared/standalone/postgres_data:/var/lib/postgresql/13/data \
	-v /var/discourse/shared/standalone/postgres_data_new:/var/lib/postgresql/15/data \
	-e POSTGRES_INITDB_ARGS="--locale=ru_RU.UTF-8" \
	tianon/postgres-upgrade:13-to-15 \
	-c "apt-get update && apt-get install -y postgresql-15-pgvector && sed -i 's/^# *\\(ru_RU.UTF-8 UTF-8\\)/\\1/' /etc/locale.gen && locale-gen && docker-upgrade"

我还必须修复 postgres_data 文件夹的权限,否则在重建时会出现套接字问题:

2025-01-31 05:38:30.430 GMT [44] LOG:  skipping missing configuration file "/shared/postgres_data/postgresql.auto.conf"
2025-01-31 05:38:30.433 UTC [44] FATAL:  data directory "/shared/postgres_data" has wrong ownership
2025-01-31 05:38:30.433 UTC [44] HINT:  The server must be started by the user that owns the data directory.
I, [2025-01-31T05:38:35.384305 #1]  INFO -- : 
I, [2025-01-31T05:38:35.384481 #1]  INFO -- : > /usr/local/bin/create_db
createdb: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory

	Is the server running locally and accepting connections on that socket?

我不确定也不记得应该是什么所有者,所以我给了它与附近的 postgres_backup 和 postgres_run 文件夹相同的 UID/GID。

chown -R 101:104 /var/discourse/shared/standalone/postgres_data

现在一切正常了!

4 个赞

感谢您的反馈,很抱歉给您带来麻烦。:slight_smile:

啊,是的。tianon 容器为 postgres 用户使用了不同的 UID

我已经根据您的建议更新了 OP 中的说明。谢谢!

1 个赞

好的,我可以试试。我猜,这是指在 app.yml 中更改下面的设置?还是我需要做其他事情?(例如,调整主机系统上的会话设置)

env:
  LC_ALL: de_DE.UTF-8
  LANG: de_DE.UTF-8
  LANGUAGE: de_DE.UTF-8
1 个赞

这可能有些离题,但您是否真的需要 LANG 和 LANGUAGE,因为您正在使用 LC_ALL?

但是的,您在那里使用了区域设置。

1 个赞

这真的很贴心,包括在标准清理脚本中,谢谢!

1 个赞

你说得对,可能不需要。我得去问一下最初安装 Discourse 的同事,为什么他会同时设置这三个。

1 个赞

我也遇到了区域设置错误。

(<未知>):在第 133 行第 5 列解析块映射时未找到预期的键 -e LANG=en_US.UTF-8
YAML 语法错误。请检查您的 containers/*.yml 配置文件。

这是由 yml 文件底部的一个空格错误引起的。我修复了空格错误,升级顺利完成。

app.yml 中交换 locale 后,我确实又推进了几个步骤,但不幸的是,进展不大。似乎仍有什么地方出错,postgres 更新未能正确应用:

root@Ubuntu-2204-jammy-amd64-base /var/discourse # ./launcher rebuild app
x86_64 arch detected.
Ensuring launcher is up to date
Fetching origin
Launcher is up-to-date
Stopping old container
+ /usr/bin/docker stop -t 600 app
app
2.0.20250129-0720: Pulling from discourse/base
Digest: sha256:01b8516e5504c0e9bc3707773015ff4407be03a89154194ff3b5b8699291bc26
Status: Image is up to date for discourse/base:2.0.20250129-0720
docker.io/discourse/base:2.0.20250129-0720
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2025-02-01T22:43:22.046506 #1]  INFO -- : Reading from stdin
I, [2025-02-01T22:43:22.090615 #1]  INFO -- : File > /etc/service/postgres/run  chmod: +x  chown:
I, [2025-02-01T22:43:22.095189 #1]  INFO -- : File > /etc/service/postgres/log/run  chmod: +x  chown:
I, [2025-02-01T22:43:22.113260 #1]  INFO -- : File > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2025-02-01T22:43:22.116842 #1]  INFO -- : File > /root/install_postgres  chmod: +x  chown:
I, [2025-02-01T22:43:22.120381 #1]  INFO -- : File > /root/upgrade_postgres  chmod: +x  chown:
I, [2025-02-01T22:43:22.165502 #1]  INFO -- : Replacing data_directory = '/var/lib/postgresql/15/main' with data_directory = '/shared/postgres_data' in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-01T22:43:22.192991 #1]  INFO -- : Replacing (?-mix:#?listen_addresses *=.*) with listen_addresses = '*' in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-01T22:43:22.193261 #1]  INFO -- : Replacing (?-mix:#?synchronous_commit *=.*) with synchronous_commit = $db_synchronous_commit in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-01T22:43:22.193606 #1]  INFO -- : Replacing (?-mix:#?shared_buffers *=.*) with shared_buffers = $db_shared_buffers in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-01T22:43:22.193923 #1]  INFO -- : Replacing (?-mix:#?work_mem *=.*) with work_mem = $db_work_mem in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-01T22:43:22.194221 #1]  INFO -- : Replacing (?-mix:#?default_text_search_config *=.*) with default_text_search_config = '$db_default_text_search_config' in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-01T22:43:22.194511 #1]  INFO -- : Replacing (?-mix:#?checkpoint_segments *=.*) with checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-01T22:43:22.194789 #1]  INFO -- : Replacing (?-mix:#?logging_collector *=.*) with logging_collector = $db_logging_collector in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-01T22:43:22.242968 #1]  INFO -- : Replacing (?-mix:#?log_min_duration_statement *=.*) with log_min_duration_statement = $db_log_min_duration_statement in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-01T22:43:22.256930 #1]  INFO -- : Replacing (?-mix:^#local +replication +postgres +peer$) with local replication postgres  peer in /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-01T22:43:22.257319 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*127.*$) with host all all 0.0.0.0/0 md5 in /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-01T22:43:22.257663 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*::1\\/128.*$) with host all all ::/0 md5 in /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-01T22:43:22.258234 #1]  INFO -- : > if [ -f /root/install_postgres ]; then
  /root/install_postgres & && rm -f /root/install_postgres
elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then
  socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
fi

2025/02/01 22:43:23 socat[33] E connect(, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): Connection refused
I, [2025-02-01T22:43:23.856313 #1]  INFO -- : Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.

I, [2025-02-01T22:43:23.856538 #1]  INFO -- : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/15/bin/postmaster -D /etc/postgresql/15/main
I, [2025-02-01T22:43:23.865162 #1]  INFO -- : File > /usr/local/bin/create_db  chmod: +x  chown:
I, [2025-02-01T22:43:23.909221 #1]  INFO -- : File > /var/lib/postgresql/take-database-backup  chmod: +x  chown: postgres:postgres
I, [2025-02-01T22:43:23.913112 #1]  INFO -- : File > /var/spool/cron/crontabs/postgres  chmod:   chown:
I, [2025-02-01T22:43:23.913287 #1]  INFO -- : > sleep 5
2025-02-01 22:43:25.004 UTC [35] FATAL:  database files are incompatible with server
2025-02-01 22:43:25.004 UTC [35] DETAIL:  The data directory was initialized by PostgreSQL version 13, which is not compatible with this version 15.10 (Debian 15.10-1.pgdg120+1).

我遇到了同样的错误,现在仍然无法成功。

我尝试了:

  • ./discourse-doctor,但没有成功
  • 然后我以为是端口被占用了,但 netstats 没有显示有进程在使用这些端口,然后我重启了实例以获得一个全新的开始并重建应用程序,但仍然没有成功。
I, [2025-02-02T00:20:43.491510 #1]  INFO -- : > if [ -f /root/install_postgres ]; then
  /root/install_postgres && rm -f /root/install_postgres
elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then
  socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
fi

2025/02/02 00:20:46 socat[33] E connect(, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): Connection refused
I, [2025-02-02T00:20:46.466110 #1]  INFO -- : Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.

I, [2025-02-02T00:20:46.467179 #1]  INFO -- : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/15/bin/postmaster -D /etc/postgresql/15/main
I, [2025-02-02T00:20:46.480451 #1]  INFO -- : File > /usr/local/bin/create_db  chmod: +x  chown:
I, [2025-02-02T00:20:46.497621 #1]  INFO -- : File > /var/lib/postgresql/take-database-backup  chmod: +x  chown: postgres:postgres
I, [2025-02-02T00:20:46.504526 #1]  INFO -- : File > /var/spool/cron/crontabs/postgres  chmod:   chown:
I, [2025-02-02T00:20:46.505484 #1]  INFO -- : > sleep 5
2025-02-02 00:20:46.647 UTC [35] FATAL:  database files are incompatible with server
2025-02-02 00:20:46.647 UTC [35] DETAIL:  The data directory was initialized by PostgreSQL version 13, which is not compatible with this version 15.10 (Debian 15.10-1.pgdg120+1).
I, [2025-02-02T00:20:51.511155 #1]  INFO -- :
I, [2025-02-02T00:20:51.511342 #1]  INFO -- : > /usr/local/bin/create_db
createdb: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: Connection refused
	Is the server running locally and accepting connections on that socket?
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: Connection refused
	Is the server running locally and accepting connections on that socket?
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: Connection refused
	Is the server running locally and accepting connections on that socket?
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: Connection refused
	Is the server running locally and accepting connections on that socket?
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: Connection refused
	Is the server running locally and accepting connections on that socket?
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: Connection refused
	Is the server running locally and accepting connections on that socket?
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: Connection refused
	Is the server running locally and accepting connections on that socket?
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: Connection refused
	Is the server running locally and accepting connections on that socket?
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: Connection refused
	Is the server running locally and accepting connections on that socket?
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: Connection refused
	Is the server running locally and accepting connections on that socket?
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: Connection refused
	Is the server running locally and accepting connections on that socket?
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: Connection refused
	Is the server running locally and accepting connections on that socket?
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: Connection refused
	Is the server running locally and accepting connections on that socket?
I, [2025-02-02T00:20:52.474702 #1]  INFO -- :
I, [2025-02-02T00:20:52.475371 #1]  INFO -- : > echo postgres installed!
I, [2025-02-02T00:20:52.478084 #1]  INFO -- : postgres installed!

以及

I, [2025-02-02T00:05:22.648865 #1]  INFO -- : > sleep 5
2025-02-02 00:05:22.792 UTC [35] FATAL:  database files are incompatible with server
2025-02-02 00:05:22.792 UTC [35] DETAIL:  The data directory was initialized by PostgreSQL version 13, which is not compatible with this version 15.10 (Debian 15.10-1.pgdg120+1).
I, [2025-02-02T00:05:27.657230 #1]  INFO -- :
I, [2025-02-02T00:05:27.657387 #1]  INFO -- : > /usr/local/bin/create_db


481:M 02 Feb 2025 00:07:05.174 # Failed listening on port 6379 (TCP), aborting.

I, [2025-02-02T00:13:38.491603 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
URGENT: Failed to initialize site default: ActiveRecord::ConnectionNotEstablished connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: Connection refused
	Is the server running locally and accepting connections on that socket?


rake aborted!
ActiveRecord::ConnectionNotEstablished: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: Connection refused (ActiveRecord::ConnectionNotEstablished)
	Is the server running locally and accepting connections on that socket?


Caused by:
PG::ConnectionBad: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: Connection refused (PG::ConnectionBad)
	Is the server running locally and accepting connections on that socket?

对我来说也是这样
我刚试了一下,我的服务器有这个文件,而且我遇到了重建失败

postgres@ubuntu-s-1vcpu-1gb-nyc3-01-app:/var/www/discourse$ ls -al /shared/postgres_run/.s.PGSQL.5432
srwxrwxrwx 1 postgres postgres 0 Feb  2 03:24 /shared/postgres_run/.s.PGSQL.5432

你好 @xFocus@schneeland :wave:

停止 app 容器时,数据库是否正常关闭?日志应该与 OP 中的输出类似。

1 个赞

尝试处理此文件但失败了

mv /shared/postgres_run/.s.PGSQL.5432 /shared/postgres_run/.s.PGSQL.5432.2025Feb1BackUp


root@ubuntu-s-1vcpu-1gb-nyc3-01-app:/var/www/discourse# ls -al /shared/postgres_run/.s.PGSQL.5432*
srwxrwxrwx 1 postgres postgres  0 Feb  2 03:24 /shared/postgres_run/.s.PGSQL.5432.2025Feb1BackUp
-rw------- 1 postgres postgres 62 Feb  2 03:24 /shared/postgres_run/.s.PGSQL.5432.lock

然后重建仍然失败,“源集群未干净关闭。”
@mwaniki

Stopping PostgreSQL 13 database server: main.
Stopping PostgreSQL 15 database server: main.
Performing Consistency Checks
-----------------------------
Checking cluster versions                                   ok

The source cluster was not shut down cleanly.
Failure, exiting
-------------------------------------------------------------------------------------
UPGRADE OF POSTGRES FAILED

Please visit https://meta.discourse.org/t/postgresql-15-update/349515 for support.

You can run ./launcher start app to restart your app in the meanwhile


FAILED
--------------------
Pups::ExecError: if [ -f /root/install_postgres ]; then
  /root/install_postgres &amp;&amp; rm -f /root/install_postgres
elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then
  socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 &amp;&amp; echo postgres already running stop container ; exit 1
fi
 failed with return #<Process::Status: pid 18 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"tag"=>"db", "cmd"=>"if [ -f /root/install_postgres ]; then\n  /root/install_postgres &amp;&amp; rm -f /root/install_postgres\nelif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then\n  socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 &amp;&amp; echo postgres already running stop container ; exit 1\nfi\n"}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
931142f4cf49942fb3faf0676818c6395376c9fb6c76008d82037b0b76ae7111

我再次尝试运行启动和停止命令

root@ubuntu-s-1vcpu-1gb-nyc3-01:/var/discourse# ./launcher start app
检测到 x86_64 架构。

正在启动现有容器
+ /usr/bin/docker start app
app
root@ubuntu-s-1vcpu-1gb-nyc3-01:/var/discourse# ./launcher stop app
检测到 x86_64 架构。
+ /usr/bin/docker stop -t 600 app
app

但我没有这个日志文件……这是否令人担忧?
谢谢你 Mwaniki :slight_smile:

root@ubuntu-s-1vcpu-1gb-nyc3-01:/var/discourse# tail -f shared/data/log/var-log/postgres/current
tail: cannot open 'shared/data/log/var-log/postgres/current' for reading: No such file or directory
tail: no files remaining

是的,那是个拼写错误。你能检查一下 shared/standalone/log/var-log/postgres/current 吗?我已经更新了 OP。:slight_smile:

1 个赞

我没有看到日志 LOG: database system is shut down

以下是我在运行 ./launcher stop app 后得到的结果,我猜这就是为什么在重建时,我收到错误说那个 Postgre 端口已被占用的原因

2025-02-02 04:37:09.801 UTC [542] LOG:  starting PostgreSQL 13.18 (Debian 13.18-1.pgdg120+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
2025-02-02 04:37:09.804 UTC [542] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2025-02-02 04:37:09.806 UTC [542] LOG:  listening on IPv6 address "::", port 5432
2025-02-02 04:37:09.820 UTC [542] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2025-02-02 04:37:09.851 UTC [562] LOG:  database system was interrupted; last known up at 2025-02-02 04:31:58 UTC
2025-02-02 04:37:10.267 UTC [562] LOG:  database system was not properly shut down; automatic recovery in progress
2025-02-02 04:37:10.278 UTC [562] LOG:  redo starts at 2/DB0AFFE0
2025-02-02 04:37:10.280 UTC [562] LOG:  invalid record length at 2/DB0B5958: wanted 24, got 0
2025-02-02 04:37:10.280 UTC [562] LOG:  redo done at 2/DB0B3990
2025-02-02 04:37:10.349 UTC [542] LOG:  database system is ready to accept connections
2025-02-02 04:38:08.161 UTC [1345] discourse@discourse LOG:  duration: 101.966 ms  bind <unnamed>: SELECT "posts"."id", "posts"."user_id", "posts"."topic_id", "posts"."post_number", "posts"."raw", "posts"."cooked", "posts"."created_at", "posts"."updated_at", "posts"."reply_to_post_number", "posts"."reply_count", "posts"."quote_count", "posts"."deleted_at", "posts"."off_topic_count", "posts"."like_count", "posts"."incoming_link_count", "posts"."bookmark_count", "posts"."score", "posts"."reads", "posts"."post_type", "posts"."sort_order", "posts"."last_editor_id", "posts"."hidden", "posts"."hidden_reason_id", "posts"."notify_moderators_count", "posts"."spam_count", "posts"."illegal_count", "posts"."inappropriate_count", "posts"."last_version_at", "posts"."user_deleted", "posts"."reply_to_user_id", "posts"."percent_rank", "posts"."notify_user_count", "posts"."like_score", "posts"."deleted_by_id", "posts"."edit_reason", "posts"."word_count", "posts"."version", "posts"."cook_method", "posts"."wiki", "posts"."baked_at", "posts"."baked_version", "posts"."hidden_at", "posts"."self_edits", "posts"."reply_quoted", "posts"."via_email", "posts"."raw_email", "posts"."public_version", "posts"."action_code", "posts"."locked_by_id", "posts"."image_upload_id", "posts"."outbound_message_id", "posts"."qa_vote_count" FROM "posts" WHERE "posts"."deleted_at" IS NULL ORDER BY "posts"."id" ASC LIMIT 1
2025-02-02 04:38:10.917 UTC [1341] discourse@discourse LOG:  duration: 238.937 ms  statement: WITH tags_included_cte AS (