如何在Ubuntu 16.04 上安装 PostgreSQL 10
PostgreSQL 开发团队在在2017年9月已经发布了最新版本的 PostgreSQL 10
PostgreSQL是一个开源的对象关系数据库系统。它是用于生产服务器的领先数据库服务器之一。PostgreSQL 允许我们用各种编程语言来执行存储过程,比如C / C ++,Python,Java,Perl,Ruby...和它自己的 PL / pgSQL,这与 Oracle 的 PL / SQL类似。本教程将帮助您在 Ubuntu 16.04 LTS 和 14.04 LTS 系统上安装 PostgreSQL 数据库服务器。
安装
首先,导入 PostgreSQL 包的 GPG 密钥
$ wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -
然后,将存储库添加到您的系统
$ sudo sh -c'echo“deb http://apt.postgresql.org/pub/repos/apt/`lsb_release -cs`-pgdg main >> >> /etc/apt/sources.list.d/pgdg.list “
最后,执行更新与安装数据库命令
$ sudo apt-get update
$ sudo apt-get install postgresql postgresql-contri
连接 PostgreSQL 数据库
安装 PostgreSQL 数据库服务器之后,会自动创建一个角色为 'postgres' 的用户 'postgres'。同时还创建了一个名为 'postgres' 的系统帐户。因此,要连接到 postgres 服务器,必须以用户为 postgres 身份权限登录到系统进行连接。
$ sudo su - postgres
$ psql
登陆后进入到 PostgreSQL 的命令行状态:
postgres-#
要支持外网访问的简单配置
打开 pg_hba.conf 文件
sudo vi /etc/postgresql/10/main/pg_hba.conf
如下:
#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
在IPv4 下增加:
host all all 192.168.0.0/16 md5
修改后 :wq 强制保存退出
再打开 postgresql.conf 文件
sudo vi /etc/postgresql/10/main/postgresql.conf
使用 listen 找到
listen_addresses = 'localhost'
更改为
listen_addresses = '*'
保存后,重启 postgresql
/etc/init.d/postgresql restart
扩展
使用 navicat 可正常远程连接 postgresql 数据库
几个常用的 PostgreSQL 命令:
- 列出所有数据库
mysql: show databases
psql: \l 或 \list
- 切换数据库
mysql: use dbname
psql: \c dbname
- 列出当前数据库下的数据表
mysql: show tables
psql: \d
- 列出指定表的所有字段
mysql: show columns from table name
psql: \d tablename
- 查看指定表的基本情况
mysql: describe tablename
psql: \d+ tablename
- 退出登录
mysql: quit 或者 \q
psql: \q
扩展
常用语句
- 创建新表
CREATE TABLE user_tbl(name VARCHAR(20), signup_date DATE); - 插入数据
INSERT INTO user_tbl(name, signup_date) VALUES('张三', '2013-12-22'); - 选择记录
SELECT * FROM user_tbl; - 更新数据
UPDATE user_tbl set name = '李四' WHERE name = '张三'; - 删除记录
DELETE FROM user_tbl WHERE name = '李四' ; - 添加栏位
ALTER TABLE user_tbl ADD email VARCHAR(40); - 更新结构
ALTER TABLE user_tbl ALTER COLUMN signup_date SET NOT NULL; - 更名栏位
ALTER TABLE user_tbl RENAME COLUMN signup_date TO signup; - 删除栏位
ALTER TABLE user_tbl DROP COLUMN email; - 表格更名
ALTER TABLE user_tbl RENAME TO backup_tbl; - 删除表格
DROP TABLE IF EXISTS backup_tbl;