Difference between revisions of "Postgres uuid"

From UVOO Tech Wiki
Jump to navigation Jump to search
(Created page with "select gen_random_uuid ();")
 
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
```
 +
CREATE OR REPLACE FUNCTION create_role()
 +
RETURNS TEXT AS $$
 +
DECLARE
 +
  _uuid text := (select replace((select gen_random_uuid()::TEXT), '-', ''));
 +
BEGIN
 +
  execute format('create role u%s',_uuid);
 +
  RETURN _uuid;
 +
END;
 +
$$  LANGUAGE plpgsql;
 +
```
 +
 +
```
 
select gen_random_uuid ();
 
select gen_random_uuid ();
 +
 +
select replace((select gen_random_uuid()::TEXT), '-', '') ;
 +
 +
```
 +
 +
```
 +
create or replace function create_user_readonly (
 +
  unm varchar,
 +
  pwd varchar
 +
)
 +
  returns varchar(10) as $$
 +
 +
begin
 +
 +
  execute format($f$create role %I login password '%s'$f$,unm,pwd);
 +
  execute format('alter role %I set transaction_read_only to on',unm);
 +
  return 'success';
 +
 +
end;
 +
 +
$$ language plpgsql;
 +
```
 +
 +
```
 +
CREATE OR REPLACE FUNCTION jb()
 +
RETURNS TEXT AS $$
 +
DECLARE
 +
  rtv TEXT := 'test';
 +
  _uuid text := (select replace((select gen_random_uuid()::TEXT), '-', ''));
 +
BEGIN
 +
  -- PERFORM 'test';
 +
  -- PERFORM uuid;
 +
  CREATE ROLE _uuid;
 +
  RETURN _uuid;
 +
END;
 +
$$  LANGUAGE plpgsql;
 +
```

Latest revision as of 15:38, 2 April 2023

CREATE OR REPLACE FUNCTION create_role()
RETURNS TEXT AS $$
DECLARE
  _uuid text := (select replace((select gen_random_uuid()::TEXT), '-', ''));
BEGIN
  execute format('create role u%s',_uuid);
  RETURN _uuid;
END;
$$  LANGUAGE plpgsql;
select gen_random_uuid ();

select replace((select gen_random_uuid()::TEXT), '-', '') ;

create or replace function create_user_readonly (
  unm varchar,
  pwd varchar
)
  returns varchar(10) as $$

begin

  execute format($f$create role %I login password '%s'$f$,unm,pwd);
  execute format('alter role %I set transaction_read_only to on',unm);
  return 'success';

end;

$$ language plpgsql;
CREATE OR REPLACE FUNCTION jb()
RETURNS TEXT AS $$
DECLARE
  rtv TEXT := 'test';
  _uuid text := (select replace((select gen_random_uuid()::TEXT), '-', ''));
BEGIN
  -- PERFORM 'test';
  -- PERFORM uuid;
  CREATE ROLE _uuid;
  RETURN _uuid;
END;
$$  LANGUAGE plpgsql;