hogar - Servicio
Cómo crear una tabla gráfica en la consola postgresql. Comandos básicos de PostgreSQL

En este artículo mostraré 15 de los más comandos útiles para conducir postgreSQL.

1. ¿Cómo cambiar la contraseña de root en PostgreSQL?

$ /usr/local/pgsql/bin/psql postgres postgres Contraseña: (contraseña antigua) # ALTERAR USUARIO postgres CON CONTRASEÑA 'tmpcontraseña'; $ /usr/local/pgsql/bin/psql postgres postgres Contraseña: (tmpcontraseña)

Cambiar la contraseña de usuario regular sucede de la misma manera. El usuario root puede cambiar la contraseña de cualquier usuario.

# ALTERAR EL nombre de usuario del USUARIO CON CONTRASEÑA 'tmppassword';

2. ¿Cómo instalar PostgreSQL en inicio automático?

$ su - root # tar xvfz postgresql-8.3.7.tar.gz # cd postgresql-8.3.7 # cp contrib/start-scripts/linux /etc/rc.d/init.d/postgresql # chmod a+x / etc/rc.d/init.d/postgresql

3. Verifique el estado del servidor

$ /etc/init.d/postgresql estado Contraseña: pg_ctl: el servidor se está ejecutando (PID: 6171) /usr/local/pgsql/bin/postgres “-D” “/usr/local/pgsql/data” [ Comentario: Este mensaje indica que el servidor se está ejecutando y funciona normalmente] $ /etc/init.d/postgresql estado Contraseña: pg_ctl: no hay ningún servidor ejecutándose [ Comentario: Este mensaje indica que el servidor no se está ejecutando]

4. ¿Cómo iniciar, detener y reiniciar PostgreSQL?

# parada del servicio postgresql Deteniendo PostgreSQL: el servidor se detuvo correctamente # inicio del servicio postgresql Iniciando PostgreSQL: ok # reinicio del servicio postgresql Reiniciando PostgreSQL: el servidor se detuvo correctamente

5. ¿Cómo puedo ver qué versión de PostgreSQL se está ejecutando?

$ /usr/local/pgsql/bin/psql prueba Bienvenido a psql 8.3.7, la terminal interactiva de PostgreSQL. Escriba: \copyright para términos de distribución \h para obtener ayuda con los comandos SQL \? para obtener ayuda con los comandos psql \g o terminar con punto y coma para ejecutar la consulta \q para salir de la prueba=# seleccionar versión(); versión ————————————————————————————————— PostgreSQL 8.3.7 en i686-pc-linux-gnu, compilado por CCG CCG (CCG) 4.1.2 20071124 ( sombrero rojo 4.1.2-42) (1 fila) prueba=#

5. ¿Cómo crear un usuario en PostgreSQL?

Hay dos métodos para esto.

Método 1: Creamos un usuario usando el shell PSQL usando el comando CREATE USER.

# CREAR USUARIO ramesh CON contraseña 'tmppassword'; CREAR PAPEL

Método2: Creamos un usuario usando el comando de shell createuser.

$ /usr/local/pgsql/bin/createuser sathiya Deberá el nuevo rol de superusuario? (sí/no) n ¿Se le permitirá al nuevo rol crear bases de datos? (s/n) n ¿Se le permitirá al nuevo rol crear más roles nuevos? (s/n) n CREAR ROL

6. ¿Cómo crear una base de datos en PostgreSQL?

Hay 2 métodos para esto.

Método1: Creamos una base de datos a través de un shell PSQL usando el comando CREATE DATABASE.

# CREAR BASE DE DATOS mydb CON EL PROPIETARIO ramesh; CREAR BASE DE DATOS

Método2: Usamos el comando creadob.

$ /usr/local/pgsql/bin/createdb mydb -O ramesh CREAR BASE DE DATOS

7. ¿Obtenemos una lista de todas las bases de datos en Postgresql?

# \l Lista de bases de datos Nombre | Propietario | Codificación ———-+———-+———- copia de seguridad | postgres | UTF8 mi base de datos | ramesh | Postgres UTF8 | postgres | Plantilla UTF80 | postgres | Plantilla UTF81 | postgres | UTF8

8. ¿Cómo eliminar una base de datos en PostgreSQL?

# \l Lista de bases de datos Nombre | Propietario | Codificación ———-+———-+———- copia de seguridad | postgres | UTF8 mi base de datos | ramesh | Postgres UTF8 | postgres | Plantilla UTF80 | postgres | Plantilla UTF81 | postgres | UTF8# BOTAR BASE DE DATOS mydb; SOLTAR BASE DE DATOS

9. Utilice la ayuda integrada para los comandos.

Equipo \? mostrará una línea de ayuda para el comando PSQL. \h CREATE mostrará ayuda para todos los comandos que comiencen con CREATE.

# \? # \h CREAR # \h CREAR ÍNDICE

10. ¿Cómo obtener una lista de todas las tablas de una base de datos determinada en Postgresql?

# \d

Para una base de datos vacía, recibirá el mensaje "No se encontraron relaciones".

11. ¿Cómo puedo saber el tiempo de ejecución de la solicitud?

# \timing: después de ejecutar este comando, cada solicitud posterior mostrará el tiempo de ejecución.

# \momento El tiempo está en marcha. # SELECCIONAR * de pg_catalog.pg_attribute; Tiempo: 9,583 ms

12. ¿Cómo hacer copias de seguridad y restaurar bases de datos y tablas en PostgreSQL?

Esta pregunta es bastante amplia y la publicaré más adelante en un artículo aparte.

13. ¿Cómo ver la lista de funciones disponibles en PostgreSQL?

Para obtener una lista de funciones disponibles, diga \df+

# \df # \df+

14. ¿Cómo editar una consulta PostgreSQL en el editor?

# \mi

\abrirá un editor donde podrá editar la consulta y guardarla.

15. ¿Dónde puedo encontrar el archivo histórico de PostgreSQL?

Al igual que el archivo ~/.bash_history, postgreSQL almacena todo comandos sql en el archivo ~/.psql_history.

$ gato ~/.psql_history modificar el usuario postgres con la contraseña 'tmppassword'; \h alterar la versión seleccionada por el usuario(); crear usuario ramesh con contraseña 'tmppassword'; \timing select * de pg_catalog.pg_attribute;

Se ha identificado una vulnerabilidad (CVE-2019-18634) en la utilidad sudo, que se utiliza para organizar la ejecución de comandos en nombre de otros usuarios, lo que le permite aumentar sus privilegios en el sistema. Problema […]

El lanzamiento de WordPress 5.3 mejora y amplía el editor de bloques introducido en WordPress 5.0 con un nuevo bloque, una interacción más intuitiva y una accesibilidad mejorada. Nuevas funciones en el editor […]

Después de nueve meses de desarrollo, está disponible el paquete multimedia FFmpeg 4.2, que incluye un conjunto de aplicaciones y una colección de bibliotecas para operaciones en varios formatos multimedia (grabación, conversión y […]

  • Nuevas características en menta linux 19.2 canela

    Linux Mint 19.2 es una versión de soporte a largo plazo que será compatible hasta 2023. Viene actualizado software y contiene mejoras y muchas novedades […]

  • Lanzada la distribución Linux Mint 19.2

    Lanzamiento presentado distribución de linux Mint 19.2, la segunda actualización de la rama Linux Mint 19.x, basada en la base de paquetes Ubuntu 18.04 LTS y compatible hasta 2023. La distribución es totalmente compatible [...]

  • Hay nuevas versiones del servicio BIND disponibles que contienen correcciones de errores y mejoras de funciones. Las nuevas versiones se pueden descargar desde la página de descargas en el sitio web del desarrollador: […]

    Exim es un agente de transferencia de mensajes (MTA) desarrollado en la Universidad de Cambridge para su uso en sistemas unix conectado a Internet. Está disponible gratuitamente de acuerdo con [...]

    Después de casi dos años de desarrollo, se presenta el lanzamiento de ZFS en Linux 0.8.0, implementación sistema de archivos ZFS, empaquetado como un módulo para el kernel de Linux. El módulo ha sido probado con kernels de Linux desde 2.6.32 hasta […]

    El IETF (Internet Engineering Task Force), que desarrolla protocolos y arquitectura de Internet, ha completado un RFC para el protocolo ACME (Automatic Certificate Management Environment) […]

    La autoridad de certificación sin fines de lucro Let's Encrypt, controlada por la comunidad y que proporciona certificados de forma gratuita a todos, resumió los resultados del año pasado y habló sobre los planes para 2019. […]

    Una alternativa a trabajar con la base de datos a través de la consola es el entorno más intuitivo de cualquier cliente GUI. Por ejemplo, pgAdmin. Instalarlo es muy sencillo, lo realizamos con derechos de superusuario:

    sudo apt-get instalar pgadmin3
    Ahora puedes correr pgAdmin a través de interfaz gráfica. Seleccionamos de la lista el servidor de base de datos local (tiene el puerto por defecto 5432) y añadimos la base de datos que ya hemos creado con los parámetros que hemos especificado.
    pgAdmin

    En eso servidor local además del nodo Bases de datos También puedes encontrar un nodo llamado Roles de inicio de sesión- todos los roles disponibles.

    De todas las bases de datos disponibles, seleccionemos la que creamos con . La base de datos contiene muchos varios tipos objetos. Entre ellos, se debe prestar especial atención a las tablas y secuencias ( secuencias).

    Muy a menudo, una tabla normal contiene una clave principal en forma de valor numérico positivo. Para cada fila, este valor debe ser único, por lo que para no especificarlo directamente en la solicitud cada vez, puede establecer la secuencia como valor predeterminado.

    Primero, creemos una secuencia. Elegir Secuencias - Nueva secuencia. En la primera pestaña, ingrese un nombre y especifique como Dueño el rol que creamos. Esta secuencia no estará disponible para otros roles. En la segunda pestaña en los campos Incremento Y Comenzar ingrese uno a la vez (a menos que necesite algo más). En la última pestaña del cuadro de diálogo puede ver la consulta SQL resultante que se ejecutará en la base de datos.

    Una vez creada la secuencia, comencemos a crear la tabla. También indicamos su nombre y propietario. En la cuarta pestaña columnas En primer lugar, agregamos la clave principal. Botón Agregar, en la ventana que aparece, indique el nombre de la columna, por ejemplo, identificación. Para el tipo de datos seleccionamos Empezando. En la segunda pestaña Definición en el campo Valor por defecto Indicamos nuestra secuencia. El campo debe contener un valor como nextval("message_id_seq"::regclass). Es decir, cada vez que agregas nueva línea el siguiente valor se tomará de la secuencia. Se agregaron otras columnas según sea necesario. Finalmente, en la pestaña Restricciones agregar una restricción en la clave principal ( Clave primaria). En la última pestaña podemos admirar el código SQL resultante que generó pgAdmin. Después de hacer clic en Aceptar, se creará la tabla.

    En lugar de bigint como clave principal, puede especificarlo como tipo de columna gran serie. Este tipo aumenta automáticamente a medida que se agrega cada nueva fila, por lo que no es necesario crear una secuencia para ello. Es decir, en el caso más simple, si no tiene reglas especiales para generar una identificación de registro, podemos recomendarle el uso de bigserial.

    Veamos el contenido de nuestra tabla. Para hacer esto, haga clic derecho sobre él y seleccione Menú de contexto Ver datos - Ver 100 filas.

    En la misma ventana puedes editar rápidamente el valor de cualquier celda de la tabla. Si su tabla tiene más de 100 registros, cambie la cantidad de registros que se muestran en la lista desplegable en la parte superior de la ventana. Puede mostrar 100, 500, 1000 o todas las entradas. Pero esto no es más que una forma de ver rápidamente el contenido de la tabla y no debes acostumbrarte. Si tiene decenas de miles de registros en su tabla, no recomendaría mostrar todos los registros a la vez; en este caso, es mejor escribir una consulta utilizando parámetros límite Y compensar.

    postgres=# CREAR BASE DE DATOS test_database; CREAR BASE DE DATOS postgres=# CREAR USUARIO test_user CON contraseña "qwerty"; CREAR ROL postgres=# OTORGAR TODOS los privilegios EN LA BASE DE DATOS test_database A test_user; CONCEDER

    Para salir del shell, ingrese el comando \q.

    Ahora intentemos trabajar con la base de datos creada en nombre de test_user:

    Psql -h localhost base_datos_prueba usuario_prueba

    Creemos una nueva tabla:

    Test_database=> CREAR SECUENCIA user_ids; CREAR SECUENCIA test_database=> CREAR TABLA usuarios (id INTEGER PRIMARY KEY DEFAULT NEXTVAL("user_ids"), inicio de sesión CHAR(64), contraseña CHAR(64)); AVISO: CREAR TABLA/CLAVE PRIMARIA CREARÁ UN ÍNDICE implícito "users_pkey" PARA LA TABLA "usuarios" CREAR TABLA

    Eliminar un usuario

    Para eliminar un usuario, debe transferir sus derechos a otro y luego simplemente eliminar

    REASIGNAR PROPIEDAD DE doomed_role A Successor_role; GOTA PROPIEDAD DE doomed_role;

    — repite los comandos anteriores para cada base de datos en el clúster

    SOLTAR PAPEL doomed_role;

    Script de copia de seguridad de la tabla Postgres.

    #!/bin/bash DBNAMES="web"; USUARIO="postgres"; DB_NAME="web"; NEW_OWNER="usuario_remoto"; DATE_Y=`/bin/date "+%y"` DATE_M=`/bin/date "+%m"` DATE_D=`/bin/date "+%d"` SERVICE="pgdump" BACKUP_DIR="/var/ backup_db/20$(FECHA_Y)/$(FECHA_M)/$(FECHA_D)" mkdir -p $BACKUP_DIR; para tbl en `psql -qAt -c "seleccione nombre de tabla de pg_tables donde nombre de esquema = "público";" $(DB_NAME)` \ `psql -qAt -c "seleccione nombre_secuencia de esquema_información.secuencias donde esquema_secuencia = "público";" $(DB_NAME)` \ `psql -qAt -c "seleccione nombre_tabla de information_schema.views donde table_schema = "público";" $(DB_NAME)`; hacer echo "Exportando tabla $tbl desde db $(DB_NAME) al archivo tablas3/$tbl.backup" #pg_dump --format p --verbose --table public.$tbl $(DB_NAME) > $BACKUP_DIR/$tbl pg_dump - -formato p --verbose --table public.$tbl $(DB_NAME) | gzip > $BACKUP_DIR/$tbl #pg_dump -a -d -t public.$tbl $(DB_NAME) > tablas3/$tbl.sql hecho ###################BACKUP FUNCIONES POSTGRES # Volcamos la base de datos sin fecha para poder extraer más funciones pg_dump -Fc -s -f $BACKUP_DIR/db_dump $(DB_NAME) /bin/sleep 4; # Crear una función de lista pg_restore -l $BACKUP_DIR/db_dump | grep FUNCIÓN > $BACKUP_DIR/function_list ##Cómo restaurar funciones ########################## #pg_restore -h localhost -U nombre de usuario -d nombre_base de datos - L function_list db_dump #########################

    Script de copia de seguridad de la tabla Postgres. escrito en perl

    Ejecutar como usuario - postgres. Si está en coronas, también desde debajo del usuario de postgresql.

    #!/usr/bin/env perl uso estricto; utilizar advertencias; mi $nombre_base_datos = "biblioteca_libro"; mi $consulta =<<"EOT"; SELECT n.nspname as table_schema, c.relname as table_name FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE c.relkind IN ("r","") AND n.nspname NOT IN ("pg_catalog", "information_schema") AND n.nspname NOT LIKE "^pg_%" ; EOT $query =~ s/\n\s*/ /g; my @results = `echo "$query" | psql -At $database_name`; foreach (@results) { chomp; my ($schema, $table) = split /\|/, $_; next unless ($schema && $table); my $cmd = "pg_dump -U postgres -Fp -t $schema.$table -f $schema.$table.dump $database_name"; system($cmd); } #If you wanted to restore only a single function: ##pg_restore -U $username --dbname=$dbname --function=$functionname(args) #If you wanted to restore only a single table: ##pg_restore -U $username --dbname=$dbname --table=$tablename

    Diccionarios de búsqueda de texto completo en postgresql

    Copia de seguridad de la base de datos desde una máquina remota

    PGPASSWORD="CONTRASEÑA" pg_dump -h $NOMBREHOST -U usuario de base de datos -Fc --verbose "database.itc-life.ru" | gzip > nombre de base de datos.gz

    Copia de seguridad y restauración de tablas.

    EN PostgreSQL hay dos utilidades para respaldo pg_dump y pg_dumpall. pg_dump se usa para hacer una copia de seguridad de una base de datos, pg_dumpall se usa para hacer una copia de seguridad de todas las bases de datos y del servidor en su conjunto (debe ejecutarse bajo el superusuario postgresql).

    Crear una copia de seguridad de la base de datos mibd, en forma comprimida

    Pg_dump -h localhost -p 5432 -U algún usuario -F c -b -v -f mydb.backup mydb

    Crear una copia de seguridad de la base de datos mibd, como un archivo de texto plano, incluido el comando para crear la base de datos

    Pg_dump -h localhost -p 5432 -U algún usuario -C -F p -b -v -f mydb.backup mydb

    Crear una copia de seguridad de la base de datos mibd, en forma comprimida, con tablas que contienen en el nombre pagos

    Pg_dump -h localhost -p 5432 -U algún usuario -F c -b -v -t *pagos* -f tablas_pagos.backup mydb

    Vuelque datos de una sola tabla específica. Si necesita hacer una copia de seguridad de varias tablas, los nombres de estas tablas se enumeran usando la clave -t para cada mesa.

    Pg_dump -a -t nombre_tabla -f nombre_archivo nombre_base de datos

    Creación Copia de respaldo con compresión en gz

    pg_dump -h localhost -O -F p -c -U postgres mydb | gzip -c > mydb.gz

    Lista de opciones más utilizadas:

    H host - host, si no se especifica, se usa servidor local fantasma.

    Puerto P - puerto, si no se especifica, entonces se usa 5432 o valor de Variable ambiental PGPORT.

    U - usuario, si no se especifica, entonces se utiliza el usuario actual, el valor también se puede especificar en una variable de entorno PGUSER.

    A, --data-only: volca solo datos; de forma predeterminada, se guardan los datos y el esquema.

    B: incluir objetos grandes (blogs) en el volcado.

    S, --schema-only: volca solo el esquema.

    C, --create: agrega un comando para crear una base de datos.

    C: agrega comandos para eliminar (soltar) objetos (tablas, vistas, etc.).

    O: no agregue comandos para establecer el propietario de un objeto (tablas, vistas, etc.).

    F, --format (c|t|p) — formato de salida de volcado, personalizado, alquitrán, o Texto sin formato.

    T, --table=TABLE: especifica una tabla específica para el volcado.

    V, --verbose: genera información detallada.

    D, --attribute-inserts - volcar usando el comando INSERTAR con una lista de nombres de propiedades.

    Haga una copia de seguridad de todas las bases de datos utilizando el comando pg_dumpall.

    Pg_dumpall > todo.sql # comprobando copia de seguridad grep "^[\]conectar" all.sql \connect db1 \connect db2

    PostgreSQL tiene dos utilidades para recuperación bases de datos desde la copia de seguridad.

    • psql— restauración de copias de seguridad almacenadas en un archivo de texto sin formato;
    • pg_restore— restauración de copias de seguridad comprimidas (tar);

    Recuperación de bases de datos y

    #pg_restore -v -e -d nombrebd nombrebd.dump

    Restaurar una copia de seguridad completa ignorando los errores

    Psql -h localhost -U algún usuario -d nombrebd -f mydb.sql

    Restaurar una copia de seguridad completa, deteniéndose en el primer error

    psql -h localhost -U algún usuario --set ON_ERROR_STOP=on -f mydb.sql

    para restaurar desde alquitrán-archive, primero necesitamos crear una base de datos usando CREATE DATABASE mydb; (si no se especificó la opción -C al crear la copia de seguridad) y restaurar

    restauración de página --dbname=mydb --jobs=4 --verbose mydb.backup

    Restaurar una copia de seguridad de una base de datos comprimida gz

    Gunzip mydb.gz psql -U postgres -d mydb -f mydb

    A partir de la versión 9.2, solo puede restaurar la estructura de la tabla usando la opción --section

    # crear una base de datos CREAR BASE DE DATOS mydb2; # restaurar pg_restore --dbname=mydb2 --section=pre-data --jobs=4 mydb.backup

    Servicio de mesa

    mesa de ANÁLISIS DE VACÍO; REINDEXAR BASE DE DATOS nombrebd; REINDEXAR TABLA nombre de pestaña;

    Transferir el directorio de datos

    Descubra el camino actual

    # método 1 $ su - postgres $ psql psql > MOSTRAR directorio_datos; # método 2 $ ps hacha | grep "postgres-D"

    Creemos un nuevo directorio, asignemos un usuario e inicialicemos

    mkdir -p /ruta/postgresql/data chown -R postgres:postgres /ruta/postgresql su - postgres initdb -D /ruta/postgresql/data

    Ahora necesitamos editar el archivo con el servicio que se inicia. postgresql

    # en arch linux sudo vim /etc/systemd/system/multi-user.target.wants/postgresql.service Entorno =PGROOT=/pathto/postgresql/ PIDFile =/pathto/postgresql/data/postmaster.pid

    Limpiar una mesa

    Limpiar una mesa nombre de la tabla y restablecer el contador con ID.

    TRUNCAR TABLA nombre de tabla REINICIAR IDENTIDAD CASCADA;

    CASCADA necesario en caso nombre de la tabla vinculado a otra tabla.

    Eliminar NULL de un campo

    ALTER TABLE películas ALTER COLUMN año DROP NOT NULL;

    Ejecutando pgbouncer

    su -s /bin/sh - postgres -c "/usr/sbin/pgbouncer -d --verbose /etc/pgbouncer/pgbouncer.ini"

    Desconectar usuarios de la base de datos

    SELECCIONE pg_terminate_backend(pid) DESDE pg_stat_activity DONDE datname = "mydb";`

     


    Leer:



    Volúmenes y canales de RAM

    Volúmenes y canales de RAM

    La RAM se utiliza para almacenar temporalmente los datos necesarios para el funcionamiento del sistema operativo y de todos los programas. Memoria de acceso aleatorio...

    Cómo aumentar el volumen a través de aplicaciones

    Cómo aumentar el volumen a través de aplicaciones

    Instrucciones También puedes bajar el volumen usando el teclado usando sus teclas de función. En primer lugar, necesitas encontrar el botón, otro especial...

    Cifrado PGP: qué es y cómo utilizarlo

    Cifrado PGP: qué es y cómo utilizarlo

    La protección garantiza que sólo el destinatario de la información pueda utilizarla. Una vez en las manos equivocadas, será completamente inútil...

    Recuperar programas eliminados en tu computadora

    Recuperar programas eliminados en tu computadora

    Muy a menudo, los usuarios de computadoras personales se enfrentan a una situación en la que un determinado programa se desinstala debido a una infección con un virus o...

    imagen-feed RSS