PostgreSQL Source Code git master
|
#include "postgres_fe.h"
#include "catalog/pg_attribute_d.h"
#include "catalog/pg_class_d.h"
#include "common/connect.h"
#include "common/logging.h"
#include "fe_utils/cancel.h"
#include "fe_utils/option_utils.h"
#include "fe_utils/parallel_slot.h"
#include "fe_utils/query_utils.h"
#include "fe_utils/string_utils.h"
#include "vacuuming.h"
Go to the source code of this file.
Functions | |
static int | vacuum_one_database (ConnParams *cparams, vacuumingOptions *vacopts, int stage, SimpleStringList *objects, SimpleStringList **found_objs, int concurrentCons, const char *progname, bool echo, bool quiet) |
static int | vacuum_all_databases (ConnParams *cparams, vacuumingOptions *vacopts, SimpleStringList *objects, int concurrentCons, const char *progname, bool echo, bool quiet) |
static SimpleStringList * | retrieve_objects (PGconn *conn, vacuumingOptions *vacopts, SimpleStringList *objects, bool echo) |
static void | prepare_vacuum_command (PGconn *conn, PQExpBuffer sql, vacuumingOptions *vacopts, const char *table) |
static void | run_vacuum_command (PGconn *conn, const char *sql, bool echo, const char *table) |
int | vacuuming_main (ConnParams *cparams, const char *dbname, const char *maintenance_db, vacuumingOptions *vacopts, SimpleStringList *objects, unsigned int tbl_count, int concurrentCons, const char *progname, bool echo, bool quiet) |
char * | escape_quotes (const char *src) |
static char * escape_quotes | ( | const char * | src | ) |
Definition at line 997 of file vacuuming.c.
References escape_single_quotes_ascii(), and pg_fatal.
|
static |
Definition at line 795 of file vacuuming.c.
References vacuumingOptions::and_analyze, appendPQExpBuffer(), appendPQExpBufferChar(), appendPQExpBufferStr(), Assert(), vacuumingOptions::buffer_usage_limit, comma, conn, vacuumingOptions::disable_page_skipping, vacuumingOptions::do_truncate, vacuumingOptions::force_index_cleanup, vacuumingOptions::freeze, vacuumingOptions::full, vacuumingOptions::mode, MODE_ANALYZE, MODE_ANALYZE_IN_STAGES, vacuumingOptions::no_index_cleanup, vacuumingOptions::parallel_workers, PQserverVersion(), vacuumingOptions::process_main, vacuumingOptions::process_toast, resetPQExpBuffer(), vacuumingOptions::skip_database_stats, vacuumingOptions::skip_locked, table, and vacuumingOptions::verbose.
Referenced by vacuum_one_database().
|
static |
Definition at line 505 of file vacuuming.c.
References ALWAYS_SECURE_SEARCH_PATH_SQL, appendPQExpBuffer(), appendPQExpBufferStr(), appendStringLiteralConn(), buf, conn, CppAsString2, PQExpBufferData::data, executeCommand(), executeQuery(), fmtQualifiedIdEnc(), SimpleStringList::head, i, initPQExpBuffer(), vacuumingOptions::min_mxid_age, vacuumingOptions::min_xid_age, vacuumingOptions::missing_stats_only, vacuumingOptions::mode, MODE_ANALYZE, SimpleStringListCell::next, vacuumingOptions::objfilter, OBJFILTER_SCHEMA, OBJFILTER_SCHEMA_EXCLUDE, OBJFILTER_TABLE, palloc0(), pg_free(), PQclear, PQclientEncoding(), PQgetisnull, PQgetvalue, PQntuples, resetPQExpBuffer(), simple_string_list_append(), splitTableColumnsSpec(), termPQExpBuffer(), and SimpleStringListCell::val.
Referenced by vacuum_one_database().
|
static |
Definition at line 967 of file vacuuming.c.
References conn, pg_log_error, PQdb(), PQerrorMessage(), PQsendQuery(), printf, and table.
Referenced by vacuum_one_database().
|
static |
Definition at line 422 of file vacuuming.c.
References ANALYZE_NO_STAGE, ANALYZE_NUM_STAGES, conn, connectMaintenanceDatabase(), executeQuery(), EXIT_SUCCESS, i, vacuumingOptions::missing_stats_only, vacuumingOptions::mode, MODE_ANALYZE_IN_STAGES, _connParams::override_dbname, palloc0(), PQclear, PQfinish(), PQgetvalue, PQntuples, progname, and vacuum_one_database().
Referenced by vacuuming_main().
|
static |
Definition at line 159 of file vacuuming.c.
References _, ANALYZE_NO_STAGE, ANALYZE_NUM_STAGES, Assert(), vacuumingOptions::buffer_usage_limit, CancelRequested, conn, connectDatabase(), ParallelSlot::connection, PQExpBufferData::data, vacuumingOptions::disable_page_skipping, vacuumingOptions::do_truncate, executeCommand(), EXIT_FAILURE, EXIT_SUCCESS, vacuumingOptions::force_index_cleanup, gettext_noop, SimpleStringList::head, initPQExpBuffer(), vacuumingOptions::min_mxid_age, vacuumingOptions::min_xid_age, vacuumingOptions::missing_stats_only, vacuumingOptions::mode, MODE_ANALYZE_IN_STAGES, MODE_VACUUM, SimpleStringListCell::next, vacuumingOptions::no_index_cleanup, vacuumingOptions::parallel_workers, ParallelSlotsAdoptConn(), ParallelSlotSetHandler(), ParallelSlotsGetIdle(), ParallelSlotsSetup(), ParallelSlotsTerminate(), ParallelSlotsWaitCompletion(), pg_fatal, pg_free(), PQdb(), PQfinish(), PQserverVersion(), prepare_vacuum_command(), printf, vacuumingOptions::process_main, vacuumingOptions::process_toast, progname, retrieve_objects(), run_vacuum_command(), vacuumingOptions::skip_database_stats, vacuumingOptions::skip_locked, generate_unaccent_rules::stdout, TableCommandResultHandler(), termPQExpBuffer(), and SimpleStringListCell::val.
Referenced by vacuum_all_databases(), and vacuuming_main().
int vacuuming_main | ( | ConnParams * | cparams, |
const char * | dbname, | ||
const char * | maintenance_db, | ||
vacuumingOptions * | vacopts, | ||
SimpleStringList * | objects, | ||
unsigned int | tbl_count, | ||
int | concurrentCons, | ||
const char * | progname, | ||
bool | echo, | ||
bool | quiet | ||
) |
Definition at line 54 of file vacuuming.c.
References ANALYZE_NO_STAGE, ANALYZE_NUM_STAGES, dbname, _connParams::dbname, EXIT_SUCCESS, get_user_name_or_exit(), vacuumingOptions::missing_stats_only, vacuumingOptions::mode, MODE_ANALYZE_IN_STAGES, vacuumingOptions::objfilter, OBJFILTER_ALL_DBS, progname, setup_cancel_handler(), vacuum_all_databases(), and vacuum_one_database().
Referenced by main().