Fork me on GitHub

Ubuntu 安装配置最新版 PostgreSQL

环境:Ubuntu Xenial (16.04)     !!! CentOS 参考这里   

#安装 PostgreSQL

sudo apt-get update
sudo apt-get upgrade
apt-get install htop wget software-properties-common

默认: sudo apt-get install postgresql (9.5版本)

For any Ubuntu version you need to can do this by the official PostgreSQL Apt Repository.

Ubuntu Xenial (16.04)

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 Trusty (14.04)

sudo add-apt-repository "deb http://apt.postgresql.org/pub/repos/apt/ trusty-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 Precise (12.04)

sudo add-apt-repository "deb http://apt.postgresql.org/pub/repos/apt/ precise-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

# 配置 PostgreSQL

安装完成后,默认会:
(1)创建名为"postgres"的Linux用户
(2)创建名为"postgres"、不带密码的默认数据库账号作为数据库管理员
(3)创建名为"postgres"的表
默认配置信息:
Creating new cluster 9.6/main ...
  config /etc/postgresql/9.6/main
  data   /var/lib/postgresql/9.6/main
  locale en_US.UTF-8
  socket /var/run/postgresql
  port   5432

# PostgreSQL 命令

#查看版本
psql -- version
#切换用户
sudo -u postgres psql
#修改密码
ALTER USER postgres WITH ENCRYPTED PASSWORD 'XXX';

修改密码本地环境生效配置
#修改pg_hba.conf
    #local   all   postgres   peer
    local   all   postgres   md5
#重启服务
sudo service postgresql restart
#登陆
psql -U postgres 

#修改Linux用户的密码
sudo passwd postgres
#配置数据库以允许远程连接访问
sudo vi /etc/postgresql/9.4/main/postgresql.conf
# 增加 listen_addresses = '*'
sudo vi /etc/postgresql/9.4/main/pg_hba.conf

#修改 IP4
#host all all 127.0.0.1/32 md5
host all all 0.0.0.0/0 md5

# DO NOT DISABLE!
# If you change this first entry you will need to make sure that the
# database superuser can access the database using some other method.
# Noninteractive access to all databases is required during automatic
# maintenance (custom daily cronjobs, replication, and similar tasks).
#
# Database administrative login by Unix domain socket
local   all             postgres                                peer

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
#host    all             all             127.0.0.1/32            md5
host    all             all             0.0.0.0/0               md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     postgres                                peer
#host    replication     postgres        127.0.0.1/32            md5
#host    replication     postgres        ::1/128                 md5
privilege

#重启服务

sudo service postgresql restart
sudo /etc/init.d/postgresql restart (reload)

\password:设置密码
\q:退出
\h:查看SQL命令的解释,比如\h select。
\?:查看psql命令列表。
\l:列出所有数据库。
\c [database_name]:连接其他数据库。
\d:列出当前数据库的所有表格。
\d [table_name]:列出某一张表格的结构。
\du:列出所有用户。
\e:打开文本编辑器。
\conninfo:列出当前数据库和连接的信息。

#防火墙
启用ufw: sudo ufw enable 
防外对内访问:sudo ufw default deny 
关闭:sudo ufw disable 
状态:sudo ufw status
#查看TCP或者UDP端口使用情况
sudo netstat -anp
#某个端口的信息
sudo lsof -i :631
#查看Linux的端口使用情况
netstat -tln
#查看已经连接的服务端口(ESTABLISHED)
netstat -a
#查看所有的服务端口(LISTEN,ESTABLISHED)
sudo netstat -ap

REFER:
https://www.pgadmin.org/download/
MySQL、Postgres 开启远程访问权限(ubuntu)
http://wenzhixin.net.cn/2012/05/15/mysql_open_the_remote_access_ubuntu
Omnibus-GitLab 配置 PostgreSQL 开启远程访问
https://cong5.net/post/open-remote-connect-postgresql-with-omnibus-gitlab

posted @ 2017-04-10 15:15  花儿笑弯了腰  阅读(712)  评论(0编辑  收藏  举报