PostgreSQL使用安装

一. 安装

ubuntu安装:

# 安装客户端
sudo apt-get install postgresql-client
# 安装服务器
sudo apt-get install postgresql
# 安装图形界面
sudo apt-get install pgadmin3

安装后默认生成一个名为postgres的数据库和一个名为postgres的数据库用户。这里需要注意的是,同时还生成了一个名为postgres的Linux系统用户。

二. 登录

# 先切换到postgres用户
sudo su postgres

以下命令相当于系统用户postgres以同名数据库用户的身份

psql

完整登录命令

psql -U dbuser -d exampledb -h 127.0.0.1 -p 5432

上面命令的参数含义如下:-U指定用户,-d指定数据库,-h指定服务器,-p指定端口。

三. 授权其他用户

授权其他用户登录:

# 新建系统用户
sudo adduser superpika # 进入控制台
psql

先改下命令:

\password postgres

创建用户,和新建系统用户一样:

CREATE USER superpika WITH PASSWORD 'password';

新建数据库并授权:

CREATE DATABASE exampledb OWNER superpika;
GRANT ALL PRIVILEGES ON DATABASE exampledb to superpika;

控制台输入\q退出:

\q

退出后,重新登录,命令需完整!

exit
psql -U superpika -d exampledb -h 127.0.0.1 -p 5432

四. 远程登录

vim /etc/postgresql/9.5/main/postgresql.conf

listen_addresses = '*'  

vim /etc/postgresql/9.5/main/pg_hba.conf

host    all             all             127.0.0.1/32            md5
host all all 0.0.0.0/0 md5 # 如果想指定数据库的话,需要修改第一个 all,如果需要指定用户的话,修改第二个all sudo /etc/init.d/postgresql restart

五. 命令

除了前面已经用到的\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;

备份:

1.只导出结构

    #!/usr/bin/env bash
## -h 主机名
## -U 用户名
## -W 强制输入密码
## -d 数据库名字
## -t 表名字
## -s 导出schema,不导出数据
## -C 创建数据库并连接数据库
## -f 数据文件
pg_dump -v -h 127.0.0.1 -U postgres -W -d postgres1 -t public.job -s -C -f init_pg.sql #!/usr/bin/env bash
psql -v -h 127.0.0.1 -U postgres -W -d postgres -t public.job -f init_pg.sql

2.正常备份:将osdba数据库整个导出

    pg_dump -v -h 127.0.0.1 -U postgres osdba -Fc > osdba.dump

    #  -C表示通过-d后面的数据库进入,然后创建osdba数据库。。。
pg_restore -v -h 127.0.0.1 -U postgres -C -d postgres osdba.dump # 从模板创建数据库,并导入
createdb -T template0 osdba2
pg_restore -d osdba2 osdba.dump

六. 连接数爆了

Connection could not be allocated because: FATAL: sorry, too many clients alread

查找配置文件还有连接数:

postgres=# SHOW config_file;
config_file
------------------------------------------
/etc/postgresql/9.5/main/postgresql.conf
(1 row) postgres=# select count(1) from pg_stat_activity;
count
-------
74
(1 row)

编辑

vim  /etc/postgresql/9.5/main/postgresql.conf

max_connections=6000

sudo /etc/init.d/postgresql restart

扩大linux的文件描述符

一,通过ulimit命令修改

//显示当前文件描述符
ulimit -n //修改当前用户环境下的文件描述符为65536
ulimit -HSn 65536 echo "ulimit -HSn 65536" >> /etcrc.local 使用ulimit命令的缺点: 1,只能修改当前登录用户环境下的文件描述符,如果此用户来另外打开一个连接,此链接环境的文件描述符依然是没改前的
2,如果系统重启,以前修改都不再生效 二,通过修改limits.conf文件 编辑/etc/security/limits.conf 文件,在最后加入如下两行 * soft nofile 65536
* hard nofile 65536 保存退出,都不需要重启服务器,直接重新登陆!!!!用ulimit -n就能看到效果 这样无论使用哪个用户,无论是否重启都不会失效了。

PostgreSQL使用安装的更多相关文章

  1. Mac 下 PostgreSQL 的安装与使用

    在 mac 下,可以利用 homebrew 直接安装 PostgreSQL: 1 brew install postgresql -v 稍等片刻,PostgreSQL 就安装完成.接下来就是初始数据库 ...

  2. Linux下的PostgreSQL简单安装手册

    1. 安装环境     linux版本: CentOS release 6.2 (Final)     pg版本    : postgresql-9.5.0   2. pg数据库下载地址 --http ...

  3. CentOS 6.3下PostgreSQL 的安装与配置

    一.简介 PostgreSQL 是一种非常复杂的对象-关系型数据库管理系统(ORDBMS),也是目前功能最强大,特性最丰富和最复杂的自由软件数据库系统.有些特性甚至连商业数据库都不具备.这个起源于伯克 ...

  4. postgresql编译安装与调试(二)

    接前文postgresql编译安装与调试(一),继续说说postgresql的编译安装与调试. 上一篇已经详细说明了如何在Linux系统上编译安装postgresql,这次我们在此基础上简单讲讲如何在 ...

  5. [转] Mac 下 PostgreSQL 的安装与使用

    在 mac 下,可以利用 homebrew 直接安装 PostgreSQL: 1 brew install postgresql -v 稍等片刻,PostgreSQL 就安装完成.接下来就是初始数据库 ...

  6. postgresql数据库安装及简单操作

    自从MySQL被Oracle收购以后,PostgreSQL逐渐成为开源关系型数据库的首选. 本文介绍PostgreSQL的安装和基本用法,供初次使用者上手.以下内容基于Debian操作系统,其他操作系 ...

  7. PostgreSQL+PostGIS安装以及使用

    安装,参照:    https://www.cnblogs.com/ytwy/p/6817179.html 创建企业级地理文件数据库时报错," You must copy the lates ...

  8. PostgreSQL编译安装

    PostgreSQL编译安装 安装语言包 ### PostgreSQL 初始化过程中,会读取操作系统字符编码, ### 若程序需要使用zh_CN.utf-8字符编码,需要在PostgreSQL 初始化 ...

  9. postgresql编译安装与调试(一)

    因为最近组里的项目和postgresql有关,并且需要查看和调试源码,所以专门学习了一下如何安装和调试postgresql,此博文用来记录自己的安装和调试过程.安装环境是CentOS6(CentOS7 ...

  10. Linux——CentOS 6.3下PostgreSQL 的安装与配置

    一.简介 PostgreSQL 是一种非常复杂的对象-关系型数据库管理系统(ORDBMS),也是目前功能最强大,特性最丰富和最复杂的自由软件数据库系统.有些特性甚至连商业数据库 都不具备.这个起源于伯 ...

随机推荐

  1. Spring boot 自定义banner的在线制作

    目前工作不是很忙,利用闲暇的时间,在给自己不断地充电,提升自己的技术实力. 目前在做一个基于Spring Boot2.x+webmagic+quartz的爬虫项目[hotDog]https://git ...

  2. [VB.NET Tips]Try...Catch...End Try的另一种用法

    有时在调用一个方法时,会进行异常处理.但是当方法内部出现错误时,无法快速定位到是哪一行代码有问题. 下面介绍一下Try的另一个用法: Try...Catch ex As Exception When ...

  3. 微信小程序开发简述

    微信小程序简述 什么是微信小程序? 微信小程序,简称小程序,英文名Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用.全面开放 ...

  4. 浅析html+css+javascript之间的关系与作用

    三者间的关系 一个基本的网站包含很多个网页,一个网页由html, css和javascript组成. html是主体,装载各种dom元素:css用来装饰dom元素:javascript控制dom元素. ...

  5. 词向量(one-hot/SVD/NNLM/Word2Vec/GloVe)

    目录 词向量简介 1. 基于one-hot编码的词向量方法 2. 统计语言模型 3. 从分布式表征到SVD分解 3.1 分布式表征(Distribution) 3.2 奇异值分解(SVD) 3.3 基 ...

  6. android字母索引实现ListView定位

    最近闲的很,没什么事干 ,在玩手机的时间看到android系统自带的那个通讯录软件对联系人的快速定位功能.  感觉这个功能也比较实用自己就试着自己去实现. 虽然网络上还是有大牛封闭好了的框架,但是如果 ...

  7. 无广告版本Flash player 一枚,需要的拿走~

    无广告版本flashplayer,国内flashplayer已经被植入了广告,安装后不断的弹出广告使用体验很差,最开始还以为是电脑被恶意植入捆绑插件, 检查半天发现竟然是浏览器的flash playe ...

  8. asp.net core 3.0 更新简记

    asp.net core 3.0 更新简记 asp.net core 3.0 更新简记 Intro 最近把活动室预约项目从 asp.net core 2.2 更新到了 asp.net core 3.0 ...

  9. .NET斗鱼直播弹幕客户端(下)

    .NET斗鱼直播弹幕客户端(下) 在上篇文章中,我们提到了如何使用.NET连接斗鱼TV直播弹幕的基本操作.然而想要做得好,做得容易扩展,就需要做进一步的代码整理. 本文将涉及以下内容: 介绍如何使用R ...

  10. Spring Boot 2.X(七):Spring Cache 使用

    Spring Cache 简介 在 Spring 3.1 中引入了多 Cache 的支持,在 spring-context 包中定义了org.springframework.cache.Cache 和 ...