Ubuntu 编译安装 PostgreSQL

本文详细指导了在Ubuntu和CentOS环境下安装PostgreSQL 9.6.10的过程,包括预装环境设置、源码编译、调试优化,并介绍了如何开放远程连接、修改密码及设置环境变量。特别强调了对gdb使用问题的解决和配置参数的调整。
摘要由CSDN通过智能技术生成

预装环境

# ubuntu
sudo apt-get install build-essential
sudo apt install libreadline-dev
sudo apt-get install zlib1g.dev

#centos
yum install readline-devel
yum install zlib-devel

编译安装

下载源码

wget https://ftp.postgresql.org/pub/source/v9.6.10/postgresql-9.6.10.tar.gz

解压安装

tar zxvf postgresql-9.6.10.tar.gz
cd postgresql-9.6.10/
./configure --with-perl --with-tcl --with-openssl --with-ossp-uuid --with-libxml --with-libxslt --enable-tap-tests --enable-debug
make -j
sudo make install

添加用户

adduser postgres
passwd postgres

启动数据库

mkdir -p /var/postgresql/data
chown postgres:postgres /var/postgresql -R
chown postgres:postgres /usr/local/pgsql -R

切换用户配置环境变量

su - postgres
export PATH=/usr/local/pgsql/bin:$PATH

初始化数据库和启动服务

initdb -D /var/postgresql/data
pg_ctl -D /var/postgresql/data -l /var/postgresql/logfile start

进入pg

psql 

gdb 无法正常使用

修改源代码下面最外层的 configure 文件
其中5223行开始的一段代码改为

if test "$ac_env_CFLAGS_set" = set; then
  CFLAGS=$ac_env_CFLAGS_value
elif test "${CFLAGS+set}" = set; then
  : # (keep what template set)
elif test "$enable_coverage" = yes; then
  : # no optimization by default
elif test "$enable_debug" = yes; then
  CFLAGS="-O0"
elif test "$GCC" = yes; then
  CFLAGS="-O2"
fi

主要修改的就是最后两个elif,不然的话无论怎么 enable debug,只要用GCC编译都会自动开启O2优化。不知道为什么社区到现在都没修这个bug

开放远程连接

vi /var/postgresql/data/postgresql.conf

# 将listen_address修改成 *
listen_addresses = '*'		# what IP address(es) to listen on;

vi /opt/PostgreSQL/10/data/pg_hba.conf
# 末尾添加
host  all  all 0.0.0.0/0 md5
host replication all 120.55.100.50/0 trust # 逻辑复制

修改用户密码

ALTER USER postgres PASSWORD 'xxx';
Ubuntu 是一种流行的操作系统,可以用于服务器和个人电脑。PostgreSQL 是一款开源的关系型数据库管理系统,广泛用于企业级应用程序。安装 PostgreSQLUbuntu 中有几种方法,下面介绍两种较为常用的方式。 方法一:使用 Ubuntu 软件源安装 Ubuntu 软件源提供了 PostgreSQL 的最新版本,可通过以下命令安装: 1. 打开终端并切换到 root 用户: ``` sudo -i ``` 2. 更新系统软件源: ``` apt update ``` 3. 安装 PostgreSQL: ``` apt install postgresql postgresql-contrib ``` 4. 安装完成后,启动 PostgreSQL 服务: ``` systemctl start postgresql ``` 5. 设置 PostgreSQL 开机自启动: ``` systemctl enable postgresql ``` 安装完成后,您可以使用以下命令登录 PostgreSQL: ``` sudo -i -u postgres psql ``` 方法二:从源代码编译安装 如果您需要安装一个特定版本的 PostgreSQL 或者想要自定义编译选项,可以选择从源代码编译安装。 要从源代码编译安装 PostgreSQL,可以按照以下步骤进行: 1. 下载 PostgreSQL 的源代码包: ``` wget https://ftp.postgresql.org/pub/source/v13.2/postgresql-13.2.tar.gz ``` 2. 解压源代码包: ``` tar -zxvf postgresql-13.2.tar.gz ``` 3. 切换到解压后的目录: ``` cd postgresql-13.2 ``` 4. 安装编译依赖项: ``` apt install build-essential libreadline-dev zlib1g-dev libxml2-dev libssl-dev libsqlite3-dev ``` 5. 编译安装 PostgreSQL: ``` ./configure --prefix=/usr/local/pgsql --with-pgport=5432 make make install ``` 6. 配置 PostgreSQL: ``` adduser postgres mkdir /usr/local/pgsql/data chown postgres /usr/local/pgsql/data su - postgres /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start /usr/local/pgsql/bin/createuser -s -P username /usr/local/pgsql/bin/createdb databasename ``` 安装完成后,您可以使用以下命令登录 PostgreSQL: ``` su - postgres /usr/local/pgsql/bin/psql ``` 总之,如果您需要在 Ubuntu安装 PostgreSQL,您可以选择从 Ubuntu 软件源或者源代码编译安装。两种安装方式都比较简单,您可以根据自己的需要选择适合的方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

总想玩世不恭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值