Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 18

CONTENTS

Introducción
Requisitos previos
Paso 1: Instalar PostgreSQL
Paso 2: Crear un nuevo clúster de base de datos para PostgreSQL
Paso 3: Usar roles y bases de datos de PostgreSQL
Cambiar a la cuenta de postgres
Acceder a una línea de comandos de Postgres sin cambiar de cuenta
Paso 4: Crear un nuevo rol
Paso 5: Crear una nueva base de datos
Paso 6: Abrir una línea de comandos de Postgres con el nuevo rol
Paso 7: Crear y eliminar tablas
Paso 8: Agregar, consultar y eliminar datos en una tabla
Paso 9: Añadir y eliminar columnas de una tabla
Paso 10: Actualizar datos de una tabla
Conclusión
R E L AT E D

Cómo instalar MariaDB en Ubuntu 20.04


View
Cómo usar migraciones y alimentadores de bases de datos para abstraer la configuración de
bases de datos en Laravel
Viewsite uses cookies and related technologies, as described in our privacy
This MANAGE CHOICES
policy, for purposes that may include site operation, analytics, enhanced user
policy,
experience, or advertising. You may choose to consent to our use of these
technologies, or manage your own preferences. AGREE & PROCEED
// Tutorial //

Cómo instalar y usar PostgreSQL en CentOS 8

Published on May 7, 2020


Databases PostgreSQL CentOS 8

By Mark Drake and Vadym Kalsin Español

Introducción

Los sistemas de administración de bases de datos relacionales son un componente clave de una
gran cantidad de aplicaciones y sitios web. Proporcionan una alternativa estructurada para
almacenar la información, organizarla y acceder a ella.
PostgreSQL, también conocido como Postgres, es un sistema de administración de bases de
datos relacionales que proporciona una implementación del Structured Query Language, más
conocido como SQL. Se utiliza en muchos proyectos populares, grandes y pequeños, cumple con
los estándares y tiene muchas funciones avanzadas, como transacciones fiables y concurrencias
sin bloqueos de lectura.
Siguiendo esta guía, instalará la última versión de PostgreSQL en un servidor CentOS 8.
Requisitos previos
This site uses cookies and related technologies, as described in our privacy MANAGE CHOICES
policy,, for purposes that may include site operation, analytics, enhanced user
policy
Para completar
experience, este tutorial,
or advertising. You maynecesitará un servidor
choose to consent to ourcon
useCentOS
of these 8. Este servidor debería tener un
technologies,
usuario no rootor manage your own preferences.
con privilegios administrativos y un firewall configurado con firewalld . Para
AGREE & PROCEED
configurarlo, consulte nuestra Guía de configuración inicial de servidores para CentOS 8.
Paso 1: Instalar PostgreSQL

PostgreSQL está disponible en el repositorio predeterminado de software AppStream de CentOS


8 y hay varias versiones que puede instalar. Puede elegir entre estas versiones habilitando la
colección adecuada de paquetes y dependencias que se ajusten a la versión que desee instalar, y
cada colección se denomina module stream.
En DNF, el administrador de paquetes predeterminado de CentOS 8, los módulos son colecciones
especiales de paquetes RPM que juntas forman una aplicación más grande. Esto está diseñado
para hacer que la instalación de paquetes y sus dependencias sea más intuitiva para los usuarios.
Enumere los flujos disponibles del módulo postgresql usando el comando dnf :
$ dnf module list postgresql
Copy

Output
postgresql 9.6 client, server [d]
postgresql 10 [d] client, server [d]
postgresql 12 client, server

Puede ver en este resultado que hay tres versiones de PostgreSQL disponibles desde el
repositorio AppStream: 9.6 , 10 y 12 . El flujo que proporciona la versión 10 de Postgres es el
predeterminado, como se indica mediante la [d] que la sigue. Si desea instalar esa versión, podría
ejecutar sudo dnf install postgresql-server y proceder con el siguiente paso. Sin embargo,
aunque la versión 10 todavía se mantiene, este tutorial instalará la versión 12, la última versión en
el momento en que se redactó este artículo.
Para instalar la versión 12 de PostgreSQL, debe habilitar el flujo de módulo de esa versión. Cuando
habilite un flujo de módulos, anule el flujo predeterminado y haga que todos los paquetes
relacionados con el flujo habilitado estén disponibles en el sistema. Observe que solo puede
habilitarse un flujo de cualquier módulo concreto que pueda habilitarse en un sistema al mismo
tiempo.
Para habilitar el flujo de módulo para Postgres versión 12, ejecute el siguiente comando:
$ sudo dnf module enable postgresql:12
Copy
Cuando se le solicite, pulse y y luego INTRO para confirmar que desea habilitar el flujo:
Output
This====================================================================

site uses cookies and related technologies, as described in our privacy MANAGE CHOICES
policy,Package
policy , for purposes that may include site
Architecture operation, analytics,
Version enhanced userSize

Repository
experience, or advertising. You may choose to consent to our use of these
technologies, or manage your own preferences.
====================================================================

Enabling module streams:


AGREE & PROCEED
postgresql 12

Transaction Summary

====================================================================

Is this ok [y/N]: y

Tras habilitar el flujo de módulo de la versión 12, puede instalar el paquete postgresql-server para
instalar PostgresSQL 12 y todas sus dependencias:
$ sudo dnf install postgresql-server
Copy
Cuando se le indique, confirme la instalación pulsando y y luego INTRO :
Output
. . .

Install 4 Packages

Total download size: 16 M

Installed size: 62 M

Is this ok [y/N]: y

Ahora que el software está instalado, realizará algunos pasos de inicialización para preparar un
nuevo clúster de base de datos para PostgreSQL.
Paso 2: Crear un nuevo clúster de base de datos para

PostgreSQL

Debe crear un nuevo clúster de base de datos para PostgreSQL database cluster antes de
comenzar a crear tablas y cargarlas con datos. Un clúster de base de datos es una colección de
bases de datos administradas por una única instanacia de servidor. Crear un clúster de base de
datos consiste en crear los directorios en los cuales se dispondrán los datos de la base de datos,
generar las tablas de catálogo compartido y crear las bases de datos template1 y postgres .
La base de datos template1 es una plantilla usada para crear nuevas bases de datos; todo lo que
se almacene en template1 , incluso los objetos que añada, se colocarán en las nuevas bases de
datos cuando se creen. La base de datos postgres es una base de datos predeterminada
diseñada para que la empleen usuarios, utilidades y aplicaciones externas.
El paquete Postgres que instalamos en el paso anterior cuenta con una secuencia de comandos
llamada postgresql-setup que ayuda con la administración de clúster de base de datos de nivel
bajo. Para crear un clúster de la base de datos, ejecute la secuencia de comandos usando sudo y
con la opción --initdb :
This$sitesudo
usespostgresql-setup
cookies and related--initdb

technologies, as described in our privacy MANAGE CHOICES


Copy
policy,, for purposes
policy that may include site operation, analytics, enhanced user
experience, or advertising. You may choose to consent to our use of these
technologies, or manage your own preferences.
Verá lo siguiente: AGREE & PROCEED
Output
* Initializing database in '/var/lib/pgsql/data'

* Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log

Ahora inicie el servicio PostgreSQL usando systemctl :


$ sudo systemctl start postgresql
Copy
A continuación, utilice systemctl una vez más para permitir que el servicio se inicie cada vez que
se inicie el servidor:
$ sudo systemctl enable postgresql
Copy
Esto generará el siguiente resultado:
Output
Created symlink /etc/systemd/system/multi-user.target.wants/postgresql.service → /usr/lib/syste

Ahora que PostgreSQL está activo y en ejecución, continuaremos usando roles para aprender
cómo funciona Postgres y cómo es diferente de los sistemas de gestión de base de datos
similares que pueda haber usados en el pasado.
Paso 3: Usar roles y bases de datos de PostgreSQL

PostgreSQL utiliza un concepto llamado roles para gestionar la autenticación y la autorización de


los clientes. Estos son, en algunos aspectos, parecidos a las cuentas normales de estilo Unix, pero
Postgres no distingue entre los usuarios y los grupos, y en su lugar prefiere el término más flexible
de “rol”.
Tras la instalación, Postgres se configura para usar la autenticación ident. Esto significa que
asocia los roles de Postgres con una cuenta de sistema Unix o Linux correspondiente. Si existe un
rol dentro de Postgres, un nombre de usuario de Unix o Linux con el mismo nombre puede iniciar
sesión ocupando ese rol.
El procedimiento de instalación creó una cuenta de usuario llamada postgres, que se asocia con
el rol predeterminado de Postgres . Para usar PostgresSQL, puede iniciar sesión en esa cuenta.
Existen varias formas de usar esta cuenta para acceder a la solicitud de PostgresSQL.
Cambiar a la cuenta de postgres

Cambie a la cuenta de postgres en su servidor escribiendo lo siguiente:


This site uses cookies and related technologies, as described in our privacy MANAGE CHOICES
policy,, for purposes that may include site operation, analytics, enhanced user
policy
experience,
$ sudo or -iadvertising.
-u postgres
You may choose to consent to our use of these Copy
technologies, or manage your own preferences. AGREE & PROCEED
Ahora podrá acceder de inmediato a una linea de comandos de Postgres escribiendo lo siguiente:
[postgres@server ~$] psql
Copy
Esto le permitirá acceder a la línea de comandos de PostgreSQL y desde esta podrá interactuar
de inmediato con el sistema de administración de bases de datos.
Salga de la línea de comandos de PostgreSQL escribiendo lo siguiente:
postgres=# \q
Copy
Con esto regresará a la línea de comandos de Linux de la cuenta postgres. Ahora, vuelva a su
Getcuenta original
alerted when conarelo siguiente:
assets down, slow, or vulnerable to SSL attacks—all free We're Blog Docs Get Sales
for a month. Learn more -> hiring Support
[postgres@server ~$] exit
Copy
Acceder a una línea de comandos de Postgres sin cambiar de cuenta

También Questions
Tutorials puede ejecutarTech
comandos
Talks conLearning Pathspostgres
la cuenta directamente
Product usando
Docs Social sudo .
Impact
Por ejemplo, en el ejemplo anterior se le indicó acceder a la línea de comandos de Postgres
pasando primero al usuario de postgres y luego ejecutando psql para abrir la línea de comandos
de Postgres. Como alternativa, puede realizarlo en un solo paso ejecutando el comando único
psql como usuario de postgres con sudo , como se muestra:

$ sudo -u postgres psql


Copy
Esto le permitirá iniciar sesión de forma directa en Postgres sin el shell bash intermediario.
De nuevo, puede salir de la sesión interactiva de Postgres escribiendo lo siguiente:
postgres=# \q
Copy
En este paso, ha usado la cuenta postgres para llegar a la línea de comandos psql . Pero muchos
casos de uso se requiere más de un rol de Postgres. Continúe leyendo para saber como configurar
nuevos roles.
Paso 4: Crear un nuevo rol

En este momento, solo tiene el rol de postgres configurado dentro de la base de datos. Puede
crear nuevos roles desde la línea de comandos con el comando createrole . El indicador --
interactive le solicitará el nombre del nuevo rol y también le preguntará si debería tener permisos
This site uses cookies and related technologies, as described in our privacy
de superusuario. MANAGE CHOICES
policy,
policy, for purposes that may include site operation, analytics, enhanced user
experience,
Si inició or advertising.
sesión a través You
de may
la choosedeto postgres
cuenta consent to,our use ofcrear
puede theseun nuevo usuario escribiendo lo
technologies, or manage your own preferences. AGREE & PROCEED
siguiente:
[postgres@server ~$] createuser --interactive
Copy
Si, como alternativa, prefiere usar sudo para cada comando sin dejar de usar su cuenta normal,
escriba lo siguiente:
$ sudo -u postgres createuser --interactive
Copy
La secuencia de comandos le mostrará algunas opciones y, según sus respuestas, ejecutará los
comandos necesarios de Postgres para crear un usuario conforme a sus especificaciones. Para
este tutorial, cree un rol llamado sammy y concédale privilegios de súper usuario introduciendo y
cuando se le indique:
Output
Enter name of role to add: sammy

Shall the new role be a superuser? (y/n) y

Puede obtener un mayor control pasando algunos indicadores adicionales. Consulte las opciones
visitando la página man para createuser :
$ man createuser
Copy
Ahora su instalación de Postgres tiene un rol nuevo, pero aún no agregó bases de datos. En la
sección siguiente se describe este proceso.
Paso 5: Crear una nueva base de datos

Otra suposición que el sistema de autenticación de Postgres realiza por defecto es que para
cualquier rol utilizado en el inicio de sesión habrá una base de datos con el mismo nombre al que
este podrá acceder.
Esto significa que, si el usuario que creó en la última sección se llama sammy, ese rol intentará
conectarse con una base de datos que por defecto también se llama “ sammy ”. Puede crear dicha
base de datos con el comando createdb .
Si inició sesión a través de la cuenta de postgres, escribiría algo similar a lo siguiente:
[postgres@server ~$] createdb sammy
Copy
Si, como alternativa, prefiere utilizar sudo para cada comando sin dejar de emplear su cuenta
normal, escribiría lo siguiente:
This$sitesudo
uses-ucookies and createdb
postgres related technologies,
sammy
as described in our privacy MANAGE CHOICESCopy
policy,, for purposes that may include site operation, analytics, enhanced user
policy
experience, or advertising. You may choose to consent to our use of these
Esta flexibilidad
technologies, ofreceyourvarias
or manage vías para crear bases de datos cuando sea necesario.
own preferences. AGREE & PROCEED
Ahora que creó una nueva base de datos, iniciará sesión en ella con su nuevo rol.
Paso 6: Abrir una línea de comandos de Postgres con el

nuevo rol

Para iniciar sesión con la autenticación basada en ident, necesitará un usuario de Linux con el
mismo nombre de su rol y su base de datos de Postgres.
Si no tiene un usuario disponible de Linux que coincida, puede crear uno con el comando adduser .
Deberá hacerlo desde su cuenta no root con privilegios sudo (es decir, sin iniciar sesión como
usuario de postgres):
$ sudo adduser sammy
Copy
Una vez que esté disponible esta cuenta nueva, podrá cambiar y conectarse a la base de datos
escribiendo primero lo siguiente:
$ sudo -i -u sammy
Copy
$ psql

También podrá hacerlo de forma directa:


$ sudo -u sammy psql
Copy
Este comando hará que inicie sesión automáticamente.
Si desea que su usuario se conecte a una base de datos diferente, puede hacerlo incluyendo el
indicador -d y especificando la base de datos, de esta forma:
[sammy@server ~$] psql -d postgres
Copy
Una vez iniciada sesión, puede verificar la información de su conexión actual escribiendo lo
siguiente:
sammy=# \conninfo
Copy
Esto mostrará el siguiente resultado:
Output
You are connected to database " sammy " as user " sammy " via socket in "/var/run/postgresql" at p

This site uses cookies and related technologies, as described in our privacy MANAGE CHOICES
policy,
policy, for purposes
Esto resultará that may include
útil si se You
conecta site operation, analytics,
a basesto consent
de datosto no enhanced user
predeterminadas o con usuarios no
experience, or advertising.
predeterminados. may choose our use of these
technologies, or manage your own preferences. AGREE & PROCEED
Al haber conectado con su base de datos, ahora puede intentar crear y eliminar tablas.
Paso 7: Crear y eliminar tablas

Ahora que sabe cómo conectarse al sistema de bases de datos de PostgreSQL, puede aprender
algunas tareas básicas de administración de Postgres.
Primero, cree una tabla para almacenar datos. A modo de ejemplo, creará una tabla en la que se
describan algunos equipos para áreas recreativas.
La sintaxis básica de este comando es la siguiente:
CREATE TABLE table_name (

column_name1 col_type ( field_length ) column_constraints ,

column_name2 col_type ( field_length ),

column_name3 col_type ( field_length )

);

Con estos comandos se asigna un nombre a la tabla y luego se definen las columnas, el tipo de
columna y la extensión máxima de los datos de campo. De manera opcional, también puede añadir
restricciones de tabla para cada columna.
Para fines demostrativos, cree una tabla sencilla como la siguiente:
sammy=# CREATE TABLE playground (
Copy
sammy=# equip_id serial PRIMARY KEY,

sammy=# type varchar (50) NOT NULL,

sammy=# color varchar (25) NOT NULL,

sammy=# location varchar(25) check (location in ('north', 'south', 'west', 'east', 'northe
sammy=# install_date date

sammy=# );

Este comando creará una tabla que realiza un inventario de equipos para áreas recreativas.
Comienza con el ID de un equipo, que es del tipo serial . Este tipo de dato es un número entero
que se incrementa de forma automática. También asignó a esta columna la restricción de PRIMARY
KEY , lo cual significa que los valores deben ser únicos y no nulos.

Para dos de las columnas ( equip_id e install_date ), el comando no especifica una extensión de
campo. Esto se debe a que algunos tipos de columna no requieren una extensión específica
porque la extensión está implícita en el tipo.
Las siguientes dos líneas crean columnas para type y color del equipo respectivamente. Estas no
pueden estar vacías. La línea tras estas crea una columna location y una restricción según la cual
el valor debe ser uno de los ocho posibles. La última línea crea una columna de fecha en la cual se
registra
This la fecha
site uses cookiesenand
la que usted
related instaló elasequipo.
technologies, described in our privacy MANAGE CHOICES
policy,, for purposes that may include site operation, analytics, enhanced user
policy
Puede verorsuadvertising.
experience, tabla nueva Youescribiendo
may choose toloconsent
siguiente:
to our use of these
technologies, or manage your own preferences. AGREE & PROCEED
sammy=# \d

Copy
Esto mostrará el siguiente resultado:
Output
List of relations

Schema | Name | Type | Owner

--------+-------------------------+----------+-------

public | playground | table | sammy

public | playground_equip_id_seq | sequence | sammy

(2 rows)

Su tabla de áreas de recreación se encuentra aquí, pero también existe algo llamado
playground_equip_id_seq que responde al tipo sequence . Esto es una representación del tipo
serial que usted atribuyó a su columna de equip_id . Esto realiza un seguimiento del número que
sigue en la secuencia y se genera de forma automática para columnas de este tipo.
Si desea ver solo la tabla sin la secuencia, puede escribir lo siguiente:
sammy=# \dt
Copy
Obtendrá el siguiente resultado:
Output
List of relations

Schema | Name | Type | Owner

--------+------------+-------+-------

public | playground | table | sammy

(1 row)

En este paso, creó una tabla de ejemplo. En el siguiente paso, intentará añadir, consultar y eliminar
entradas en esa tabla.
Paso 8: Agregar, consultar y eliminar datos en una tabla

Ahora que dispone de una tabla, puede insertar datos en ella.


A modo de ejemplo, agregue un tobogán y un columpio invocando la tabla en la que desea realizar
la adición, nombre las columnas y luego proporcione datos para cada una de ellas, como se
muestra:
sammy=# INSERT INTO playground (type, color, location, install_date) VALUES ('slide', 'blue', Copy
sammy=# INSERT INTO playground (type, color, location, install_date) VALUES ('swing', 'yellow'

This site uses cookies and related technologies, as described in our privacy MANAGE CHOICES
policy,
policy, for purposes
Debe teneror cuidadothat may include
al ingresar site operation,
los datos analytics,
para evitar enhanced user
experience, advertising. You may choose to consent to ouralgunos errores comunes. Para empezar, no
use of these
escriba los ornombres
technologies, manage de yourlasowncolumnas entre comillas. Estás sí se necesitarán para
preferences. los& PROCEED
AGREE valores de la
columna que ingresó.
Otro aspecto que debe tener en cuenta es no ingresar un valor para la columna equip_id . Esto es
porque se genera automáticamente siempre que se cree una nueva fila en la tabla.
Recupere la información que agregó escribiendo lo siguiente:
sammy=# SELECT * FROM playground;
Copy
Verá lo siguiente:
Output
equip_id | type | color | location | install_date

----------+-------+--------+-----------+--------------

1 | slide | blue | south | 2017-04-28

2 | swing | yellow | northwest | 2018-08-16

(2 rows)

Aquí, puede ver que su equip_id se completó con éxito y que todos sus otros datos se
organizaron de forma correcta.
Si el tobogán del área de recreación se daña y tiene que eliminarlo, también puede eliminar la fila
de su tabla escribiendo lo siguiente:
sammy=# DELETE FROM playground WHERE type = 'slide';
Copy
Consulte la tabla de nuevo:
sammy=# SELECT * FROM playground;
Copy
Verá lo siguiente:
Output
equip_id | type | color | location | install_date

----------+-------+--------+-----------+--------------

2 | swing | yellow | northwest | 2018-08-16

(1 row)

Observará que su tobogán ya no se encuentra en la tabla.


Ahora que ha añadido y eliminado entradas en su tabla, puede intentar añadir y eliminar columnas.
Paso 9: Añadir y eliminar columnas de una tabla

This
Trassite usesuna
cookies andpuede
relatedmodificarla
technologies,para
as described in our privacy
, crear tabla, añadir
analytics,o eliminar
enhancedcolumnas. Agregue una columna
MANAGE CHOICES
policy,
policy for purposes that may include site operation, user
para mostrar
experience, la última
or advertising. visita
You mayde mantenimiento
choose
technologies, or manage your own preferences.
to consentpor cada
to our useequipo
of theseescribiendo lo siguiente:
AGREE & PROCEED
sammy=# ALTER TABLE playground ADD last_maint date;

Copy
Si vuelve a visualizar la información de su tabla, observará que se agregó la nueva columna (pero
no se ingresaron datos):
sammy=# SELECT * FROM playground;
Copy
Verá lo siguiente:
Output
equip_id | type | color | location | install_date | last_maint

----------+-------+--------+-----------+--------------+------------

2 | swing | yellow | northwest | 2018-08-16 |

(1 row)

Eliminar una columna es igual de sencillo. Si determina que su equipo de trabajo utiliza una
herramienta separada para dar seguimiento al historial de mantenimiento, puede eliminar la
columna escribiendo lo siguiente:
sammy=# ALTER TABLE playground DROP last_maint;
Copy
Con esto, se eliminan la columna last_maint y los valores que se encuentren en ella, pero deja
intactos todos los demás datos.
Tras añadir y eliminar columnas, puede intentar actualizar los datos existentes en el paso final.
Paso 10: Actualizar datos de una tabla

Hasta ahora, a través de este tutorial aprendió a agregar registros a una tabla y a eliminarlos de
ella, pero aún no se abordó la forma de modificar los registros existentes.
Puede actualizar los valores de una entrada existente buscando el registro que desee y fijando el
valor que prefiera utilizar para la columna. Puede consultar el registro “ columpio ” (coincidirá con
cada columpio de su tabla) y cambiar el color a “ rojo ”.
sammy=# UPDATE playground SET color = 'red' WHERE type = 'swing';
Copy
Puede verificar la eficacia de la operación consultando los datos de nuevo:
sammy=# SELECT * FROM playground;
Copy
Verá lo siguiente:
This site uses cookies and related technologies, as described in our privacy MANAGE CHOICES
policy,
policy, for purposes that may include site operation, analytics, enhanced user
experience,
Output
or advertising. You may choose to consent to our use of these
technologies, or| manage
equip_id type |your own| preferences.
color location | install_date
AGREE & PROCEED
----------+-------+-------+-----------+--------------

2 | swing | red | northwest | 2010-08-16

(1 row)

Como puede ver, ahora el color registrado de su tobogán será el rojo .


Conclusión

Ahora está listo con PostgresSQL en su servidor CentOS 8. Sin embargo, aún queda mucho más
por aprender con Postgres. A continuación, se ofrecen algunas guías más en las que se abarca el
uso de Postgres:
Comparación de los sistemas de administración de bases de datos relacionales
Aprenda a ejecutar consultas en PostgreSQL

Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share
knowledge in our Questions & Answers section, find tutorials and tools that will help you
grow as a developer and scale your project or business, and subscribe to topics of interest.
Sign up ->

About the authors

Mark Drake Author


Manager, Developer Education
Technical Writer @ DigitalOcean

Vadym Kalsin Author


This site uses cookiesDeveloper
and related and authorasatdescribed
technologies, DigitalOcean.
in our privacy MANAGE CHOICES
policy, for purposes that may include site operation, analytics, enhanced user
policy,
experience, or advertising. You may choose to consent to our use of these
technologies, or manage your own preferences. AGREE & PROCEED
Still looking for an answer?

Ask a question Search for more help

Was this helpful? Yes No

Comments
Leave a comment

Leave a comment...

This textbox defaults to using Markdown to format your answer.


You can type !ref in this text area to quickly search our full set of tutorials, documentation &
marketplace offerings and insert the link!
Sign In or Sign Up to Comment

This work is licensed under a Creative Commons Attribution-NonCommercial- ShareAlike 4.0 International
License.
This site uses cookies and related technologies, as described in our privacy MANAGE CHOICES
policy,, for purposes that may include site operation, analytics, enhanced user
policy
experience, or advertising. You may choose to consent to our use of these
technologies, or manage your own preferences. AGREE & PROCEED
Popular Topics

Ubuntu
Linux Basics
JavaScript
React
Python
Security
Apache
MySQL
Databases
Docker
Kubernetes
Ebooks
Browse all topic tags
All tutorials ->

Questions

Q&A
Ask a question
DigitalOcean Product Docs
DigitalOcean Support
Events

Tech Talks
Hacktoberfest
Deploy
Get involved

Community Newsletter
Hollie's Hub for Good
Write for DOnations
This site uses cookies
Community andintegrations
toolsthat
and related technologies, as described in our privacy MANAGE CHOICES
policy,
policy, for purposes may include site operation, analytics, enhanced user
Hatch Startup
experience, program
or advertising. You may choose to consent to our use of these
technologies, or manage your own preferences. AGREE & PROCEED
Congratulations on unlocking the whale ambience easter egg! Click the whale button in the
bottom left of your screen to toggle some ambient whale noises while you read.
Thank you to the Glacier Bay National Park & Preserve and Merrick079 for the sounds behind
this easter egg.
Interested in whales, protecting them, and their connection to helping prevent climate change?
We recommend checking out the Whale and Dolphin Conservation.
Reset easter egg to be discovered again / Permanently dismiss and hide easter egg

GET OUR BIWEEKLY NEWSLETTER


Sign up for Infrastructure as a
Newsletter.

HOLLIE'S HUB FOR GOOD


Working on improving health and
education, reducing inequality,
and spurring economic growth?
We'd like to help.

This site uses cookies and related technologies, as described in our privacy MANAGE CHOICES
policy,, for purposes that may include site operation, analytics, enhanced user
policy
experience, or advertising. You may choose to consent to our use of these
technologies, or manage your own preferences. AGREE & PROCEED
BECOME A CONTRIBUTOR
You get paid; we donate to tech
nonprofits.

Featured on Community Kubernetes Course Learn Python 3 Machine Learning in Python Getting started with Go
Intro to Kubernetes
DigitalOcean Products Virtual Machines Managed Databases Managed Kubernetes Block Storage
Object Storage Marketplace VPC Load Balancers

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the


cloud and scale up as you grow – whether you’re
running one virtual machine or ten thousand.
Learn More

Company Products Community Solutions Contact


About Products Tutorials Website Hosting Support
Leadership Overview Q&A VPS Hosting Sales
Blog Droplets CSS-Tricks Web & Mobile Report Abuse
Careers Kubernetes Write for Apps System Status
Customers App Platform DOnations Game Share your ideas
Functions Currents Research Development
ThisPartners
site uses cookies andManaged
related technologies, Hatch
as described
Startup Streaming
in our privacy MANAGE CHOICES
Referral
policy,
policy Program that may
, for purposes include site operation,
Databases analytics, enhancedVPNuser
Program
experience,
Press or advertising. You may choose to consent to our use of these
technologies, or manage yourSpacesown preferences. deploy by SaaS Platforms AGREE & PROCEED
Legal DigitalOcean
Trust Platform Marketplace Shop Swag Cloud Hosting for
Investor Relations Load Balancers Research Program Blockchain
DO Impact Block Storage Open Source
Tools & Code of Conduct
Integrations Newsletter Signup
API Meetups
Pricing
Documentation
Release Notes
Uptime

© 2022 DigitalOcean, LLC. All rights


reserved.

This site uses cookies and related technologies, as described in our privacy MANAGE CHOICES
policy,, for purposes that may include site operation, analytics, enhanced user
policy
experience, or advertising. You may choose to consent to our use of these
technologies, or manage your own preferences. AGREE & PROCEED

También podría gustarte