PostgreSQL使用安装
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使用安装的更多相关文章
- Mac 下 PostgreSQL 的安装与使用
在 mac 下,可以利用 homebrew 直接安装 PostgreSQL: 1 brew install postgresql -v 稍等片刻,PostgreSQL 就安装完成.接下来就是初始数据库 ...
- Linux下的PostgreSQL简单安装手册
1. 安装环境 linux版本: CentOS release 6.2 (Final) pg版本 : postgresql-9.5.0 2. pg数据库下载地址 --http ...
- CentOS 6.3下PostgreSQL 的安装与配置
一.简介 PostgreSQL 是一种非常复杂的对象-关系型数据库管理系统(ORDBMS),也是目前功能最强大,特性最丰富和最复杂的自由软件数据库系统.有些特性甚至连商业数据库都不具备.这个起源于伯克 ...
- postgresql编译安装与调试(二)
接前文postgresql编译安装与调试(一),继续说说postgresql的编译安装与调试. 上一篇已经详细说明了如何在Linux系统上编译安装postgresql,这次我们在此基础上简单讲讲如何在 ...
- [转] Mac 下 PostgreSQL 的安装与使用
在 mac 下,可以利用 homebrew 直接安装 PostgreSQL: 1 brew install postgresql -v 稍等片刻,PostgreSQL 就安装完成.接下来就是初始数据库 ...
- postgresql数据库安装及简单操作
自从MySQL被Oracle收购以后,PostgreSQL逐渐成为开源关系型数据库的首选. 本文介绍PostgreSQL的安装和基本用法,供初次使用者上手.以下内容基于Debian操作系统,其他操作系 ...
- PostgreSQL+PostGIS安装以及使用
安装,参照: https://www.cnblogs.com/ytwy/p/6817179.html 创建企业级地理文件数据库时报错," You must copy the lates ...
- PostgreSQL编译安装
PostgreSQL编译安装 安装语言包 ### PostgreSQL 初始化过程中,会读取操作系统字符编码, ### 若程序需要使用zh_CN.utf-8字符编码,需要在PostgreSQL 初始化 ...
- postgresql编译安装与调试(一)
因为最近组里的项目和postgresql有关,并且需要查看和调试源码,所以专门学习了一下如何安装和调试postgresql,此博文用来记录自己的安装和调试过程.安装环境是CentOS6(CentOS7 ...
- Linux——CentOS 6.3下PostgreSQL 的安装与配置
一.简介 PostgreSQL 是一种非常复杂的对象-关系型数据库管理系统(ORDBMS),也是目前功能最强大,特性最丰富和最复杂的自由软件数据库系统.有些特性甚至连商业数据库 都不具备.这个起源于伯 ...
随机推荐
- Android静态注册广播无法接收的问题(8.0+版本)
如果你静态注册的广播无法接收到消息,请先检查下:你的安卓版本是不是8.0+ * 前言** Google官方声明:Beginning with Android 8.0 (API level 26), t ...
- Java 世界的盘古和女娲 —— Zygote
本文基于 Android 9.0 , 代码仓库地址 : android_9.0.0_r45 文中源码链接: Zygote.java ZygoteInit.java ZygoteServer.java ...
- Eureka参数配置->Server端参数
1.基本参数 参数 默认值 说明 eureka.server.enable-self-preservation true 是否开启自我保护模式 eureka.server.renewal-percen ...
- mysql replace into使用
使用mysql插入数据时,我们通常使用的是insert into来处理,replace into有时可以替代insert into功能,但replace into也有自己的用法 准备一张测试表: CR ...
- 报表统计——java实现查询某年12个月数据,没数据补0
一般图表绘制例如echarts等,返回数据格式都大同小异.重点是利用sql或者java实现数据格式的转型,接下来是关键部分: 1.mapper层sql语句,返回统计好的月份与对应月份的数据. < ...
- 【SQL server基础】SQL视图加密,永久隐藏视图定义的文本
SQL可以对视图进行加密.也就是,可永久隐藏视图定义的文本. 注意 此操作不可逆.加密视图后,无法再修改它,因为无法再看到视图定义.如果需要修改加密视图,则必须删除它并重新创建另一个视图. 示例代 ...
- Java 学习笔记之 异常法停止线程
异常法停止线程: public class RealInterruptThread extends Thread { @Override public void run() { try { for ( ...
- Siege 网站性能压力测试工具使用入门
Siege is an open source regression test and benchmark utility. It can stress test a single URL with ...
- vim设置golang语法高亮 (Centos)
Go语言自带vim 的语法高亮文件. http://www.golangtc.com/download 下载 go1.3.3.src.tar.gzgo1.3.3 (source only),解压缩 ...
- 色即是空,空即是色---java有关null的几件小事
故事背景 ---摩诃般若波罗蜜多心经: 观自在菩萨,行深般若波罗蜜多时,照见五蕴皆空,度一切苦厄.舍利子,色不异空,空不异色:色即是空,空即是色.受想行识,亦复如是.舍利子,是诸法空相,不生不灭,不垢 ...