mirror of https://github.com/citusdata/citus.git
Adds pg_database_size_local_function
parent
6801a1ed1e
commit
5edc04d956
|
@ -17,6 +17,7 @@
|
|||
|
||||
#include "postgres.h"
|
||||
|
||||
#include "fmgr.h"
|
||||
#include "miscadmin.h"
|
||||
#include "pgstat.h"
|
||||
|
||||
|
@ -184,6 +185,8 @@ PG_FUNCTION_INFO_V1(citus_internal_add_tenant_schema);
|
|||
PG_FUNCTION_INFO_V1(citus_internal_delete_tenant_schema);
|
||||
PG_FUNCTION_INFO_V1(citus_internal_update_none_dist_table_metadata);
|
||||
PG_FUNCTION_INFO_V1(citus_internal_database_command);
|
||||
PG_FUNCTION_INFO_V1(citus_pg_database_size_by_db_name);
|
||||
PG_FUNCTION_INFO_V1(citus_pg_database_size_by_db_oid);
|
||||
|
||||
|
||||
static bool got_SIGTERM = false;
|
||||
|
@ -4048,6 +4051,43 @@ citus_internal_database_command(PG_FUNCTION_ARGS)
|
|||
PG_RETURN_VOID();
|
||||
}
|
||||
|
||||
Datum
|
||||
citus_pg_database_size_by_db_name(PG_FUNCTION_ARGS){
|
||||
CheckCitusVersion(ERROR);
|
||||
|
||||
PG_ENSURE_ARGNOTNULL(0, "dbName");
|
||||
|
||||
Name dbName = PG_GETARG_NAME(0);
|
||||
Datum size = DirectFunctionCall1(pg_database_size_name, NameGetDatum(dbName));
|
||||
|
||||
PG_RETURN_DATUM(size);
|
||||
|
||||
}
|
||||
|
||||
Datum
|
||||
citus_pg_database_size_by_db_oid(PG_FUNCTION_ARGS){
|
||||
CheckCitusVersion(ERROR);
|
||||
|
||||
PG_ENSURE_ARGNOTNULL(0, "dbOid");
|
||||
|
||||
Oid dbOid = PG_GETARG_OID(0);
|
||||
Datum size = DirectFunctionCall1(pg_database_size_oid, ObjectIdGetDatum(dbOid));
|
||||
|
||||
PG_RETURN_DATUM(size);
|
||||
|
||||
}
|
||||
|
||||
Datum citus_internal_database_size(PG_FUNCTION_ARGS){
|
||||
CheckCitusVersion(ERROR);
|
||||
|
||||
PG_ENSURE_ARGNOTNULL(0, "dbName");
|
||||
|
||||
Name dbName = PG_GETARG_NAME(0);
|
||||
|
||||
|
||||
PG_RETURN_DATUM(size);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* SyncNewColocationGroup synchronizes a new pg_dist_colocation entry to a worker.
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
-- citus--12.2-1--12.1-1
|
||||
|
||||
DROP FUNCTION pg_catalog.citus_internal_database_command(text);
|
||||
DROP FUNCTION pg_catalog.pg_database_size_local(name);
|
||||
DROP FUNCTION pg_catalog.pg_database_size_local(oid);
|
||||
|
||||
#include "../udfs/citus_add_rebalance_strategy/10.1-1.sql"
|
||||
|
|
|
@ -8,3 +8,19 @@ CREATE OR REPLACE FUNCTION pg_catalog.citus_internal_database_command(command te
|
|||
AS 'MODULE_PATHNAME', $$citus_internal_database_command$$;
|
||||
COMMENT ON FUNCTION pg_catalog.citus_internal_database_command(text) IS
|
||||
'run a database command without transaction block restrictions';
|
||||
|
||||
CREATE OR REPLACE FUNCTION pg_catalog.pg_database_size_local(db_name name)
|
||||
RETURNS bigint
|
||||
LANGUAGE C
|
||||
VOLATILE
|
||||
AS 'MODULE_PATHNAME', $$citus_pg_database_size_by_db_name$$;
|
||||
COMMENT ON FUNCTION pg_catalog.pg_database_size_local(name) IS
|
||||
'calculates the size of a database in bytes by its name in a multi-node cluster';
|
||||
|
||||
CREATE OR REPLACE FUNCTION pg_catalog.pg_database_size_local(db_oid oid)
|
||||
RETURNS bigint
|
||||
LANGUAGE C
|
||||
VOLATILE
|
||||
AS 'MODULE_PATHNAME', $$citus_pg_database_size_by_db_oid$$;
|
||||
COMMENT ON FUNCTION pg_catalog.pg_database_size_local(oid) IS
|
||||
'calculates the size of a database in bytes by its oid in a multi-node cluster';
|
||||
|
|
|
@ -8,3 +8,19 @@ CREATE OR REPLACE FUNCTION pg_catalog.citus_internal_database_command(command te
|
|||
AS 'MODULE_PATHNAME', $$citus_internal_database_command$$;
|
||||
COMMENT ON FUNCTION pg_catalog.citus_internal_database_command(text) IS
|
||||
'run a database command without transaction block restrictions';
|
||||
|
||||
CREATE OR REPLACE FUNCTION pg_catalog.pg_database_size_local(db_name name)
|
||||
RETURNS bigint
|
||||
LANGUAGE C
|
||||
VOLATILE
|
||||
AS 'MODULE_PATHNAME', $$citus_pg_database_size_by_db_name$$;
|
||||
COMMENT ON FUNCTION pg_catalog.pg_database_size_local(name) IS
|
||||
'calculates the size of a database in bytes by its name in a multi-node cluster';
|
||||
|
||||
CREATE OR REPLACE FUNCTION pg_catalog.pg_database_size_local(db_oid oid)
|
||||
RETURNS bigint
|
||||
LANGUAGE C
|
||||
VOLATILE
|
||||
AS 'MODULE_PATHNAME', $$citus_pg_database_size_by_db_oid$$;
|
||||
COMMENT ON FUNCTION pg_catalog.pg_database_size_local(oid) IS
|
||||
'calculates the size of a database in bytes by its oid in a multi-node cluster';
|
||||
|
|
Loading…
Reference in New Issue