深度linux安装postgresql_PostgreSQL在Linux下安装与使用

工作中需要用到postgresql,记录一下在Linux环境如何安装和使用

1.安装yum源

地址从http://yum.postgresql.org/repopackages.php 获取

yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

2.安装PostgreSQL

yum install postgresql96-server postgresql96-contrib

3.初始化数据库

/usr/pgsql-9.6/bin/postgresql96-setup initdb

4.默认情况下PostgreSQL不支持密码登录,如需支持需要修改配置文件

将未注释行中的ident 替换为 md5

vim /var/lib/pgsql/9.6/data/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 ident

# IPv6 local connections:

host all all ::1/128 ident

# Allow replication connections from localhost, by a user with the

# replication privilege.

#local replication postgres peer

#host replication postgres 127.0.0.1/32 ident

#host replication postgres ::1/128 ident

如需开启远程访问,可编辑/var/lib/pgsql/9.6/data/postgresql.conf 文件。

将#listen_addresses = 'localhost'修改为listen_addresses='*' (当然,此处‘*'也可以改为任何你想开放的服务器IP)

另外对于特定的IP还可以设置开启信任远程连接,修改/var/lib/pgsql/9.6/data/pg_hba.conf,按下面的格式进行添加设置。

# IPv4 local connections:

host all all 127.0.0.1/32 trust

host all all 8.8.8.8/32(需要连接的服务器IP) trust

修改完配置以后不要忘了重启服务。

5.管理服务,和其他服务一样还是用systemd进行管理

systemctl start postgresql-9.6 #启动服务

systemctl restart postgresql-9.6 #重启服务

systemctl stop postgresql-9.6 #停止服务

systemctl enable postgresql-9.6 #自动启动

6.登录PostgreSQL

PostgreSQL 安装完成后,会建立一下‘postgres'用户,用于执行PostgreSQL,数据库中也会建立一个'postgres'用户,如果我们要使用PostgreSQL就必须先登录此帐号。

sudo -i -u postgres

执行后提示符会变为 ‘-bash-4.2$',再运行

同构执行进入 psql 进入postgresql命令行环境。

[root@localhost ~]# sudo -i -u postgres

-bash-4.2$ psql

psql (9.6.1)

Type "help" for help.

postgres=#

接着可以执行ALTER USER postgres WITH PASSWORD '123456'来设置postgres用户密码,可通过\q退出数据库

常用命令介绍:

控制台命令

除了前面已经用到的password命令(设置密码)和q命令(退出)以外,控制台还提供一系列其他命令。

\h:查看SQL命令的解释,比如\h select。

\?:查看psql命令列表。

\l:列出所有数据库。

\c [database_name]:连接其他数据库。

\d:列出当前数据库的所有表格。

\d [table_name]:列出某一张表格的结构。

\du:列出所有用户。

\e:打开文本编辑器。

\conninfo:列出当前数据库和连接的信息。

数据库操作

基本的数据库操作,就是使用一般的SQL语言。

# 创建新表

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;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值