Anteriormente hablamos sobre cómo instalar la base de datos PostgreSQL en Linux desde la fuente.
En este artículo, repasemos los 15 mejores ejemplos prácticos de comandos de DBA de postgreSQL .
Si es administrador de mySQL, consulte nuestro artículo de 15 ejemplos de comandos de mysqladmin que analizamos hace un tiempo.
1. ¿Cómo cambiar la contraseña de usuario raíz de PostgreSQL?
$ /usr/local/pgsql/bin/psql postgres postgres Password: (oldpassword) # ALTER USER postgres WITH PASSWORD 'tmppassword'; $ /usr/local/pgsql/bin/psql postgres postgres Password: (tmppassword)
Cambiar la contraseña de un usuario normal de postgres es similar a cambiar la contraseña del usuario root. El usuario raíz puede cambiar la contraseña de cualquier usuario, y los usuarios normales solo pueden cambiar sus contraseñas como lo hace Unix.
# ALTER USER username WITH PASSWORD 'tmppassword';
2. ¿Cómo configurar el script de inicio de PostgreSQL SysV?
$ 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. ¿Cómo verificar si el servidor PostgreSQL está funcionando?
$ /etc/init.d/postgresql status Password: pg_ctl: server is running (PID: 6171) /usr/local/pgsql/bin/postgres "-D" "/usr/local/pgsql/data" [Note: The status above indicates the server is up and running] $ /etc/init.d/postgresql status Password: pg_ctl: no server running [Note: The status above indicates the server is down]
4. ¿Cómo iniciar, detener y reiniciar la base de datos PostgreSQL?
# service postgresql stop Stopping PostgreSQL: server stopped ok # service postgresql start Starting PostgreSQL: ok # service postgresql restart Restarting PostgreSQL: server stopped ok
5. ¿Cómo puedo saber qué versión de PostgreSQL estoy ejecutando?
$ /usr/local/pgsql/bin/psql test Welcome to psql 8.3.7, the PostgreSQL interactive terminal. Type: \copyright for distribution terms \h for help with SQL commands \? for help with psql commands \g or terminate with semicolon to execute query \q to quit test=# select version(); version ---------------------------------------------------------------------------------------------------- PostgreSQL 8.3.7 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 4.1.2 20071124 (Red Hat 4.1.2-42) (1 row) test=#
5. ¿Cómo crear un usuario de PostgreSQL?
Hay dos métodos en los que puede crear un usuario.
Método 1: Creando el usuario en el indicador de PSQL, con el comando CREAR USUARIO.
# CREATE USER ramesh WITH password 'tmppassword'; CREATE ROLE
Método 2: Crear el usuario en el indicador de shell, con el comando createuser.
$ /usr/local/pgsql/bin/createuser sathiya Shall the new role be a superuser? (y/n) n Shall the new role be allowed to create databases? (y/n) n Shall the new role be allowed to create more new roles? (y/n) n CREATE ROLE
6. ¿Cómo crear una base de datos PostgreSQL?
Hay dos métodos en los que puede crear dos bases de datos.
Método 1: Creación de la base de datos en el indicador de PSQL, con el comando createuser.
# CREATE DATABASE mydb WITH OWNER ramesh; CREATE DATABASE
Método 2: Creando la base de datos en el indicador de shell, con el comando createdb.
$ /usr/local/pgsql/bin/createdb mydb -O ramesh CREATE DATABASE
* -O nombre del propietario es la opción en la línea de comando.
7. ¿Cómo obtengo una lista de bases de datos en una base de datos de Postgresql?
# \l [Note: This is backslash followed by lower-case L] List of databases Name | Owner | Encoding ----------+----------+---------- backup | postgres | UTF8 mydb | ramesh | UTF8 postgres | postgres | UTF8 template0 | postgres | UTF8 template1 | postgres | UTF8
8. ¿Cómo eliminar/eliminar una base de datos PostgreSQL existente?
# \l List of databases Name | Owner | Encoding ----------+----------+---------- backup | postgres | UTF8 mydb | ramesh | UTF8 postgres | postgres | UTF8 template0 | postgres | UTF8 template1 | postgres | UTF8 # DROP DATABASE mydb; DROP DATABASE
9. Obtener ayuda sobre los comandos de PostgreSQL
\? mostrará la ayuda del símbolo del sistema de PSQL. \h CREATE mostrará ayuda sobre todos los comandos que comienzan con CREATE, cuando desee algo específico, como ayuda para crear un índice, debe proporcionar CREATE INDEX.
# \? # \h CREATE # \h CREATE INDEX
10. ¿Cómo obtengo una lista de todas las tablas en una base de datos de Postgresql?
# \d
En una base de datos vacía, obtendrá "No se encontraron relaciones". mensaje para el comando anterior.
11. ¿Cómo activar el tiempo y comprobar cuánto tiempo tarda en ejecutarse una consulta?
# \timing — Después de esto, si ejecuta una consulta, mostrará cuánto tiempo tomó hacerlo.
# \timing Timing is on. # SELECT * from pg_catalog.pg_attribute ; Time: 9.583 ms
12. ¿Cómo hacer una copia de seguridad y restaurar la base de datos y la tabla de PostgreSQL?
Discutimos anteriormente cómo hacer una copia de seguridad y restaurar la base de datos y las tablas de Postgres usando la utilidad pg_dump y psql.
13. ¿Cómo ver la lista de funciones disponibles en PostgreSQL?
Para conocer más sobre las funciones, diga \df+
# \df # \df+
14. ¿Cómo editar consultas de PostgreSQL en su editor favorito?
# \e
\e abrirá el editor, donde puede editar las consultas y guardarlas. Al hacerlo, la consulta se ejecutará.
15. ¿Dónde puedo encontrar el archivo de historial de PostgreSQL?
Similar al archivo ~/.bash_history de Linux, postgreSQL almacena todo el comando sql que se ejecutó en un archivo de historial llamado ~/.psql_history como se muestra a continuación.
$ cat ~/.psql_history alter user postgres with password 'tmppassword'; \h alter user select version(); create user ramesh with password 'tmppassword'; \timing select * from pg_catalog.pg_attribute;