Ubuntu16安装postgreSQL

本文详细介绍了在Ubuntu系统上安装、配置PostgreSQL数据库的过程,包括设置远程访问、修改密码、创建用户和数据库等关键步骤。

一、安装并配置,并设置远程登陆的用户名和密码

1、安装postgreSQL

sudo apt-get update

sudo apt-get install postgresql-9.4

在Ubuntu下安装Postgresql后,会自动注册为服务,并随操作系统自动启动。
在Ubuntu下安装Postgresql后,会自动添加一个名为postgres的操作系统用户,密码是随机的。并且会自动生成一个名字为postgres的数据库,用户名也为postgres,密码也是随机的。

2、修改postgres数据库用户的密码为123456

打开客户端工具(psql)

sudo -u postgres psql

其中,sudo -u postgres 是使用postgres 用户登录的意思
PostgreSQL数据默认会创建一个postgres的数据库用户作为数据库的管理员,密码是随机的

postgres=# ALTER USER postgres WITH PASSWORD '123456'; 

postgres=#为PostgreSQL下的命令提示符,–注意最后的分号;

3、退出PostgreSQL psql客户端

postgres=# \q

4、修改ubuntu操作系统的postgres用户的密码(密码要与数据库用户postgres的密码相同)

切换到root用户

su root

删除PostgreSQL用户密码

sudo passwd -d postgres

passwd -d 是清空指定用户密码的意思

设置PostgreSQL系统用户的密码

sudo -u postgres passwd

按照提示,输入两次新密码

输入新的 UNIX 密码
重新输入新的 UNIX 密码
passwd:已成功更新密码

5、修改PostgresSQL数据库配置实现远程访问

vi /etc/postgresql/9.4/main/postgresql.conf
(1).监听任何地址访问,修改连接权限
#listen_addresses = 'localhost' 改为 listen_addresses = '*'
(2).启用密码验证
#password_encryption = on 改为 password_encryption = on

vi /etc/postgresql/9.4/main/pg_hba.conf

在文档末尾加上以下内容

host all all 0.0.0.0 0.0.0.0 md5

6、重启服务
/etc/init.d/postgresql restart
7、5432端口的防火墙设置

5432为postgreSQL默认的端口

iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 5432 -j ACCEPT

二、内部登录,管理数据库、新建数据库、用户和密码

1、登录postgre SQL数据库

psql -U postgres -h 127.0.0.1

2、创建新用户zhangps,但不给建数据库的权限

	postgres=# create user "zhangps" with password '123456' nocreatedb;

用户名处是双引号

3、建立数据库,并指定所有者

postgres=#create database "testdb" with owner = "zhangps";

三、外部登录,管理数据库、新建数据库、用户和密码

1、在外部命令行的管理命令,创建用户pencil

sudo -u postgres createuser -D -P pencil

输入新的密码:
再次输入新的密码:

2、建立数据库(tempdb),并指定所有者为(pencil)

sudo -u postgres createdb -O pencil tempdb

-O设定所有者为pencil

参考:http://blog.sina.com.cn/s/blog_6af33caa0100ypck.html
https://www.cnblogs.com/zhangpengshou/p/5464610.html

<think>我们正在Ubuntu系统上安装PostgreSQL 16。根据引用资料,之前的版本安装通常使用apt包管理器,但PostgreSQL 16可能尚未包含在Ubuntu默认仓库中。因此,我们需要添加PostgreSQL官方仓库来安装最新版本。 步骤: 1. 添加PostgreSQL官方仓库和APT密钥 2. 更新包列表 3. 安装PostgreSQL 16 4. 验证安装 5. 初始化数据库(如果需要)和设置密码 参考引用[3]和[4],它们提到了使用apt安装和验证安装,但版本较旧。引用[5]提到了设置密码的方法。 具体步骤: 1. 添加PostgreSQL仓库和密钥: - 安装必要的依赖: ```bash sudo apt update sudo apt install wget gnupg2 ``` - 添加仓库密钥: ```bash sudo mkdir -p /etc/apt/keyrings wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /etc/apt/keyrings/postgresql.gpg ``` - 添加仓库(注意:根据你的Ubuntu版本选择正确的仓库,这里以Ubuntu 22.04为例,代号为jammy): ```bash echo "deb [signed-by=/etc/apt/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql.list ``` 2. 更新包列表: ```bash sudo apt update ``` 3. 安装PostgreSQL 16: ```bash sudo apt install postgresql-16 ``` 安装过程中会自动创建一个名为`postgres`的系统用户,并初始化数据库集群。 4. 验证安装: - 检查服务状态: ```bash sudo systemctl status postgresql ``` - 检查版本: ```bash psql --version ``` 5. 设置postgres用户密码(可选,但建议设置): - 切换到postgres用户: ```bash sudo -u postgres psql ``` - 在psql提示符下: ```sql ALTER USER postgres WITH PASSWORD 'your_password'; ``` 然后输入`\q`退出。 6. 配置远程访问(如果需要): 默认情况下,PostgreSQL只允许本地连接。如果需要远程访问,需要修改两个配置文件: - `postgresql.conf`: 通常位于`/etc/postgresql/16/main/postgresql.conf`,修改`listen_addresses`为`'*'`。 - `pg_hba.conf`: 通常位于`/etc/postgresql/16/main/pg_hba.conf`,添加一行: ``` host all all 0.0.0.0/0 md5 ``` 然后重启服务: ```bash sudo systemctl restart postgresql ``` 注意:开放远程访问需谨慎,确保有防火墙保护。 以上步骤应该能够在Ubuntu系统上成功安装PostgreSQL 16。 §§相关问题§§ 1. 如何验证PostgreSQL 16是否安装成功? 2. 如何创建新用户和数据库? 3. 如何配置PostgreSQL以允许远程连接?</think>### 在Ubuntu安装PostgreSQL 16的步骤 #### 1. **添加官方仓库** PostgreSQL 16尚未包含在Ubuntu默认仓库中,需手动添加官方仓库: ```bash # 安装依赖 sudo apt update sudo apt install curl gnupg2 -y # 添加PG官方密钥 curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg # 添加仓库(Ubuntu 22.04为例) echo "deb [arch=amd64] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list ``` #### 2. **安装PostgreSQL 16** 更新并安装核心组件: ```bash sudo apt update sudo apt install postgresql-16 postgresql-client-16 -y ``` #### 3. **验证安装** - 检查服务状态: ```bash sudo systemctl status postgresql@16-main ``` - 检查版本: ```bash psql --version ``` #### 4. **配置密码** 为默认用户`postgres`设置密码: ```bash sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'your_password';" ``` > **注意**:替换`your_password`为强密码[^5]。 #### 5. **启用远程访问(可选)** 编辑配置文件: ```bash sudo nano /etc/postgresql/16/main/postgresql.conf ``` 修改: ```ini listen_addresses = '*' # 允许所有IP访问 ``` 修改客户端认证: ```bash sudo nano /etc/postgresql/16/main/pg_hba.conf ``` 添加: ```ini host all all 0.0.0.0/0 scram-sha-256 ``` 重启服务生效: ```bash sudo systemctl restart postgresql@16-main ``` #### 6. **防火墙配置** 允许默认端口`5432`: ```bash sudo ufw allow 5432/tcp sudo ufw reload ``` #### 7. **基本使用** - 登录数据库: ```bash psql -U postgres -h localhost ``` - 创建新数据库: ```sql CREATE DATABASE testdb; ``` > **关键提示**: > - 安装后自动创建`postgres`系统用户和数据库集群[^3]。 > - 默认数据目录:`/var/lib/postgresql/16/main/`。 > - 日志文件:`/var/log/postgresql/postgresql-16-main.log`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值