如何在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的步骤。根据你的具体需求,你可能还需要进行更多的配置和优化。

相关推荐
字节逆旅3 小时前
ubuntu应用深度守护
ubuntu
IvorySQL9 小时前
双星闪耀温哥华:IvorySQL 社区两项议题入选 PGConf.dev 2026
数据库·postgresql·开源
Johny_Zhao1 天前
OpenClaw安装部署教程
linux·人工智能·ai·云计算·系统运维·openclaw
赵渝强老师1 天前
【赵渝强老师】PostgreSQL中表的碎片
数据库·postgresql
chlk1233 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑3 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件3 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
深紫色的三北六号3 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash3 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI4 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github