GNU/Linux >> Tutoriales Linux >  >> Linux

Crear base de datos PostgreSQL sin privilegios de root

Puede ejecutar PostgreSQL sin privilegios de root creando una nueva instancia (que PostgreSQL llama un "clúster") e iniciándola.

No puede usar los scripts de inicio de Ubuntu, herramientas de envoltura como pg_ctlcluster , etc si haces esto. Debe utilizar únicamente las herramientas propias de PostgreSQL.

Para crear la nueva instancia de PostgreSQL con el superusuario igual a su nombre de usuario, el directorio de datos en su directorio de inicio y la autenticación md5 habilitada de manera predeterminada, use:

initdb -D $HOME/my_postgres -A md5 -U $USER

Ajuste como desee; ver initdb --help .

A continuación, deberá editar postgresql.conf para cambiar el port a uno no predeterminado, ya que su sistema probablemente ejecuta su propio postgres en el puerto predeterminado 5432. (Si desea limitar el acceso estrictamente a usted, puede configurar listen_addresses = '' y unix_socket_directories = /home/myuser/postgres_socket o lo que sea. Pero es más sencillo usar un puerto diferente).

Para iniciarlo:

pg_ctl -D $HOME/my_postgres -w start

Para conectarse a él, especifique el puerto que eligió:

psql -p 5434 ...

(Si cambiaste unix_socket_directories también querrá especificar la ruta que proporcionó, como -h /home/myuser/postgres_socket .)

Para hacer psql etc. conéctese a su postgres de forma predeterminada, edite su ~/.bashrc para agregar algo como

export PGPORT=5434

pero tenga en cuenta que eso también afectará el puerto predeterminado para las conexiones a otros hosts.

Para detenerlo:

pg_ctl -D $HOME/my_postgres -w stop

pero también puede simplemente apagarlo sin detenerlo, no le importa y se recuperará de manera segura cuando lo vuelva a iniciar.

Para iniciarlo automáticamente cuando inicia sesión cuando está configurado en su directorio de inicio, debe usar las funciones de ejecución en el inicio de su entorno de escritorio. Varían según el entorno y la versión, por lo que no puedo dar detalles aquí; es diferente para GNOME 3, Unity (ubuntu), KDE, XFCE, etc.

Tenga en cuenta que este enfoque todavía usa el sistema paquetes para PostgreSQL. Esto es importante porque si desinstala (digamos) PostgreSQL 9.4 e instala 9.6, su copia en su directorio principal dejará de funcionar. Si lo desea completamente independiente de los paquetes del sistema, como probablemente lo haga si no controla el sistema, debe compilar PostgreSQL desde el código fuente o usar el instalador binario para instalar dentro de su directorio de inicio.


Linux
  1. Cómo crear una base de datos en MySQL con MySQL Workbench

  2. Ubicación predeterminada de la base de datos PostgreSQL en Linux

  3. ssh a través de un enrutador sin reenvío de puertos

  4. ¿Cómo crear un usuario root adicional?

  5. ¿Leer/escribir en un puerto serie sin raíz?

Cómo crear una base de datos en PostgreSQL

Instalar PostgreSQL en Ubuntu 20.04

Cómo instalar PostgreSQL 14 en RHEL 8 Linux

¿Cómo crear una base de datos PostgreSQL?

Cómo crear una base de datos en MySQL

15 Comandos Prácticos de Administración de Bases de Datos PostgreSQL