pgsql-bugs - August 2026

If you find a bug, please use the bug reporting form.

Search the Archives

(enter a message-id to go directly to that message)

Browse Archives

Prev | Next

Aug. 1, 2026

Thread Author Time
Re: BUG #19583: macaddr input accepts octet fields longer than 8 hex digits 📎 Zexin Li 01:40
BUG #19593: area(circle) silently returns Infinity instead of raising "value out of range: overflow" PG Bug reporting form 03:07
Re: MERGE/SPLIT PARTITIONS issues/questions 📎 jian he 09:49
Re: MERGE/SPLIT PARTITIONS issues/questions Zsolt Parragi 11:11
BUG #19594: to_char/jsonpath format cache serves a format tree parsed in the wrong strict-mode PG Bug reporting form 15:05
Re: BUG #19593: area(circle) silently returns Infinity instead of raising "value out of range: overflow" Andrey Rachitskiy 15:16
Re: BUG #19594: to_char/jsonpath format cache serves a format tree parsed in the wrong strict-mode 📎 Andrey Rachitskiy 16:50
Re: BUG #19583: macaddr input accepts octet fields longer than 8 hex digits Daniel Gustafsson 19:16

Aug. 2, 2026

Thread Author Time
BUG #19595: Three memory-safety defects in src/backend/tsearch/spell.c (dictionary loader), PG 18.3 PG Bug reporting form 01:10
Re: MERGE/SPLIT PARTITIONS issues/questions jian he 04:27
Re: MERGE/SPLIT PARTITIONS issues/questions Zsolt Parragi 06:56
Re: BUG #19595: Three memory-safety defects in src/backend/tsearch/spell.c (dictionary loader), PG 18.3 📎 Andrey Rachitskiy 07:29
Re: BUG #19483: pg_upgrade fails with orphan records in pg_init_priv catalog table 📎 Hüseyin Demir 09:41
Re: BUG #19595: Three memory-safety defects in src/backend/tsearch/spell.c (dictionary loader), PG 18.3 Tom Lane 17:25
Re: BUG #19595: Three memory-safety defects in src/backend/tsearch/spell.c (dictionary loader), PG 18.3 Andrey Rachitskiy 17:42
BUG #19597: getQuadrant: impossible case is reachable PG Bug reporting form 17:47
BUG #19598: pg_waldump: -s/-e accept out-of-range WAL locations and silently use the low 32 bits PG Bug reporting form 17:49
BUG #19599: RestoreBlockImage: the decode cross-checks never bound hole_offset + hole_length against BLCKSZ PG Bug reporting form 17:51
Re: BUG #19595: Three memory-safety defects in src/backend/tsearch/spell.c (dictionary loader), PG 18.3 📎 Alexander Lakhin 20:00
Re: BUG #19595: Three memory-safety defects in src/backend/tsearch/spell.c (dictionary loader), PG 18.3 Tom Lane 20:11
Re: BUG #19597: getQuadrant: impossible case is reachable 📎 Ayush Tiwari 20:31
Re: BUG #19597: getQuadrant: impossible case is reachable 📎 Andrey Rachitskiy 21:22

Aug. 3, 2026

Thread Author Time
BUG #19600: pgcrypto crypt() can return text with invalid encoding PG Bug reporting form 05:25
BUG #19601: Vuln45: Unbounded recursion via self-retying Perl scalar in bool_plperl's SvTRUE call causes backend PG Bug reporting form 06:54
BUG #19602: Vuln46: citext split_part silently returns NULL for a zero field position instead of raising core sp PG Bug reporting form 06:58
BUG #19603: Vuln47: distance_taxicab and distance_chebyshev silently return 0 instead of NaN when a cube coordin PG Bug reporting form 07:00
BUG #19604: Bug 9: `plperl_to_hstore` heap overflow with a tied Perl hash PG Bug reporting form 08:22
BUG #19607: Bug 18: `pg_surgery` infinite loop in `heap_force_common` PG Bug reporting form 08:40
BUG #19608: Error while Reindexing Main Table PG Bug reporting form 09:54
Re: BUG #19604: Bug 9: `plperl_to_hstore` heap overflow with a tied Perl hash 📎 Aleksander Alekseev 12:55
Re: BUG #19603: Vuln47: distance_taxicab and distance_chebyshev silently return 0 instead of NaN when a cube coordin 📎 Ayush Tiwari 13:16
Re: BUG #19607: Bug 18: `pg_surgery` infinite loop in `heap_force_common` 📎 Andrey Rachitskiy 13:35
Re: BUG #19607: Bug 18: `pg_surgery` infinite loop in `heap_force_common` Andrey Borodin 13:44
Re: BUG #19607: Bug 18: `pg_surgery` infinite loop in `heap_force_common` 📎 Andrey Rachitskiy 14:08
Re: BUG #19600: pgcrypto crypt() can return text with invalid encoding 📎 Andrey Rachitskiy 15:26
Re: MERGE/SPLIT PARTITIONS issues/questions 📎 Alexander Korotkov 19:26
Re: BUG #19601: Vuln45: Unbounded recursion via self-retying Perl scalar in bool_plperl's SvTRUE call causes backend 📎 Andrey Rachitskiy 21:10
Re: BUG #19601: Vuln45: Unbounded recursion via self-retying Perl scalar in bool_plperl's SvTRUE call causes backend Tom Lane 22:01

Aug. 4, 2026

Thread Author Time
Re: BUG #19583: macaddr input accepts octet fields longer than 8 hex digits Zexin Li 01:04
Re: BUG #19484: Segmentation fault triggered by FDW ZhangChi 03:24
Re: BUG #19491: Segmentation fault triggered by IS NULL ZhangChi 03:25
Re: BUG #19601: Vuln45: Unbounded recursion via self-retying Perl scalar in bool_plperl's SvTRUE call causes backend Andrey Rachitskiy 04:57
Re: BUG #19586: money division overflow David Rowley 06:02
Re: BUG #19484: Segmentation fault triggered by FDW Amit Langote 07:56
Re: BUG #19593: area(circle) silently returns Infinity instead of raising "value out of range: overflow" Andrey Rachitskiy 08:05
Re: BUG #19598: pg_waldump: -s/-e accept out-of-range WAL locations and silently use the low 32 bits 📎 Zexin Li 08:54
Re: BUG #19491: Segmentation fault triggered by IS NULL Álvaro Herrera 09:29
Re: BUG #19607: Bug 18: `pg_surgery` infinite loop in `heap_force_common` Álvaro Herrera 09:48
Re: BUG #19593: area(circle) silently returns Infinity instead of raising "value out of range: overflow" Andrey Rachitskiy 10:40
Re: BUG #19593: area(circle) silently returns Infinity instead of raising "value out of range: overflow" David Rowley 11:42
BUG #19609: Server crashes when executing a JIT-compiled SQL function on s390x PG Bug reporting form 12:27
Re: BUG #19593: area(circle) silently returns Infinity instead of raising "value out of range: overflow" 📎 Andrey Rachitskiy 16:38
Re: BUG #19593: area(circle) silently returns Infinity instead of raising "value out of range: overflow" 📎 Andrey Rachitskiy 17:10
Re: BUG #19588: Semantically equivalent DISTINCT ON query returns different result when wrapped in MATERIALIZED CTE. Matheus Alcantara 19:51

Aug. 5, 2026

Thread Author Time
Re: MERGE/SPLIT PARTITIONS issues/questions jian he 01:27
Re: BUG #19593: area(circle) silently returns Infinity instead of raising "value out of range: overflow" David Rowley 02:30
Re: BUG #19593: area(circle) silently returns Infinity instead of raising "value out of range: overflow" 📎 Andrey Rachitskiy 04:41
Re: BUG #19598: pg_waldump: -s/-e accept out-of-range WAL locations and silently use the low 32 bits Fujii Masao 06:03
Re: BUG #19609: Server crashes when executing a JIT-compiled SQL function on s390x 📎 Артём Зарубин 11:20
PostgreSQL 18.4 backend SIGSEGV in pgstat_gc_entry_refs() after caught DSM attach error 📎 Niall Newman 11:56
Re: BUG #19588: Semantically equivalent DISTINCT ON query returns different result when wrapped in MATERIALIZED CTE. Nitin Motiani 13:54
Re: BUG #19609: Server crashes when executing a JIT-compiled SQL function on s390x Tom Lane 14:15
Re: MERGE/SPLIT PARTITIONS issues/questions 📎 Alexander Korotkov 17:02
Re: BUG #19519: REPACK can fail due to missing chunk for toast value Andrey Borodin 18:18
Re: BUG #19609: Server crashes when executing a JIT-compiled SQL function on s390x Andrey Rachitskiy 20:04
Re: BUG #19609: Server crashes when executing a JIT-compiled SQL function on s390x John Naylor 22:43

Aug. 6, 2026

Thread Author Time
Re: MERGE/SPLIT PARTITIONS issues/questions 📎 jian he 03:45
Re: BUG #19608: Error while Reindexing Main Table Michael Paquier 05:43
Re: BUG #19555: TRAP: failed Assert (ent->cmin == change->data.tuplecid.cmin) on logical replication li kid 12:06
BUG #19610: Database won't start if an unrelated process is exist PG Bug reporting form 12:50
Update in check_max_stack_depth 📎 Daria Shanina 13:31
file corruption goes undetected Bram van der Vos 14:11
Re: Update in check_max_stack_depth 📎 Andrey Rachitskiy 14:21
Re: file corruption goes undetected Tomas Vondra 22:01
Re: file corruption goes undetected Tom Lane 22:09
Re: MERGE/SPLIT PARTITIONS issues/questions Zsolt Parragi 22:59

Aug. 7, 2026

Thread Author Time
Re: BUG #19598: pg_waldump: -s/-e accept out-of-range WAL locations and silently use the low 32 bits 📎 Zexin Li 01:58
Re: MERGE/SPLIT PARTITIONS issues/questions jian he 03:41
Re: PostgreSQL 18.4 backend SIGSEGV in pgstat_gc_entry_refs() after caught DSM attach error 📎 Michael Paquier 06:34
Re: BUG #19483: pg_upgrade fails with orphan records in pg_init_priv catalog table solai v 07:06
Re: BUG #19610: Database won't start if an unrelated process is exist Daniel Gustafsson 08:41
Re: Update in check_max_stack_depth Daria Shanina 09:41
BUG #19612: SEGV in ParseConfigFp() in guc-file.l PG Bug reporting form 13:32
BUG #19613: pg_restore: several SEGVs in ReadToc() in pg_backup_archiver.c PG Bug reporting form 13:37

Aug. 8, 2026

Thread Author Time
Re: BUG #19441: Backend waits for serializable snapshot indefinitely on removing temp relations 📎 Andrey Rachitskiy 08:23

Aug. 9, 2026

Thread Author Time
Re: PostgreSQL 18.4 backend SIGSEGV in pgstat_gc_entry_refs() after caught DSM attach error Michael Paquier 23:42

Aug. 10, 2026

Thread Author Time
Re: BUG #19598: pg_waldump: -s/-e accept out-of-range WAL locations and silently use the low 32 bits 📎 Fujii Masao 05:47
Re: BTree index corruption (heap-tid-past-end, unexpected zero page, misplaced TID in posting list) recurring on high-churn tables, PG 18.3, data_checksums=on, no preceding crash 📎 Alessandro Regolini 07:44
Re: BUG #19598: pg_waldump: -s/-e accept out-of-range WAL locations and silently use the low 32 bits Ayush Tiwari 08:23
Re: REVOKE's CASCADE protection doesn't work with INHERITed table owners Kirill Reshke 11:41
Re: BUG #19483: pg_upgrade fails with orphan records in pg_init_priv catalog table 📎 Rui Zhao 16:48

Aug. 11, 2026

Thread Author Time
Re: BUG #19598: pg_waldump: -s/-e accept out-of-range WAL locations and silently use the low 32 bits Zexin Li 00:40
BUG #19615: COVAR_POP / COVAR_SAMP / REGR_SXY return 0.0 instead of NaN PG Bug reporting form 02:34
Re: BUG #19612: SEGV in ParseConfigFp() in guc-file.l 📎 Andrey Rachitskiy 06:30
Re: BUG #19613: pg_restore: several SEGVs in ReadToc() in pg_backup_archiver.c 📎 Andrey Rachitskiy 07:05
Re: BUG #19615: COVAR_POP / COVAR_SAMP / REGR_SXY return 0.0 instead of NaN 📎 Andrey Rachitskiy 15:24
Re: BUG #19615: COVAR_POP / COVAR_SAMP / REGR_SXY return 0.0 instead of NaN Tom Lane 15:56
COPY TO regression with psql -c 📎 Zsolt Parragi 19:32
Re: MERGE/SPLIT PARTITIONS issues/questions 📎 Alexander Korotkov 21:36
BUG #19616: pgoutput sends stream abort ('A') to clients that did not enable streaming PG Bug reporting form 22:58

Aug. 12, 2026

Thread Author Time
Re: BUG #19598: pg_waldump: -s/-e accept out-of-range WAL locations and silently use the low 32 bits Fujii Masao 08:09
Re: COPY TO regression with psql -c Christoph Berg 08:37
pg_upgrade from 17.10 to 18.4 on Ubuntu fails: Finding the real data directory for the target cluster sh: 1: (null)/postgres: not found Holger Jakobs 10:50
Re: BUG #19610: Database won't start if an unrelated process is exist Álvaro Herrera 11:26
Re: BUG #19610: Database won't start if an unrelated process is exist Tom Lane 12:51
Re: pg_upgrade from 17.10 to 18.4 on Ubuntu fails: Finding the real data directory for the target cluster sh: 1: (null)/postgres: not found Tom Lane 15:14
Re: BUG #19615: COVAR_POP / COVAR_SAMP / REGR_SXY return 0.0 instead of NaN Tom Lane 16:50
Re: COPY TO regression with psql -c Tom Lane 17:58
Re: Should CUSTER (ANALYZE) work? Nathan Bossart 19:50
Re: COPY TO regression with psql -c 📎 Zsolt Parragi 19:53
Re: MERGE/SPLIT PARTITIONS issues/questions Zsolt Parragi 20:38
Re: MERGE/SPLIT PARTITIONS issues/questions Melanie Plageman 20:48
Re: MERGE/SPLIT PARTITIONS issues/questions Zsolt Parragi 20:56
Re: DELETE FOR PORTION OF bypasses view WITH CHECK OPTION for leftover rows Melanie Plageman 21:30
Re: DELETE FOR PORTION OF bypasses view WITH CHECK OPTION for leftover rows 📎 Paul A Jungwirth 23:18
BUG #19617: Hash node can report incorrect actual rows number PG Bug reporting form 23:49

Aug. 13, 2026

Thread Author Time
Re: BUG #19612: SEGV in ParseConfigFp() in guc-file.l 📎 Michael Paquier 08:27
Re: BUG #19612: SEGV in ParseConfigFp() in guc-file.l Andrey Rachitskiy 09:00
Re: DELETE FOR PORTION OF bypasses view WITH CHECK OPTION for leftover rows Dean Rasheed 09:23
BUG #19618: postgresql18 client package not found PG Bug reporting form 10:47
to_char() on integer with V format silently wraps on overflow 📎 Andrey Rachitskiy 12:01
Re: pg_upgrade from 17.10 to 18.4 on Ubuntu fails: Finding the real data directory for the target cluster sh: 1: (null)/postgres: not found Michael Banck 12:37
Re: BUG #19617: Hash node can report incorrect actual rows number Ayush Tiwari 17:36
Re: BUG #19616: pgoutput sends stream abort ('A') to clients that did not enable streaming 📎 Andrey Rachitskiy 17:56
Re: Should CUSTER (ANALYZE) work? Nathan Bossart 20:38
Re: COPY TO regression with psql -c 📎 Tom Lane 20:44
Re: REPACK (CONCURRENTLY) doesn't handle invalid indexes 📎 Zsolt Parragi 21:37
Re: COPY TO regression with psql -c Zsolt Parragi 22:52
Re: BUG #19616: pgoutput sends stream abort ('A') to clients that did not enable streaming 📎 Andrey Rachitskiy 23:03

Aug. 14, 2026

Thread Author Time
RE: BUG #19616: pgoutput sends stream abort ('A') to clients that did not enable streaming Hayato Kuroda (Fujitsu) 03:03
Re: BUG #19616: pgoutput sends stream abort ('A') to clients that did not enable streaming 📎 Andrey Rachitskiy 04:56
RE: BUG #19616: pgoutput sends stream abort ('A') to clients that did not enable streaming Hayato Kuroda (Fujitsu) 06:10
Re: BUG #19598: pg_waldump: -s/-e accept out-of-range WAL locations and silently use the low 32 bits 📎 Zexin Li 06:33
Re: BUG #19616: pgoutput sends stream abort ('A') to clients that did not enable streaming 📎 Andrey Rachitskiy 06:44
RE: BUG #19616: pgoutput sends stream abort ('A') to clients that did not enable streaming Hayato Kuroda (Fujitsu) 10:09
Re: BUG #19613: pg_restore: several SEGVs in ReadToc() in pg_backup_archiver.c Andrey Borodin 11:58
Re: DELETE FOR PORTION OF bypasses view WITH CHECK OPTION for leftover rows Peter Eisentraut 12:01
Re: BUG #19616: pgoutput sends stream abort ('A') to clients that did not enable streaming Fujii Masao 12:33
Re: BUG #19613: pg_restore: several SEGVs in ReadToc() in pg_backup_archiver.c 📎 Andrey Rachitskiy 13:59
Re: MERGE/SPLIT PARTITIONS issues/questions Daniel Gustafsson 14:07
Re: BUG #19598: pg_waldump: -s/-e accept out-of-range WAL locations and silently use the low 32 bits Fujii Masao 14:08
Re: BUG #19616: pgoutput sends stream abort ('A') to clients that did not enable streaming 📎 Andrey Rachitskiy 14:34
Re: MERGE/SPLIT PARTITIONS issues/questions Nathan Bossart 14:36
Re: MERGE/SPLIT PARTITIONS issues/questions Melanie Plageman 14:51
Re: BUG #19449: Massive performance degradation for complex query on Postgres 16+ (few seconds -> multiple hours) Adrian Mönnich 15:10
Re: MERGE/SPLIT PARTITIONS issues/questions 📎 Alexander Korotkov 15:49
Re: COPY TO regression with psql -c Tom Lane 16:15
Re: BUG #19613: pg_restore: several SEGVs in ReadToc() in pg_backup_archiver.c Tom Lane 16:33
BUG #19619: WHERE scale(n) = 1 pushed past GROUP BY / window PARTITION BY, wrong COUNT PG Bug reporting form 17:41
Re: BUG #19613: pg_restore: several SEGVs in ReadToc() in pg_backup_archiver.c Andrey Rachitskiy 18:02
Re: BUG #19619: WHERE scale(n) = 1 pushed past GROUP BY / window PARTITION BY, wrong COUNT Andrey Rachitskiy 18:30
Re: BUG #19619: WHERE scale(n) = 1 pushed past GROUP BY / window PARTITION BY, wrong COUNT Tom Lane 18:51
Re: BUG #19449: Massive performance degradation for complex query on Postgres 16+ (few seconds -> multiple hours) Tomas Vondra 19:11
Re: BUG #19616: pgoutput sends stream abort ('A') to clients that did not enable streaming Masahiko Sawada 22:15

Aug. 15, 2026

Thread Author Time
Re: BUG #19616: pgoutput sends stream abort ('A') to clients that did not enable streaming 📎 Andrey Rachitskiy 02:27
BUG #19620: pg_class index corruption caused by statement_timeout during VACUUM FULL PG Bug reporting form 02:37
BUG #19621: Unexpected results of JSON_VALUE with DEFAULT ON EMPTY PG Bug reporting form 03:25
Re: Should CUSTER (ANALYZE) work? Alvaro Herrera 09:12
SIGSEGV in dynahash 📎 Konstantin Knizhnik 13:06
Re: SIGSEGV in dynahash Tom Lane 16:12
Re: SIGSEGV in dynahash Michael Paquier 23:32

Aug. 16, 2026

Thread Author Time
Re: BUG #19612: SEGV in ParseConfigFp() in guc-file.l 📎 Michael Paquier 06:05
Re: BUG #19612: SEGV in ParseConfigFp() in guc-file.l Andrey Rachitskiy 06:50
Re: BUG #19621: Unexpected results of JSON_VALUE with DEFAULT ON EMPTY 📎 Andrey Rachitskiy 14:29
Re: BUG #19612: SEGV in ParseConfigFp() in guc-file.l Tom Lane 14:32
Re: BUG #19613: pg_restore: several SEGVs in ReadToc() in pg_backup_archiver.c Andrey Borodin 15:03
Re: BUG #19620: pg_class index corruption caused by statement_timeout during VACUUM FULL Andrey Borodin 16:01
BUG #19622: io_method=worker retains file descriptors on dropped relations PG Bug reporting form 18:00
Re: BUG #19612: SEGV in ParseConfigFp() in guc-file.l Michael Paquier 22:26
Re: BUG #19583: macaddr input accepts octet fields longer than 8 hex digits 📎 Zexin Li 23:36

Aug. 17, 2026

Thread Author Time
Re: BUG #19620: pg_class index corruption caused by statement_timeout during VACUUM FULL Zheng Hacker 02:20
Re: BUG #19598: pg_waldump: -s/-e accept out-of-range WAL locations and silently use the low 32 bits 📎 Zexin Li 03:23
BUG #19623: Postmaster livelocks respawning io workers when children die after crash restart; pg_ctl stop fails PG Bug reporting form 04:13
Autovacuum and vacuum spoil reltuples statistics on nontruncated relation Oleg Gurev 10:13
Re: MERGE/SPLIT PARTITIONS issues/questions Alexander Korotkov 10:27
Re: MERGE/SPLIT PARTITIONS issues/questions Zsolt Parragi 10:31
Re: MERGE/SPLIT PARTITIONS issues/questions Daniel Gustafsson 10:35
BUG #19624: postgresql14-devel (and in general postgresqlXX-devel) do not set PKG_CONFIG_PATH PG Bug reporting form 12:50
BUG #19625: SQL/JSON boolean DEFAULT expression silently replaced with 'false' PG Bug reporting form 14:04
Re:BUG #19625: SQL/JSON boolean DEFAULT expression silently replaced with 'false' 📎 zengman 14:09
Re: BUG #19616: pgoutput sends stream abort ('A') to clients that did not enable streaming 📎 Masahiko Sawada 20:46
B-tree index scan ~2x slower on PG18 vs PG17 for skewed equality-prefix + range-condition lookups, with essentially the same plan Dan Stefura 21:45

Aug. 18, 2026

Thread Author Time
Re: BUG #19621: Unexpected results of JSON_VALUE with DEFAULT ON EMPTY zengman 02:06
BUG #19626: Segmentation fault planning self-join IN subquery with LATERAL UNION ALL PG Bug reporting form 03:06
Re: MERGE/SPLIT PARTITIONS issues/questions jian he 03:47
Re: BUG #19616: pgoutput sends stream abort ('A') to clients that did not enable streaming Andrey Rachitskiy 08:29
Re: BUG #19621: Unexpected results of JSON_VALUE with DEFAULT ON EMPTY Andrey Rachitskiy 08:56
BUG #19627: 32,768 trigger arguments wrap `tgnargs` and are silently lost at runtime PG Bug reporting form 09:33
BUG #19628: Uninterruptible vacuum during hash index processing PG Bug reporting form 12:02
Re: BUG #19597: getQuadrant: impossible case is reachable Pierre Forstmann 13:13
Re: BUG #19626: Segmentation fault planning self-join IN subquery with LATERAL UNION ALL 📎 Andrey Rachitskiy 13:29
Re: B-tree index scan ~2x slower on PG18 vs PG17 for skewed equality-prefix + range-condition lookups, with essentially the same plan Peter Geoghegan 16:24
Re: BUG #19616: pgoutput sends stream abort ('A') to clients that did not enable streaming Masahiko Sawada 19:00
Re: B-tree index scan ~2x slower on PG18 vs PG17 for skewed equality-prefix + range-condition lookups, with essentially the same plan Dan Stefura 19:53

Aug. 19, 2026

Thread Author Time
Re: BUG #19626: Segmentation fault planning self-join IN subquery with LATERAL UNION ALL Tender Wang 02:28
Re: BUG #19627: 32,768 trigger arguments wrap `tgnargs` and are silently lost at runtime 📎 Kyotaro Horiguchi 02:56
BUG #19629: pg_restore_relation_stats reports XX000 instead of proper SQLSTATE for input validation errors PG Bug reporting form 03:50
BUG #19630: FOR PORTION OF crashes with XX000 when target range is NULL PG Bug reporting form 03:51
BUG #19631: currtid2() on a view with GROUP BY ctid crashes with XX000 PG Bug reporting form 03:51
BUG #19632: RULE rewriting crashes with XX000 when RETURNING old/new references a system column PG Bug reporting form 03:52

Browse Archives

Prev | Next