Introducción a la base de datos Postgresql 1 uso

1.1 instalación

No hace falta decir que debe instalarlo antes de usar PostgreSQL. Si PostgreSQL está preinstalado en su sistema operativo o el administrador del sistema lo ha instalado, necesita obtener información sobre cómo acceder a PostgreSQL de la documentación del sistema operativo o del administrador del sistema.

Si no está seguro de si PostgreSQL ya está instalado o si el PostgreSQL instalado está disponible, puede instalarlo usted mismo. La instalación de PostgreSQL no es difícil y la instalación en sí misma es una buena oportunidad de ejercicio. PostgreSQL puede ser instalado por usuarios sin privilegios y no requiere derechos de acceso de superusuario (root).

Si desea instalar PostgreSQL usted mismo, consulte las instrucciones de instalación en el Capítulo 15 y regrese a estas instrucciones después de que se complete la instalación. Asegúrese de configurar las variables de entorno relevantes.

Si el administrador de su servidor no instala PostgreSQL de la forma predeterminada, debe realizar un trabajo adicional. Por ejemplo, si el servidor de la base de datos está en una computadora remota, debe establecer la variable de entorno PGHOST en el nombre de la computadora del servidor de la base de datos, y es posible que también deba establecerse la variable de entorno PGPORT. Lo más común es que si inicia la aplicación, pero no puede conectarse a la base de datos, debe comunicarse con el administrador del sistema de inmediato; si es un administrador, debe consultar la documentación para asegurarse de que las variables de entorno estén configuradas correctamente. Si aún no tiene claro el contenido mencionado anteriormente, lea primero la siguiente sección.

1.2 Conceptos básicos del sistema

En primer lugar, debe comprender la arquitectura básica del sistema PostgreSQL. Comprender las interrelaciones entre las diversas partes del sistema PostgreSQL hará que este capítulo sea más claro.

PostgreSQL utiliza el modelo cliente / servidor (C / S) para proporcionar servicios. Una sesión de PostgreSQL consta de los siguientes procesos (programas) relacionados:

(1) Un proceso del lado del servidor. Este proceso administra archivos de base de datos, acepta conexiones de clientes a la base de datos y realiza operaciones en la base de datos en nombre del cliente. El nombre del programa de este proceso se llama postgres.

(2) Aplicaciones front-end, es decir, aplicaciones cliente que requieren operaciones de base de datos. Las aplicaciones cliente en sí pueden ser diversas: pueden ser una herramienta de interfaz de caracteres, una aplicación de interfaz gráfica, un servidor web que muestra páginas web al acceder a una base de datos o una herramienta especial de administración de bases de datos. Algunas aplicaciones cliente se proporcionan con la versión PostgreSQL, pero la mayoría de ellas son desarrolladas por los usuarios.

Al igual que una aplicación cliente / servidor típica (aplicación C / S), el cliente y el servidor pueden estar en diferentes hosts. En este punto, están conectados a través de TCP / IP. Debe tener esto en cuenta, ya que los archivos a los que se puede acceder en el cliente pueden no ser accesibles en la máquina del servidor de la base de datos (o solo se puede acceder con un nombre de archivo diferente) .

El servidor PostgreSQL puede manejar múltiples solicitudes simultáneas de clientes. Para poder hacerlo, iniciará ("bifurca") un nuevo proceso para cada solicitud, entonces el cliente y el nuevo proceso servidor no se comunicarán directamente a través del proceso postgres original. Por lo tanto, el proceso principal del lado del servidor siempre se está ejecutando, esperando una conexión del cliente; mientras que el cliente y el proceso asociado del lado del servidor solo se ejecutarán cuando sea necesario. (Por supuesto, estos son transparentes para los usuarios, y hablo de ellos aquí en aras de la integridad).

 

1.3 Crear una base de datos

El primer ejemplo para probar si se puede acceder al servidor de la base de datos es intentar crear una base de datos, un servidor PostgreSQL puede administrar múltiples bases de datos, usualmente usaremos una base de datos separada para cada proyecto y cada usuario.

Es posible que el administrador del sistema haya creado la base de datos por usted y le haya dado el nombre de la base de datos. Si este es el caso, puede omitir este paso y pasar a la siguiente sección

Para crear una nueva base de datos llamada mydb (mydb en nuestro ejemplo), puede usar el siguiente comando:

   $ createdb mydb

Si no se muestra información especial después de ejecutar el comando, el comando es exitoso y puede omitir el resto de esta sección.

Si ve un mensaje como el siguiente

   createdb: command not found 

Entonces PostgreSQL no está instalado correctamente. O no está instalado en absoluto, o su configuración de ruta de búsqueda de shell no lo incluye. Intente llamar al comando con una ruta absoluta:

   $ /usr/local/pgsql/bin/createdb mydb 

La ruta de su nodo puede ser diferente. Póngase en contacto con su administrador o consulte las instrucciones de instalación para conocer la ubicación correcta.

Otra respuesta podría verse así:

   createdb: could not connect to database postgres: could not connect to server:
   No such file or directory
       Is the server running locally and accepting
       connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

Esto significa que el servidor no se inició, o no se inició donde se esperaba. Del mismo modo, también debe consultar las instrucciones de instalación o buscar un administrador.

Otra respuesta podría verse así:

   createdb: could not connect to database postgres: FATAL: role "joe" does not exist 

Aquí se menciona su cuenta de inicio de sesión. Si el administrador no crea una cuenta de usuario de PostgreSQL para usted, se producirán estos fenómenos. (Las cuentas de usuario de PostgreSQL y las cuentas de usuario del sistema operativo son diferentes). Si es administrador, consulte el Capítulo 20 para obtener ayuda sobre la creación de cuentas de usuario. Debe cambiar a la identidad del usuario del sistema operativo que instaló PostgreSQL (generalmente postgres) para crear la primera cuenta de usuario. También es posible que el nombre de usuario de PostgreSQL que se le proporcionó sea diferente del nombre de usuario de su sistema operativo; en este caso, debe usar el modificador -U o usar la variable de entorno PGUSER para declarar su nombre de usuario de PostgreSQL.

Si tiene una cuenta de usuario de base de datos, pero no tiene los permisos necesarios para crear una base de datos, verá el siguiente mensaje:

   createdb: database creation failed: ERROR:  permission denied to create database

No todos los usuarios están autorizados a crear nuevas bases de datos. Si PostgreSQL se niega a crear una base de datos, debe pedirle al administrador del nodo que le otorgue el permiso para crear una base de datos. Cuando esto suceda, consulte a su administrador de nodo. Si ha instalado PostgreSQL usted mismo, debe iniciar sesión como el usuario que inició el servidor de base de datos y consultar el manual para completar el trabajo de autorización. [1]

También puede crear bases de datos con otros nombres. PostgreSQL le permite crear cualquier cantidad de bases de datos en un nodo determinado. El nombre de la base de datos debe comenzar con una letra y tener menos de 63 caracteres. Una forma conveniente es crear una base de datos con el mismo nombre que su nombre de usuario actual. Muchas herramientas supondrán que el nombre de la base de datos es el nombre predeterminado de la base de datos, por lo que puede guardar las pulsaciones de teclas. Para crear una base de datos de este tipo, simplemente escriba

   $ createdb

Si ya no desea utilizar su base de datos, puede eliminarla. Por ejemplo, si es el propietario (creador) de la base de datos mydb, puede eliminarla con el siguiente comando:

   $ dropdb mydb

(Para este comando, el nombre de la base de datos no es el nombre de usuario predeterminado. Por lo tanto, debe declararlo). Esta acción elimina físicamente todos los archivos relacionados con la base de datos y no se pueden cancelar, así que asegúrese de hacer esto antes de hacerlo Piense con claridad.

La información sobre createdb y dropdb se puede encontrar en secciones separadas de createdb y dropdb, respectivamente.

Nota:

[1] Con respecto a la razón de esto: el nombre de usuario de PostgreSQL es independiente de la cuenta de usuario del sistema operativo. Cuando se conecta a una base de datos, puede elegir con qué nombre de usuario de PostgreSQL conectarse; si no lo elige, el valor predeterminado es su cuenta de sistema operativo actual. Si es así, siempre hay una cuenta de usuario de PostgreSQL con el mismo nombre que el usuario del sistema operativo para iniciar el servidor y, por lo general, este usuario tiene permiso para crear una base de datos. Si no desea iniciar sesión como este usuario, también puede especificar una opción -U en cualquier lugar para elegir un nombre de usuario de PostgreSQL para conectarse.

1.4 Acceso a la base de datos

Una vez que haya creado una base de datos, puede acceder a ella de las siguientes formas;

  • Ejecute el programa de terminal interactivo de PostgreSQL psql, que le permite ingresar, editar y ejecutar comandos SQL de forma interactiva.
  • Utilice herramientas gráficas de interfaz de usuario existentes, como Pgadmin o suites ofimáticas con soporte ODBC o JDBC para crear y administrar bases de datos. Este método no se trata en este tutorial.
  • Escriba una aplicación cliente que utilice uno de los enlaces de varios idiomas. Estas posibilidades se analizan con más profundidad en la Parte IV.

Es posible que desee iniciar psql para probar los ejemplos de este tutorial. Puede ingresar el siguiente comando para iniciar la base de datos mydb:

   $ psql mydb

Si no proporciona un nombre de base de datos, será el nombre predeterminado de su cuenta de usuario. Ya sabe cómo utilizar createdb en la sección anterior.

En psql, verá la siguiente información:

   psql (9.1)
   Type "help" for help.
   mydb=>

La última línea también puede ser

   mydb=#

Este mensaje significa que es un superusuario de la base de datos y que la causa más probable de esta situación es su propia instalación de PostgreSQL. Ser un superusuario significa que no está restringido por el control de acceso. Para los propósitos de este tutorial, no importa si eres un superusuario.

Si tiene problemas al iniciar psql, vuelva a la sección anterior. El método de diagnóstico de createdb es muy similar al método de diagnóstico de psql. Si el primero funciona, el segundo también debería funcionar.

La última línea impresa por psql es un mensaje, lo que significa que psql lo está escuchando. En este momento, puede ingresar sentencias de consulta SQL en un área de trabajo mantenida por psql. Prueba el siguiente comando:

mydb=> SELECT version();
                              version
-----------------------------------------------------------------------
PostgreSQL 9.1 on i586-pc-linux-gnu, compiled by GCC 2.96, 32-bit
(1 row)
mydb=> SELECT current_date;
   date
------------
 2002-08-31
(1 row)
mydb=> SELECT 2 + 2;
 ?column?
----------
       4
(1 row)

El programa psql tiene algunos comandos internos que no son comandos SQL. Comienzan con una barra invertida, "\". Por ejemplo, puede utilizar el siguiente comando para obtener la sintaxis de ayuda de varios comandos SQL de PostgreSQL:

   mydb=> \h

Para salir de psql, escriba

   mydb=> \q

Luego, psql saldrá y lo regresará a la línea de comandos del shell. (Para obtener más información sobre los comandos internos, puede escribir \? En el símbolo del sistema psql). La funcionalidad completa de psql está documentada en la documentación de psql. Si PostgreSQL está instalado correctamente, también puede escribir man psql en el indicador de shell del sistema operativo para leer el documento. En este documento, no usaremos explícitamente estas funciones, pero puede usarlas cuando sea apropiado.

Supongo que te gusta

Origin blog.csdn.net/qq_37061368/article/details/112978393
Recomendado
Clasificación