FB_LOCK_PRINT(1)

πŸ’… FB_LOCK_PRINT β€” bestie edition ✨

okay so you're here because something in your Firebird database is being messy with locks and you need the tea. fb_lock_print is a section-1 (user command) manual page from the Firebird documentation set, and it's literally your lock forensics bestie. πŸ•΅οΈβ™€οΈπŸ¦‹


🌸 NAME 🌸

fb_lock_print β€” all the info about Firebird database locks, no cap πŸ’–


✨ SYNOPSIS ✨

fb_lock_print -d database [option...]
fb_lock_print -f lockfile [option...]

two ways in, bestie: point it at a database, or point it at a lockfile. pick your fighter. πŸ’…


πŸŽ€ DESCRIPTION πŸŽ€

so fb_lock_print is the tool that displays the information from the Firebird lock system. that's it, that's the vibe. and like… it's genuinely useful when you're debugging lock contention / conflict / performance problems, because you can literally see who's holding what and why nobody's moving. it's giving main character energy in your debugging session. πŸ”₯


πŸ‘‘ OPTIONS πŸ‘‘

  • -d database β€” print lock information about the specified database. πŸ—„οΈ
  • -f lockfile β€” print lock information from the specified lockfile. and heads up bestie, Firebird lock files live in /tmp/firebird. πŸ“‚
  • -o | -p β€” print info about lock owner blocks. this one is on by default, so it's already doing the thing unless you say otherwise. ✨
  • -c β€” consistency mode. blocks the lock manager so that no changes to the lock blocks can be made while the information is gathered. lowkey invasive but that's the point πŸ›‘
  • -l β€” print info about lock blocks. πŸ”’
  • -r β€” print info about lock request blocks. πŸ™‹β™€οΈ
  • -h β€” print info about lock history. πŸ“œ
  • -a β€” print info about owner blocks, lock blocks, request blocks and history. same as "-o -l -r -h". the whole combo meal πŸ“
  • -s num β€” print info about lock series num. πŸ”’
  • -i[filter] interval count β€” enter interactive mode and continuously display lock counters per second. so you just… watch the numbers go πŸ“ˆ
    • possible filters are:
      • a β€” lock acquires
      • o β€” lock operations: enqueues, conversions, downgrades, dequeues, reads, writes and queries
      • t β€” lock operations by type.
      • w β€” lock waits
    • if no filter is given, all activity is shown. (the [filter] being in brackets is a lil hint that it's optional, iykyk 🫢)
    • interval is the interval in seconds between displays. count instructs fb_lock_print to exit after that many displays β€” so it's not an infinite loop situation, it'll actually let you go. 🌈
  • -w β€” print a recursive list of locks each lock waits for. the dependency tree of doom, iconic πŸ’€
  • -m β€” HTML output. yes queen, format it 🌐

Copyright (C) Damyan Ivanov, 2009.

this manpage was written by Damyan Ivanov for the Debian project but may be used by others. permission is granted to use this document, with or without modifications, provided that this notice is retained. and β€” direct quote vibes β€” if we meet some day, and you think this stuff is worth it, you can buy me a beer in return. 🍺 (an absolute legend, fr fr)


reminder bestie: this manpage is part of the Firebird 4.0 documentation, dated 2026-06-28, and it's filed under FB_LOCK_PRINT(1).

okay that's the whole page, go forth and debug your locks, you've got this πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from