加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

postgresql 基础用法

发布时间:2020-12-13 17:31:56 所属栏目:百科 来源:网络整理
导读:http://www.yolinux.com/TUTORIALS/LinuxTutorialPostgreSQL.html 以上是参考资料 首先安装pgsql的时候会在linux里面自动创建一个 操作系统的用户:postgres 。我们需要 su - postgres 切换到这个用户才能操作数据库。 数据库操作在两个地方进行,一个是post

http://www.yolinux.com/TUTORIALS/LinuxTutorialPostgreSQL.html

以上是参考资料

首先安装pgsql的时候会在linux里面自动创建一个操作系统的用户:postgres。我们需要 su - postgres 切换到这个用户才能操作数据库。

数据库操作在两个地方进行,一个是postgres用户下的bash shell,一个是psql这个用户界面工具提供的shell,在这个psql的shell里面,我们是写sql语句的。

启动pgsql:如果直接写psql是进入postgres数据库下,里面可以通过 d 查到我们一共有多少个数据库(一个电脑里面有多个数据库,一个数据库里面有多张表)。如果写 psql db_name 则是进入db_name 这个数据库下操作,d就可以查询这个数据库下有多少张表。

然后,我们需要通过创建数据库的用户管理数据库。这个数据库的用户名和密码要写在django的settings.py里面的。

备份数据库:

pg_dump 备份, pg_restore 还原。

pg_dump -h localhost -p 6543 -U postgres -Fc -f ~/backup/db/stuDB2014-2-12.backupdb_name

pg_restore -c -Fc -d db_name~/backup/db/stuDB2014-2-12.backup

其中-h知名域名(因为其实这两个备份还原程序可以远程干活) -p 指明端口 -Fc 指明输出备份文件的format,其实这里就是压缩啦 -f 指明输出路径 最后是要处理的数据库

pg_restore 里面的-c (一定要小写)是说在恢复之前把已经存在的数据库删掉。

这里注意,如果pg_dump 不加 -Fc 输出是纯 sql命令文件,也就是说它会输出这个数据库从空白到现在运行的所有sql操作,以纯文本输出。这个时候不能用pg_restore 还原,而是 psql db_name < backup_file ,注意这里不会覆盖原来的文件,而只是简单地把这些sql操作全部跑一遍。

这个时候我们需要一个空白的数据库来还原,创建空白的数据库(bash shell):createdb -T template0 db_name .这里template0是pgsql自己给的一个空白数据库模板,我们通过这个模板来创建数据库就能保证它是空白的。


ubuntu 下django + pgsql

首先 sudo apt-get install libpg-dev

centos下libpg-dev改成postgresql-libs

有一次我在服务器上重装psycopg2说一个xxx_config not found,然后装了postgresql-devel又可以了

然后pip install psycopg2

在学子服务器里面,createdb这些命令都用不了,只能用SQL。首先psql -h localhost -U postgres StuCampus这里的StuCampus是原来php时代的数据库名字,我们进去以后操作新的数据库


服务器上面:

./bin/pg_dump -h localhost -U postgres -Fc field_application_db -f /backup/db/test.bak

./bin/pg_restore -c -h localhost -Fc -d field_application_db /backup/db/test.bak

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读