15 lines
656 B
PL/PgSQL
15 lines
656 B
PL/PgSQL
-- Create a new table before replacing in order to avoid a long-held lock on
|
|
-- the table being replaced. The site should remain responsive while these
|
|
-- queries are run.
|
|
BEGIN;
|
|
CREATE TABLE man_index_new AS SELECT DISTINCT name, section FROM man;
|
|
CREATE INDEX ON man_index_new USING btree(lower(name) text_pattern_ops);
|
|
DROP TABLE man_index;
|
|
ALTER TABLE man_index_new RENAME TO man_index;
|
|
COMMIT;
|
|
|
|
BEGIN;
|
|
CREATE TABLE stats_cache_new AS SELECT count(distinct hash) AS hashes, count(distinct name) AS mans, count(*) AS files, count(distinct package) AS packages FROM man;
|
|
DROP TABLE stats_cache;
|
|
ALTER TABLE stats_cache_new RENAME TO stats_cache;
|
|
COMMIT;
|