Ubuntu 安装PostgreSQL

285 阅读1分钟

最近项目需要再Ubuntu中安装PostgreSQL-11.4,特此记录便于日后查阅。

1、下载

$ wget https://ftp.postgresql.org/pub/source/v11.4/postgresql-11.4.tar.gz
$ tar -zxf postgresql-11.4.tar.gz

注:如果下载较慢可以直接拿本文附件中的安装包。

2、安装

安装所需要的依赖,命令如下:

$ sudo apt-get install libreadline-dev
$ sudo apt-get install zlib1g
$ sudo apt-get install zlib1g.dev
$ sudo apt-get install libreadline-dev

编译安装 PostgreSQL,命令如下:

$ cd postgresql-11.4
$ ./configure
$ make && sudo make install

创建一个postgres 用户并设置密码,命令如下:

    $ adduser postgres

为postgres用户赋予权限,命令如下:

$ cd /usr/local/pgsql
$ mkdir data
$ chown postgres /usr/local/pgsql/data
$ su postgres
$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
$ su root
$ /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &

启动数据库,命令如下:

$ cd /usr/local/pgsql/bin
$ su postgres
$ ./pg_ctl start -D /usr/local/pgsql/data

为 pg_ctl 创建软链接,命令如下:

    $ ln -s /usr/local/pgsql/bin/pg_ctl /usr/bin/pg_ctl

访问数据库,命令如下:

    $ ./psql
postgres=# \l
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
(3 rows)

设置 postgres 数据库密码,命令如下:

    ALTER USER postgres WITH PASSWORD 'postgres';

退出数据库,命令如下:

    \q

3、配置远程访问

配置远程访问权限,需要再 pg_hba 中新增一条记录,命令如下:

    $ vim /usr/local/pgsql/data/pg_hba.conf

  

同时需要编辑 postgresql.conf 文件,并修改为以下内容:

$ vim /usr/local/pgsql/data/postgresql.conf
listen_addresses = '*'
port = 5432

重启数据库,命令如下:

$ su postgres
$ pg_ctl restart -D /usr/local/pgsql/data

到此 Ubuntu 安装PostgreSQL完成。