Skapa scheman och tabeller
Skapa ett schema eller en tabell i ett PostgreSQL-kluster från portalens Datautforskare — namn, kolumner, typer, nycklar, provkörningen — vem som äger det du skapar, och hur du tar bort det.
Kräver: postgrescluster/dataRead, postgrescluster/schemaRead, postgrescluster/schemaWrite
Scheman och tabeller skapas på klustrets flik Datautforskare, som kräver rollen Database Explorer — se Vem som får använda den. Klustret måste vara igång.
Varje ändring här går till på samma sätt: formuläret skriver SQL:en och visar den under SQL preview, en provkörning prövar den i en transaktion som rullas tillbaka, och först därefter kan du bekräfta den. Ändrar du ett fält efter provkörningen krävs en ny.
Det du skapar tillhör databasens ägare — användaren i klustrets anslutningssträng — så dina program kan använda det direkt, utan att du delar ut rättigheter.
Skapa ett schema
- Välj knappen Create schema överst i trädet på fliken Datautforskare.
- Fyll i Create schema:
- Name — gemener, siffror och understreck, som börjar med en bokstav eller ett understreck, högst 63 tecken;
- Comment (optional) — upp till 1024 tecken;
- IF NOT EXISTS — hoppa tyst över om ett schema med det namnet redan finns.
- Välj Dry run. När den går igenom står det Dry run passed — ready to commit.
- Välj Confirm & create. Schemat visas i trädet.
Med SQL, under Query eller med CLI:t:
stsh pg query orders-db "create schema analytics"Skapa en tabell
Välj Create table på det schema tabellen ska skapas i. Rubriken, Create a new table under schema, låter dig välja ett annat schema.
Ange tabellens Name, med samma regler som för ett schemanamn.
Definiera kolumnerna under Columns. Formuläret börjar med två:
id, enbigint-primärnyckel som numrerar sig själv, ochcreated_at, entimestamptzmed standardvärdetnow(). För varje kolumn:- Name — samma regler som ovan, unikt i tabellen;
- Type — välj en av de vanliga typerna, till exempel
text,varchar(255),integer,bigint,numeric(10,2),boolean,uuid,timestamptzellerjsonb, eller välj Custom… och skriv en annan typ, eventuellt med en storlek som(64)eller(10,2); - Default — ett SQL-uttryck, till exempel
now()eller'pending'; fältet föreslår ett för typen; - Primary — ingår i primärnyckeln. Markera flera kolumner för en nyckel som består av alla;
- Null — om kolumnen får vara tom. En primärnyckelkolumn får inte det;
- Auto — kolumnen numrerar sig själv. Bara för
smallint,integerochbigint, och inte tillsammans med ett Default.
Add column lägger till en kolumn; dra en rad för att ändra ordningen.
Slå eventuellt på IF NOT EXISTS och lägg till en Comment (optional).
Välj Review & save för provkörningen, och sedan Confirm & create.
Främmande nycklar, index och unika begränsningar finns inte i formuläret; lägg till dem med SQL under Query när tabellen finns. En tabell vars primärnyckel är en enda kolumn kan redigeras under Browse; se Bläddra i och redigera rader.
Ta bort ett schema eller en tabell
För att ta bort krävs postgrescluster/schemaDrop, som rollen Database Explorer inte innehåller —
se Vem som får använda den.
- Välj borttagningsknappen på schemat eller tabellen i trädet.
- Slå på CASCADE för att också ta bort det som är beroende av det — främmande nycklar, vyer och så vidare. Utan det avvisas borttagningen om något är beroende av det.
- Välj Dry run. Resultatet listar objekten som borttagningen skulle ta med sig.
- Skriv objektets namn för att bekräfta och välj knappen Drop. Det går inte att ångra, annat än genom att återställa en ögonblicksbild.
Om det avvisas
- Denied — missing permissions. — resultatet anger behörigheterna du saknar, och vilka av dem som just-in-time-åtkomst skulle kunna ge.
- Refused — structurally not allowed. — satsen är en som Datautforskaren aldrig kör; se Avvisade satser.
- Ett fel med ett SQL-tillstånd, till exempel
[42P07], kommer från PostgreSQL självt — till exempel finns redan ett objekt med det namnet.