ubuntu下postgreSQL9.6安装配置

本文详细介绍如何在Ubuntu上安装PostgreSQL数据库系统,并配置远程访问功能。包括设置数据库用户的密码、调整配置文件允许远程连接、开启防火墙端口等步骤。此外还介绍了如何通过命令行工具进行内部和外部登录,以及创建新用户和数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

1、安装postgreSQL


sudo add-apt-repository "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main"
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

sudo apt-get update

sudo apt-get install postgresql-9.6

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

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

打开客户端工具(psql)

sudo -u postgres psql

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

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

  • 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.6/main/postgresql.conf

1.监听任何地址访问,修改连接权限

#listen_addresses = 'localhost' 改为 listen_addresses = '*'

2.启用密码验证

#password_encryption = on 改为 password_encryption = on

vi /etc/postgresql/9.6/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
postgres的 日志目录,
/var/lib/postgresql/9.6/main
如果不修改日志目录,则应该在
/var/log/postgresql

在目录/etc/postgresql/9.6/main/postgresql.conf
可以修改日志,重新定向目录为/var/lib/postgresql/9.6/main
log_destination = 'stderr'
logging_collector = on
log_directory = 'pg_log'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_rotation_age = 1d
log_rotation_size = 100MB
log_min_messages = info

### 安装前准备 为了在 Ubuntu 18.04 上成功离线安装 PostgreSQL,需要预先获取并准备好所有必需的依赖包。由于 `readline` 库缺失导致配置失败的问题已经出现过,在此情况下应确保所有必要的库文件都已下载。 ### 下载所需软件包及其依赖项 对于在线环境中的准备工作如下: ```bash sudo apt-get update sudo apt-cache depends postgresql-9.6 | grep Depends: | cut -d ' ' -f 2- | xargs sudo apt-get download ``` 上述命令会列出并下载 PostgreSQL 及其所有直接依赖关系到当前目录下[^1]。然而这一步骤需在一个可以联网的相同架构和版本的 Ubuntu 环境中完成。 ### 处理特定依赖问题 针对 `configure: error: readline library not found` 错误,除了 PostgreSQL 主程序外还需要额外下载 libreadline 开发库以及相关工具链以便编译源码: ```bash apt-get source postgresql-9.6 sudo apt-get build-dep postgresql-9.6 sudo apt-get install libreadline-dev ``` 以上步骤同样适用于有网络连接的情况下收集所需的 deb 文件用于后续离线环境中使用[^2]。 ### 编译与安装过程 将之前从其他机器上获得的所有 .deb 文件传输至目标主机后,可以通过 dpkg 命令来进行批量安装: ```bash cd /path/to/debs/ sudo dpkg -i *.deb ``` 如果遇到任何未解决的依赖关系冲突,则可能需要进一步调整或手动处理这些依赖性问题。 另外一种方法是从官方发布的 tarball 中自行构建 PostgreSQL : ```bash tar xf postgresql-13.8.tar.gz cd postgresql-13.8 ./configure --with-readline make sudo make install ``` 注意这里指定了 `--with-readline` 参数来确保 configure 能够找到正确的库路径。 ### 配置服务启动 最后设置 PostgreSQL 自动随系统启动,并创建初始数据库集群: ```bash sudo systemctl enable postgresql.service sudo pg_createcluster 13 main --start ``` 请根据实际安装版本号替换上面命令中的 “13”。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值