Creeu una base de dades a PostgreSQL mitjançant l'ordre createb

Creeu Una Base De Dades A Postgresql Mitjancant L Ordre Createb



En aquesta guia, aprendrem a crear una base de dades a PostgreSQL mitjançant l'ordre createdb.

Requisits previs:

Per dur a terme els passos que es mostren en aquesta guia, necessiteu els components següents:

  • Un sistema Linux configurat correctament. Per provar, tingueu en compte configurar una màquina Ubuntu virtual mitjançant VirtualBox .
  • PostgreSQL instal·lat i configurat. Aprendre mes sobre instal·lant PostgreSQL a Ubuntu .
  • Accés a a usuari no root amb privilegi sudo .

Bases de dades PostgreSQL

PostgreSQL és un sistema de bases de dades relacional d'objectes gratuït i de codi obert compatible amb SQL. Pot funcionar tant amb consultes relacionals (SQL) com no relacionals (JSON). Més informació sobre el característiques de PostgreSQL .







A PostgreSQL, la jerarquia de dades és la següent:



  • clúster
  • base de dades
  • esquema
  • taula (o altres objectes; per exemple, funció)

Qualsevol instància de PostgreSQL pot acceptar diverses connexions de client. El client ha d'especificar el nom de la base de dades a la sol·licitud de connexió. Només es permet una base de dades per connexió. Tanmateix, un client pot obrir diverses connexions al servidor, connectant-se a una o més bases de dades simultàniament.



Creació d'una base de dades en PostgreSQL

1. Obrint una connexió al servidor

Per crear una base de dades nova, connecteu-vos primer al servidor PostgreSQL:





$ sudo -i -en postgres
$ psql

Tingueu en compte que la creació de bases de dades és una operació restringida. Només els usuaris amb privilegis suficients poden dur a terme l'acció.



2. Llistat de les bases de dades actuals
Executeu la consulta següent a psql per imprimir la llista de bases de dades al servidor:

$ \lista

Durant la instal·lació, PostgreSQL crea la primera base de dades del servidor que és 'postgres'. També es creen dues bases de dades addicionals:

  • plantilla 1 : Quan es crea una base de dades nova dins del clúster, es clona 'template1'.
  • plantilla 0 : serveix com a còpia prístina del contingut original de 'template1'.

No creeu objectes dins de 'template1' tret que vulgueu que formin part de cada base de dades de nova creació. Si es modifica 'template1', es pot clonar 'template0' per crear una nova base de dades sense cap addició local del lloc.

3. Creació d'una nova base de dades
Per crear una base de dades nova, executeu la consulta següent a psql:

$ CREAR BASE DE DADES < nom_db > ;

Aquí:

  • La funció actual s'assumeix automàticament com a propietari de la nova base de dades.
  • El propietari té el privilegi de canviar el propietari a un rol diferent.

Comproveu la llista de bases de dades si l'acció té èxit mitjançant l'ordre següent:

$ \lista

Amb un compte privilegiat, també podem crear una base de dades per a algú altre mitjançant l'ordre següent:

$ CREAR BASE DE DADES < nom_db > PROPIETARI < paper > ;

L'ordre Createdb

En el mètode anterior, vam haver de seguir diversos passos per crear una base de dades:

  • Connecteu-vos al servidor PostgreSQL mitjançant psql.
  • Executeu les consultes per crear una nova base de dades.

Per agilitzar el procés, PostgreSQL ve amb l'ordre createb. Bàsicament actua com a embolcall d'aquestes accions. Podem executar directament l'ordre createdb des del shell.

1. Creació d'una base de dades amb Createdb
Per crear una base de dades amb el servidor de bases de dades predeterminat, utilitzeu l'ordre següent:

$ creat b < nom_db >

Verifiqueu l'acció mitjançant l'ordre següent:

$ psql -c '\lista'

Amb diverses opcions, també podem afinar les operacions creadesb. Consulteu l'exemple següent:

$ creat b -h < amfitrió > -p < port > -T < plantilla > -És --nom d'usuari = < nom d'usuari > --contrasenya --manteniment-db = < nom_base_de_manteniment > < nom_db >

Aquí:

  • -h : aquest paràmetre especifica la ubicació del servidor PostgreSQL (adreça IP o nom de domini).
  • -p : el port per connectar-se al servidor.
  • -T : La plantilla que s'ha d'utilitzar en crear la nova base de dades. Pot ser template0, template1 o qualsevol altra base de dades.
  • -És : fa ressò de la consulta equivalent.
  • -nom d'usuari : El nom d'usuari per connectar-se al servidor.
  • –contrasenya : Força l'ordre createdb a demanar una contrasenya abans de connectar-se al servidor. En la majoria dels casos, no és necessari, ja que createdb demana automàticament una contrasenya si el servidor ho requereix. Tanmateix, dedica un intent de connexió a esbrinar-ho.
  • –manteniment-db : la base de dades a la qual es connectar quan es crea la nova base de dades. Si no s'especifica, s'assumeix postgres per defecte. Si el postgres no existeix, s'assumeix 'template1'.

És hora de posar-ho en acció. Executeu la següent comanda createb:

$ creat b -h localhost -p 5432 -T plantilla 0 -És --nom d'usuari =postgres test_db

Tal com suggereix la sortida, és equivalent a la consulta següent:

$ CREATE DATABASE test_db TEMPLATE template0;

Gestió addicional de bases de dades

En aquesta secció, fem una ullada a altres operacions de gestió de bases de dades.

Llistat de bases de dades

Hi ha un parell de maneres d'enumerar les bases de dades que s'emmagatzemen al servidor. Ja hem demostrat un mètode a les seccions anteriors:

$ \lista

Una altra manera és examinar el catàleg del sistema 'pg_database':

$ SELECT dataname FROM pg_database;

Eliminació d'una base de dades

Per eliminar una base de dades, executeu la consulta següent:

$ DEIXAR BASE DE DADES < nom_db > ;

De manera similar a createdb, PostgreSQL també ve amb l'ordre dropdb que podem executar des del shell. Mireu l'exemple següent:

$ dropdb -h < amfitrió > -p < port > --nom d'usuari = < nom d'usuari > --contrasenya -És < nom_db >

Aquí:

  • -h : El servidor PostgreSQL al qual es connectar.
  • -p : el port del servidor PostgreSQL al qual es connecta.
  • -És : fa ressò de la consulta equivalent.

Tingueu en compte que l'usuari ha de tenir els privilegis suficients per eliminar una base de dades.

Canviar la propietat d'una base de dades

El propietari d'una base de dades pot realitzar qualsevol acció sobre la base de dades, inclosa la supressió de la base de dades. Per defecte, l'usuari que crea la base de dades s'assigna com a propietari. Tanmateix, podem reassignar la propietat a un usuari diferent.

Per canviar el propietari de la base de dades, executeu la consulta següent a psql:

$ ALTERA LA BASE DE DADES < nom_db > PROPIETARI A < nou_propietari > ;

Això, però, no canviarà la propietat dels objectes de la base de dades (incloses les taules). En aquests casos, hem d'utilitzar una consulta diferent. Connecteu-vos a la base de dades de destinació i executeu la consulta següent:

$ REASSIGNACIÓ PROPIETAT DE < vell_propietari > A < nou_propietari > ;

Tot i que és convenient, aquesta consulta inclou algunes advertències:

  • Quan es connecta a postgres (base de dades), pot canviar la propietat de diverses bases de dades alhora.
  • No utilitzeu aquesta consulta quan el propietari original sigui Postgres, ja que podria danyar tota la instància de base de dades.

Bonificació: executar les consultes des del Shell

Fins ara, executem les consultes des de la consola PostgreSQL. Què passa si voleu incorporar algunes funcionalitats de base de dades als vostres scripts? Les ordres createb i dropdb només poden fer operacions específiques.

Per resoldre això, podem utilitzar psql com a conducte. A més del shell interactiu estàndard, psql també pot executar les consultes sobre la marxa.

Mètode 1:

L'estructura de comandaments és la següent:

$ psql -h < amfitrió > -p < port > -IN < nom d'usuari > -d < base de dades > -c < consulta >

Aquí:

  • -h : L'adreça del servidor PostgreSQL.
  • -p : el port al qual es connecta (el valor per defecte és 5432).
  • -IN : l'usuari al qual es connecta com.
  • -d : la base de dades a la qual es connectar.
  • -c : la consulta a executar.

Mètode 2:

PostgreSQL inclou una altra característica interessant: URI de connexió. És una manera intel·ligent de codificar tots els paràmetres de connexió. L'estructura d'un URI de connexió és la següent:

$ postgresql: //< nom d'usuari > : < contrasenya >@< amfitrió > : < port >/< nom_db >

Aquí:

  • postgresql o postgres : el protocol únic per a l'URI de connexió de PostgreSQL.

Per connectar-vos a una base de dades mitjançant l'URI de connexió, utilitzeu l'ordre psql següent:

$ psql -d < connexió_uri > -c < consulta >

Conclusió

Hem après diverses maneres de crear bases de dades a PostgreSQL. Hem demostrat com crear una base de dades mitjançant la consulta CREATE DATABASE. També vam mostrar la creació de la base de dades mitjançant l'ordre createb. A més, també hem passat per alt algunes altres accions importants de gestió de bases de dades com la supressió de bases de dades i el canvi de propietari.

T'interessa saber més sobre PostgreSQL? Consulteu el Subcategoria PostgreSQL y que conté nombroses guies sobre diverses característiques; per exemple: funcions , expressions regulars , taules , i molt més.