mirror of
https://github.com/timescale/timescaledb.git
synced 2025-05-22 13:40:56 +08:00
34 lines
857 B
PL/PgSQL
34 lines
857 B
PL/PgSQL
CREATE SCHEMA IF NOT EXISTS _sysinternal;
|
|
|
|
CREATE OR REPLACE FUNCTION _sysinternal.create_user_mapping(
|
|
cluster_user_row cluster_user,
|
|
server_name NAME
|
|
)
|
|
RETURNS VOID LANGUAGE PLPGSQL VOLATILE AS
|
|
$BODY$
|
|
BEGIN
|
|
|
|
EXECUTE format(
|
|
$$
|
|
CREATE USER MAPPING FOR %1$I SERVER %2$I OPTIONS (user '%1$s', password '%3$s')
|
|
$$,
|
|
cluster_user_row.username, server_name, cluster_user_row.password);
|
|
END
|
|
$BODY$;
|
|
|
|
CREATE OR REPLACE FUNCTION _sysinternal.create_server(
|
|
server_name NAME,
|
|
hostname NAME,
|
|
database_name NAME
|
|
)
|
|
RETURNS VOID LANGUAGE PLPGSQL VOLATILE AS
|
|
$BODY$
|
|
BEGIN
|
|
EXECUTE format(
|
|
$$
|
|
CREATE SERVER %I FOREIGN DATA WRAPPER postgres_fdw OPTIONS(host '%s', dbname '%s') ;
|
|
$$,
|
|
server_name, hostname, database_name);
|
|
END
|
|
$BODY$;
|