Ubuntu PostgreSQL安装和配置的介绍

1、安装

使用如下命令,会自动安装最新版,这里为9.5

sudo apt-get install postgresql

安装完成后,默认会:

  • (1)创建名为"postgres"的Linux用户
  • (2)创建名为"postgres"、不带密码的默认数据库账号作为数据库管理员
  • (3)创建名为"postgres"的表

安装完成后的一些默认信息如下:

config /etc/postgresql/9.5/main
data /var/lib/postgresql/9.5/main
locale en_US.UTF-8
socket /var/run/postgresql
port 5432

2、psql命令

安装完后会有PostgreSQL的客户端psql,通过 sudo -u postgres psql 进入,提示符变成: postgres=#

在这里可用执行SQL语句和psql的基本命令。可用的基本命令如下:

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

修改数据库默认账号的密码

1、登录

使用psql命令登录数据库的命令为:

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

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

输入上面命令以后,系统会提示输入dbuser用户的密码。

psql命令存在简写形式:

如果当前Linux系统用户,同时也是PostgreSQL用户,则可以省略用户名(-U参数的部分)

如果PostgreSQL内部还存在与当前系统用户同名的数据库,则数据库名也可以省略。

2、修改默认管理员账号的密码

以Linux用户"postgres"的身份(此时只有该用户有psql命令)执行psql客户端,进入该客户端的提示符界面(这里系统用户名、数据库用户名、数据库名都为postgres,故可采用简写形式)

sudo -u postgres psql

postgres=# alter user postgres with password '123456';

这样,管理员"postgres"的密码就为"123456"。

退出psql客户端命令:\q

若要删除该管理员的密码,则可用命令:sudo -u postgres psql -d postgres

修改Linux用户的密码

以Linux用户"postgres"为例,对其运行passwd命令:

codetc@ubuntu:/etc/postgresql/9.5/main$ sudo -u postgres passwd //也可以 sudo passwd postgres
Changing password for postgres.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

配置数据库以允许远程连接访问

安装完成后,默认只能本地才能连接数据库,其他机子访问不了,需要进行配置。

1、修改监听地址

sudo gedit /etc/postgresql/9.5/main/postgresql.conf

#listen_addresses = 'localhost' 的注释去掉并改为 listen_addresses = '*'

2、修改可访问用户的IP段

sudo gedit /etc/postgresql/9.5/main/pg_hba.conf

在文件末尾添加: host all all 0.0.0.0 0.0.0.0 md5 ,表示运行任何IP连接

3、重启数据库

sudo /etc/init.d/postgresql restart

添加新用户和新数据库

1、使用PostgreSQL客户端psql

运行系统用户"postgres"的psql命令,进入客户端:

sudo -u postgres psql

创建用户"xiaozhang"并设置密码:

postgres=# create user xiaozhang with password '123456';

创建数据库exampledb,所有者为xiaozhang:

postgres=# create database exampledb owner xiaozhang;

将exampledb数据库的所有权限赋予xiaozhang,否则xiaozhang只能登录psql,没有任何数据库操作权限:

grant all privileges on database exampledb to xiaozhang;

2、使用shell命令行

安装PostgreSQL后提供了createuser和createdb命令行程序。

首先创建数据库用户"codetc",并指定为超级用户:

sudo -u postgres createuser --superuser codetc;

接着登录psql控制台设置其密码后退出:

codetc@ubuntu:~$ sudo -u postgres psql
psql (9.5.3)
Type "help" for help.
postgres=# \password codetc;
Enter new password:
Enter it again:
postgres=# \q

然后在shell命令行下创建数据库并指定所有者:

sudo -u postgres createdb -O codetc exampledb1;

基本数据库操作命令

# 创建新表
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;

重启服务

/etc/init.d/postgresql restart
或者
service postgresql restart

卸载

sudo apt-get purge 'postgresql-*'
sudo apt-get autoremove 'postgresql-*'

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • ubuntu16.04搭建nfs服务的方法

    NFS简介 NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源.在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样. nfs服务是实现Linux和Linux之间的文件共享,nfs服务的搭建比较简单. 现在介绍如何在ubuntu16.04系统中搭建nfs服务,ubuntu的搭建比红帽的还要简单. Ubuntu配置NFS的方法 1.安装nfs

  • ubuntu系统修改时区和时间的方法

    在Linux计算机上,有两个时间,一个是硬件时间(BIOS中记录的时间,称为hwclock),另一个是操作系统时间(osclock).硬件时钟由BIOS电池供电, 当计算机关机后,会继续运行,BIOS电池一般可使用几年,如果没电了,那BIOS中的数据会恢复出厂设置. 硬件时间与操作系统时间的交互流程 1.开机时,操作系统从BIOS中读取硬件时间+时区,然后根据osclock的时区,转换为对应的时间.然后操作系统时间与硬件时间就独立运行,相互不影响,我们 通过应用程序获取的时间用的都是操作系统时间

  • VMware虚拟机中Ubuntu18.04无法连接网络的解决办法

    虚拟机中Ubuntu18.04无法连接网络的解决办法,具体内容如下 对VMware虚拟机进行恢复默认网络设置 恢复虚拟网络默认设置(在断网状态下): 1)Ubuntu网络设置自动获取IP 依次单击[System Settings]–>[Network]–>[Wired]–>[Options-],如下图所示: 2)VMware重置 [Edit]–>[Virtual Network Editor-] 如果发现缺少VMnet1和VMnet8,则手动添加. 3)网络设置主机模式 参考文章:

  • 虚拟机ubuntu16.04无法连网的解决方法

    刚安装玩Ubuntu,打开后上网没有网络连接 ,点击右上角的数据连接,显示已经启动联网,但是用火狐还是无法上网. 解决方法如下: 先查看虚拟机的网络适配器:点击虚拟机左上角的编辑,里面有个网络适配器 然后再进入编辑虚拟机设置,看过上一篇安装Ubuntu的朋友便知道我们当初安装时点击的是NAT设置 这里我们要改成自定义:特定虚拟网络,选择VM8,原因可以看上面网络适配器的图 设置完成后,再次进去虚拟机 这样,虚拟机便有了网络, 问题便解决了. 以上就是本文的全部内容,希望对大家的学习有所帮助,也希

  • VMWare中Ubuntu重启后无法上网的解决方法

    如何解决VMWare中Ubuntu重启后无法上网,具体如下 原因:没有设置静态的DNS,导致系统每次重启都会把先前设置的DNS删除. 重启后无法上网: 1.查看DNS: 2.发现之前配置的DNS不见了 解决方法: (1)重新设置DNS 命令: 添加 nameserver 220.115.187.250(本地物理主机DNS) **(2)添加静态的DNS 命令:** 添加 dns-nameserver 220.115.187.250(本地物理主机DNS) 保存就生效了,重启也没问题. (3).成功上

  • Ubuntu Server下无线网卡的配置详解

    1. 插入无线网卡,通过命令:iwconfig  查看无线网卡是否存在. 这里无线网卡为wlan1 2.启用无线网卡:sudo ifconfig wlan1 up 3.自动连接路由器配置:使用wpa_passphrase "essid" "key" 命令得到的内容添加到 /home/wireless.conf 中. 4.添加网卡配置信息:在 /etc/network/interfaces 添加 auto wlan1 iface wlan1 inet dhcp wpa

  • 虚拟机中ubuntu不能联网问题的解决方法

    设置虚拟机不能联网是很痛苦的,这里我就ubuntu的NAT上网问题就个人经验讲一下,其他的桥连接等没有使用就没有经验了. ubuntu版本:ubuntu-16.04-desktop-amd64.iso 1.查看/设置下NAT的网络 打开VMware Workstation,点击编辑--虚拟网络编辑器,查看NAT模式的网络. 如下图示,如果你对自动分配的子网IP不喜欢的可以点击还原默认设置,不过还是会自动分配的,不能自己设置的. 点击NAT设置,查看子网IP子网掩码以及查看和设置网关IP 点击DH

  • Ubuntu无法连接网络的解决办法

    虚拟机中Ubuntu无法连接网络的有效解决办法: 1.Ubuntu网络设置: 依次单击[System Settings]-->[Network]-->[Wired]-->[Options-],如下图所示: 依次选择[General],勾选如下图所示的单选框,最后点击[Save],如下图所示: 依次选择[IPv4 Settings],在下面的Method中选择[Automatic(DHCP)],最后点击[Save],如下图所示: 2.恢复虚拟网络默认设置(在断网状态下): 依次单击[Edi

  • Ubuntu16.04搭建php5.6Web服务器环境

    Ubuntu 16.04默认安装php7.0环境,但是php7目前对某些旧系统的兼容性并不是很好,如果自行安装php5需要清除php7的已安装包,否则会报错. 移除默认及已安装的PHP包 sudo dpkg -l | grep php| awk '{print $2}' |tr "\n" " " sudo apt-get install aptitude sudo aptitude purge `dpkg -l | grep php| awk '{print $2}

  • Ubuntu无法联网的解决方法

    问题描述: 使用的是台式机,使用校园网通过有线的方式上网,测试过64位Ubuntu14.04.4.Ubuntu14.04.5和Ubuntu16.04.3均出现了如下问题: 网络显示已经连接,但是无法上网: 这种情况经常出现在一些需要登录网络的场合,如学校等.当然如果不要登录网络的场合也出现了此错误,也可以尝试如下解决方案: 1.点击上图中的编辑连接,设置静态ip,如下图所示: 2. Ctrl+Alt+T打开终端配置DNS如下: (1)sudo nano /etc/network/interfac

随机推荐