| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- -- We apply our test seedings to template1 so every new created db will have the same structure
- \c template1
- -- Tables for testing
- CREATE TYPE public.user_status AS ENUM ('ACTIVE', 'INACTIVE');
- CREATE TYPE composite_type_with_array_attribute AS (my_text_array text[]);
- CREATE TABLE public.users (
- id bigint GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
- name text,
- status user_status DEFAULT 'ACTIVE'
- );
- INSERT INTO
- public.users (name)
- VALUES
- ('Joe Bloggs'),
- ('Jane Doe');
- CREATE TABLE public.todos (
- id bigint GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
- details text,
- "user-id" bigint REFERENCES users NOT NULL
- );
- INSERT INTO
- public.todos (details, "user-id")
- VALUES
- ('Star the repo', 1),
- ('Watch the releases', 2);
- CREATE FUNCTION add(integer, integer) RETURNS integer
- AS 'select $1 + $2;'
- LANGUAGE SQL
- IMMUTABLE
- RETURNS NULL ON NULL INPUT;
- create table public.users_audit (
- id BIGINT generated by DEFAULT as identity,
- created_at timestamptz DEFAULT now(),
- user_id bigint,
- previous_value jsonb
- );
- create function public.audit_action()
- returns trigger as $$
- begin
- insert into public.users_audit (user_id, previous_value)
- values (old.id, row_to_json(old));
- return new;
- end;
- $$ language plpgsql;
- CREATE VIEW todos_view AS SELECT * FROM public.todos;
- -- For testing typegen on view-to-view relationships
- create view users_view as select * from public.users;
- create materialized view todos_matview as select * from public.todos;
- create function public.blurb(public.todos) returns text as
- $$
- select substring($1.details, 1, 3);
- $$ language sql stable;
- create function public.blurb_varchar(public.todos) returns character varying as
- $$
- select substring($1.details, 1, 3);
- $$ language sql stable;
- create function public.details_length(public.todos) returns integer as
- $$
- select length($1.details);
- $$ language sql stable;
- create function public.details_is_long(public.todos) returns boolean as
- $$
- select $1.details_length > 20;
- $$ language sql stable;
- create function public.details_words(public.todos) returns text[] as
- $$
- select string_to_array($1.details, ' ');
- $$ language sql stable;
- create extension postgres_fdw;
- create server foreign_server foreign data wrapper postgres_fdw options (host 'localhost', port '5432', dbname 'postgres');
- create user mapping for postgres server foreign_server options (user 'postgres', password 'postgres');
- create foreign table foreign_table (
- id int8 not null,
- name text,
- status user_status
- ) server foreign_server options (schema_name 'public', table_name 'users');
- create or replace function public.function_returning_row()
- returns public.users
- language sql
- stable
- as $$
- select * from public.users limit 1;
- $$;
- create or replace function public.function_returning_set_of_rows()
- returns setof public.users
- language sql
- stable
- as $$
- select * from public.users;
- $$;
- create or replace function public.function_returning_table()
- returns table (id int, name text)
- language sql
- stable
- as $$
- select id, name from public.users;
- $$;
- create or replace function public.polymorphic_function(text) returns void language sql as '';
- create or replace function public.polymorphic_function(bool) returns void language sql as '';
- create table user_details (
- user_id int8 references users(id) primary key,
- details text
- );
- create view a_view as select id from users;
- create table empty();
- create table table_with_other_tables_row_type (
- col1 user_details,
- col2 a_view
- );
- create table table_with_primary_key_other_than_id (
- other_id bigint GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
- name text
- );
|