如何在Ubuntu 20.04上安装和使用PostgreSQL:一步步指南

如何在Ubuntu 20.04上安装和使用PostgreSQL:一步步指南

在Ubuntu 20.04上安装和使用PostgreSQL数据库包括几个明确的步骤:安装、配置、创建用户和数据库、以及基本的数据库操作。下面,我将详细解释每个步骤,并提供具体的命令行示例。

1. 安装PostgreSQL

首先,更新你的Ubuntu系统的包列表,以确保安装最新版本的软件包。

bash 复制代码
sudo apt update

然后,安装PostgreSQL及其附带的软件包。

bash 复制代码
sudo apt install postgresql postgresql-contrib

此命令将安装PostgreSQL数据库服务器以及一些额外的实用程序和功能扩展。

2. 检查PostgreSQL服务

安装完成后,默认情况下,PostgreSQL服务会自动启动。你可以使用以下命令来检查PostgreSQL服务的状态。

bash 复制代码
sudo systemctl status postgresql.service

这个命令会显示服务是否正在运行。

3. 切换到PostgreSQL用户

PostgreSQL安装完成后,会创建一个名为postgres的系统用户,用于管理数据库。要使用这个用户,需要切换到该用户:

bash 复制代码
sudo -i -u postgres

现在,你应该以postgres用户的身份登录,可以开始执行PostgreSQL命令。

4. 创建一个新的数据库用户和数据库

首先,你可以创建一个新的数据库用户。下面的命令创建一个名为example_user的新用户,并提示设置密码:

bash 复制代码
createuser --interactive --pwprompt

按照提示操作,例如:

  • 输入新角色的名字: example_user
  • 是否让新角色成为一个超级用户?n
  • 是否允许新角色创建数据库?y (如果需要的话)
  • 是否允许新角色创建更多新角色?n
  • 输入密码

接着,创建一个名为example_db的数据库,由example_user拥有:

bash 复制代码
createdb -O example_user example_db

5. 使用psql命令行工具

你可以使用psql命令行工具来管理你的数据库。要连接到你刚才创建的数据库:

bash 复制代码
psql -d example_db -U example_user

6. 创建表并执行一些基本的SQL操作

psql提示符下,你可以开始创建表并执行SQL查询。例如,创建一个简单的表:

sql 复制代码
CREATE TABLE employees (
    id SERIAL PRIMARY KEY,
    name VARCHAR(100),
    position VARCHAR(100),
    salary DECIMAL(10, 2)
);

然后,向表中插入数据:

sql 复制代码
INSERT INTO employees (name, position, salary) VALUES ('Alice', 'Manager', 85000.00);

查询表中的数据:

sql 复制代码
SELECT * FROM employees;

7. 退出psql

执行完你的数据库操作后,可以通过输入\q退出psql

8. 配置远程访问(可选)

如果你需要从其他机器远程访问PostgreSQL数据库,你需要修改postgresql.confpg_hba.conf文件。这些文件通常位于/etc/postgresql/12/main/(版本号可能不同)。

postgresql.conf中,找到listen_addresses行,并将其设置为你的服务器IP或'*'(允许从任何地址连接)。

pg_hba.conf中,添加一行来允许远程连接,例如:

conf 复制代码
host    all             all             0.0.0.0/0               md5

之后,重启PostgreSQL服务以应用更改:

bash 复制代码
sudo systemctl restart postgresql

总结

以上就是在Ubuntu 20.04上安装和基本使用PostgreSQL的步骤。根据你的具体需求,你可能还需要进行更多的配置和优化。

相关推荐
Shadow(⊙o⊙)8 小时前
进程间通信0.0-pipe()匿名管道,详细分析进程池调度队列执行逻辑,进程池模拟实现。
linux·运维·服务器·开发语言·c++
wait a minutes8 小时前
【Ubuntu】Ubuntu 20.04 升级到 24.04 完整指南
ubuntu
CQU_JIAKE8 小时前
6.6aaaaaa
linux·运维·服务器
Apibro8 小时前
【Linux】Qt Creator 中文输入法
linux·qt
smallswan9 小时前
第十四 算数运算
linux·服务器·前端
丑过三八线9 小时前
Umi 配置文件 .umirc.ts 详解
linux·运维·ubuntu·react.js
zh路西法9 小时前
【rosbridge-websocket】跨网络的ROS1与ROS2通讯法(上)
linux·网络·c++·python·websocket·网络协议
zincsweet9 小时前
Linux线程原理深度剖析:从CPU调度到pthread实现
linux·服务器
A_humble_scholar9 小时前
Linux(三)深入理解 Makefile:自动变量、增量编译原理与文件时间属性
linux·服务器·c++·makefile
思麟呀9 小时前
C++11并发编程:条件变量
java·linux·jvm·c++·windows