Linux系统部署Postgres数据库(ubuntu22.04)

步骤 1: 更新系统

首先,确保你的系统是最新的。打开终端并运行以下命令:

复制代码
sudo apt update
sudo apt upgrade

步骤 2: 安装运行 PostgreSQL

在Ubuntu 22.04中,你可以通过APT包管理器安装PostgreSQL。运行以下命令来安装最新版本的PostgreSQL:

复制代码
sudo apt install postgresql postgresql-contrib
复制代码
查看版本
复制代码
sudo -u postgres psql -c "SELECT version();"

:q退出

查看运行状态

复制代码
sudo service postgresql status;

安装完成后,PostgreSQL服务默认启动,如果没有启动可以使用如下命令启动:

sudo systemctl start postgresql

设置PostgreSQL服务在系统启动时自动启动:

复制代码
systemctl enable postgresql

步骤 3: 配置远程访问

如果你需要从远程客户端访问PostgreSQL数据库,你需要修改PostgreSQL的配置文件以允许远程连接。编辑postgresql.conf文件:

复制代码
vim /etc/postgresql/14/main/postgresql.conf

找到第60行并修改以下行:

#listen_addresses = 'localhost' # 将此行取消注释并修改为:

listen_addresses = '*' # 允许所有地址连接或指定一个IP地址,例如 '192.168.1.100'

然后,编辑pg_hba.conf文件以允许密码认证的远程连接:

复制代码
vim /etc/postgresql/14/main/pg_hba.conf 

文件最后添加以下行以允许远程连接:

复制代码
host all all 0.0.0.0/0 md5

重新加载PostgreSQL配置:

复制代码
sudo systemctl reload postgresql;
sudo service postgresql restart;

步骤 4: 创建数据库和用户(可选)

PostgreSQL在Ubuntu中默认使用postgres用户运行。为了安全起见,你应该切换到这个用户来进行后续操作:

复制代码
sudo -i -u postgres

postgres用户下,你可以创建数据库和用户。首先,进入PostgreSQL命令行界面:

复制代码
psql

然后,创建一个新的数据库和用户。例如,创建一个名为mydatabase的数据库和一个名为myuser的用户:

复制代码
CREATE DATABASE postgresdb1;
CREATE USER postgres1 WITH ENCRYPTED PASSWORD 'postgres1';
ALTER ROLE postgres1 SET client_encoding TO 'utf8';
ALTER ROLE postgres1 SET default_transaction_isolation TO 'read committed';
ALTER ROLE postgres1 SET timezone TO 'UTC';
GRANT ALL PRIVILEGES ON DATABASE postgresdb1 TO postgres1;
ALTER USER postgres1 WITH SUPERUSER;

完成数据库和用户的创建后,你可以通过以下命令退出psql和postgres用户:

退出 postgres 用户

复制代码
exit

步骤 5: 测试连接

你可以使用psql命令从远程客户端测试连接:

复制代码
psql -h 127.0.0.1 -U postgres1 -d postgresdb1 -W

# 根据实际情况替换数据库连接参数。系统会提示你输入密码。

也可通过pgadmin或者navicat连接

参考:

【ubuntu22.04安装配置PostgreSQL】_ubuntu安装postgresql-CSDN博客

相关推荐
大树881 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠1 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质1 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush41 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5201 天前
Linux 11 动态监控指令top
linux
Inhand陈工1 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智1 天前
ARP代理--工作原理
运维·网络·arp·arp代理
麦聪聊数据1 天前
数据服务化时代:企业数据能力输出的核心路径
数据库
不会C语言的男孩1 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言
shushangyun_1 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化