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博客

相关推荐
2301_782040454 分钟前
JavaScript中丢失的this:回调函数中指向改变的对策
jvm·数据库·python
2301_818008445 分钟前
MySQL从库出现数据同步异常中断_重新获取binlog坐标同步
jvm·数据库·python
四维迁跃6 分钟前
MySQL如何优雅处理数据库连接池耗尽_HikariCP与连接数调优
jvm·数据库·python
X566120 分钟前
Go语言如何做Helm Chart_Go语言Helm打包部署教程【收藏】
jvm·数据库·python
szccyw022 分钟前
如何阻止 HTML 页面在 JavaScript 执行完成前渲染
jvm·数据库·python
1.14(java)23 分钟前
Spring事务和事务传播机制
java·数据库·spring
forEverPlume23 分钟前
Go语言怎么做链路追踪_Go语言分布式链路追踪教程【精选】
jvm·数据库·python
abc123456sdggfd27 分钟前
golang如何操作Elasticsearch搜索引擎_golang操作Elasticsearch方法
jvm·数据库·python
lifewange28 分钟前
UPDATE ... SET 多字段赋值
数据库
Qt程序员30 分钟前
【无标题】
linux·c++·消息队列·共享内存·c/c++·管道·信号量