Postgresql 中文操作指南
Description
vacuumlo 是一个简单的实用程序程序,它将从 PostgreSQL 数据库中删除任何“孤立的”大对象。孤立的大对象 (LO) 被认为是不在数据库的任何 oid 或 lo 数据列中出现的任何 LO。
如果您使用此命令,您还可能对 lo 模块中的 lo_manage 触发器感兴趣。 lo_manage 可用于尝试避免首先创建孤立的 LO。
命令行上命名的所有数据库都将被处理。
Options
vacuumlo 接受以下命令行参数:
-
-l _limit—limit=_limit
-
不要移除超过每个事务 limit 个大对象(默认 1000)。由于服务器获取每次去除的 LO 的锁,在一个事务中移除太多 LO 会有超过 max_locks_per_transaction 的风险。如果你希望所有的移除都用一个事务完成那么将限制设置为 0。
-
-
-n_—dry-run_
-
不要移除任何东西,仅显示将要完成的操作。
-
-
-v_—verbose_
-
写许多进度消息。
-
-
-V_—version_
-
打印 vacuumlo 版本并退出。
-
-
-?_—help_
-
显示 vacuumlo 命令行参数的帮助,然后退出。
-
vacuumlo 还接受以下用于连接参数的命令行参数:
-
-h _host—host=_host
-
Database server’s host.
-
-
-p _port—port=_port
-
Database server’s port.
-
-
-U _username—username=_username
-
连接时的用户名。
-
-
-w_—no-password_
-
永不发出密码提示。如果服务器需要密码验证但其他方法(如 .pgpass 文件)无法提供密码,连接尝试将失败。此选项可在无人执行密码输入的批处理作业和脚本中使用。
-
-
-W_—password_
-
强制 vacuumlo 在连接到数据库之前提示输入密码。
-
此选项并不是必须的,因为当服务器要求密码验证时,vacuumlo 会自动提示输入密码。然而,vacuumlo 会浪费一次连接尝试来找出服务器是否需要密码。在一些情况下,输入 -W 是值得的,以避免额外的连接尝试。
-
Environment
-
PGHOST_PGPORT_PGUSER
-
Default connection parameters.
-
此实用程序与大多数其他 PostgreSQL 实用程序一样,还使用 libpq 支持的环境变量(请参阅 Section 34.15 )。
环境变量 PG_COLOR 指定是否在诊断消息中使用颜色。可能的值是 always 、 auto 和 never 。
Notes
vacuumlo 根据以下方法进行工作:首先,vacuumlo 创建一个临时的表,其中包含了选中数据库中的所有大对象中的 OID。然后再扫描数据库中所有为类型 oid 或 lo 的列,并从临时表中移除匹配的条目。(注意:只考虑带有这些名称的类型;特别地,不考虑它们上的域。)临时表中的剩余条目识别出孤立的 LO。它们被移除。
Author
Peter Mount < link:mailto:peter@retep.org.uk[peter@retep.org.uk]>