YHTEENVETO: Tässä artikkelissa käsitellään ALTER DATABASE-, RENAME DATABASE- ja DROP DATABASE -lausekkeita sekä CREATE DATABASE WITH TEMPLATE -lausekkeen käyttämistä tietokannan kopioimiseen.
1. ALTER DATABASE -lausekkeet
a. Tietokannan omistajan vaihtaminen
b. Mallitietokannan määrittäminen
c. Uusien yhteyksien rajoittaminen tietylle tietokannalle
d. Yhteysrajoituksen rajoittaminen tietylle tietokannalle
e. Tietokannan oletuspöytäavaruuden muuttaminen
2. RENAME DATABASE -lausekkeet
3. DROP DATABASE -lausekkeet
4. Tietokannan rakenteen ja tietojen kopioiminen
Tässä postauksessa tarkastellaan eräitä käytettävissä olevia komentoja, joilla voidaan hallita PostgreSQL-tietokantoja PSQL-kehotteesta. Käymme läpi menetelmiä tietokannan muuttamiseen, uudelleennimeämiseen, poistamiseen ja kopioimiseen.
Kerrataan joitakin PostgreSQL:n peruskomentoja:
1. Tietokannan luomisen syntaksi:
CREATE DATABASE name user_name ] template ] encoding ] lc_collate ] lc_ctype ] tablespace ] connlimit ] ]
2. Luettelon saaminen nykyisen klusterin tietokannoista:
a. \l+
b. select * from pg_database ;
- ALTER database -lausekkeet
- Tietokannan omistajan muuttaminen
- Syntaksi
- Esimerkki
- Mallitietokannan asettaminen
- Syntaksi
- Esimerkki
- Uusien yhteyksien rajoittaminen tietylle tietokannalle
- Syntaksi
- Esimerkki
- Yhteysrajoituksen rajoittaminen tietylle tietokannalle
- Syntaksi
- Esimerkki
- Tietokannan oletustaulukkotilan muuttaminen
- Syntaksi
- Esimerkki
- Tietokannan RENAME-lausekkeet
- Syntaksi
- Esimerkki
- DROP tietokantalausekkeet
- Syntaksi
- Esimerkki
ALTER database -lausekkeet
ALTER database -lausekkeilla voidaan muuttaa kohdetietokannan nykyisiä ominaisuuksia.
Tietokannan omistajan muuttaminen
Tietokannan omistajan muuttaminen edellyttää, että liitetty käyttäjä on tietokannan omistaja ja lisäksi uuden omistajaroolin suora tai epäsuora jäsen ja että liitetyllä käyttäjällä on CREATEDB-oikeus.
Syntaksi
ALTER DATABASE <database_name> OWNER TO <new_owner>;
Esimerkki
ALTER DATABASE test OWNER TO user;
Mallitietokannan asettaminen
Oletusarvoisesti klusterissa on vain kaksi mallitietokantaa – template0 ja template1. Muita tietokantoja ei voi oletusarvoisesti käyttää mallina. Jos sinun on luotava omaan ympäristöösi mukautettu tietokantamalli, voit käyttää tätä vaihtoehtoa.
Syntaksi
ALTER DATABASE <database_name> WITH IS_TEMPLATE = true;
Esimerkki
ALTER DATABASE test WITH IS_TEMPLATE = true;
Uusien yhteyksien rajoittaminen tietylle tietokannalle
Tämä vaihtoehto on erittäin hyödyllinen tietokannan ylläpidossa. Voit rajoittaa uusia yhteyksiä tiettyyn tietokantaan tietokannan ylläpitoikkunan aikana. Tämän vaihtoehdon ottaminen käyttöön edellyttää, että yksikään käyttäjä ei ole yhteydessä kohdetietokantaan.
Syntaksi
ALTER DATABASE <database_name> WITH ALLOW_CONNECTIONS = false;
Esimerkki
ALTER DATABASE test2 WITH ALLOW_CONNECTIONS = false;
Yhteysrajoituksen rajoittaminen tietylle tietokannalle
Varmuuden ja optimaalisen suorituskyvyn takaamiseksi voit rajoittaa niiden yhteyksien lukumäärää, jotka voivat muodostaa yhteyden kohdetietokantaan. Tämän parametrin arvo on oletusarvoisesti rajoittamaton eli -1 jokaiselle tietokannalle.
Syntaksi
ALTER DATABASE <database_name> WITH CONNECTION LIMIT <max_number_of_connections>;
Esimerkki
ALTER DATABASE test2 WITH CONNECTION LIMIT 10;
Tietokannan oletustaulukkotilan muuttaminen
Voit siirtää oletustaulukkotilan objekteja, kuten taulukoita ja indeksejä, fyysisesti oletustaulukkotilasta uuteen mukautettuun taulukkotilaan. Uuden oletustaulukkoavaruuden on oltava tyhjä tässä tietokannassa, eikä kukaan voi olla yhteydessä tietokantaan tämän toiminnon aikana.
Huomaa: Tietokannan omistajan tai pääkäyttäjän on tehtävä tämä muutos, ja käyttäjällä on oltava CREATE-oikeudet uuteen taulukkoavaruuteen.
Syntaksi
ALTER DATABASE <database_name> SET TABLESPACE <custom_tablespace_name>;
Esimerkki
ALTER DATABASE test SET TABLESPACE custom_tblspc;
Tietokannan RENAME-lausekkeet
Voit vaihtaa nykyisen tietokannan nimen RENAME-ohjelmalla. Et voi kuitenkaan nimetä tietokantaa uudelleen, kun siihen on pääsy muilla yhteyksillä.
Huomautus: Tietokannan omistajan tai pääkäyttäjän on tehtävä tämä muutos, ja käyttäjällä on oltava CREATEDB-oikeudet.
Syntaksi
ALTER DATABASE <old_database_name> RENAME TO <new_database_name>;
Esimerkki
ALTER DATABASE test RENAME TO test123;
DROP tietokantalausekkeet
Mahdollistat kohdetietokannan DROP-käytön. Tämä poistaa tietokannan luettelomerkinnät ja poistaa tiedot sisältävän hakemiston. Sen voi suorittaa vain tietokannan omistaja. Sitä ei myöskään voi suorittaa, kun sinä tai joku muu on yhteydessä kohdetietokantaan.
Huomaa: DROP DATABASEa ei voi peruuttaa.
Syntaksi
DROP DATABASE <database_name>;
Esimerkki
DROP DATABASE test2;