PostgreSQL数据的导出导入

PostgreSQL数据的导出导入

导出PostgreSQL数据库中的数据:

$ pg_dump -U postgres  -f mydatabase.sql  mydatabase

导入数据时首先创建数据库再用psql导入:

$ createdb newdatabase
$ psql -d newdatabase -U postgres -f mydatabase.sql

创建数据库

CREATE DATABASE test WITH OWNER = postgres ENCODING = ‘UTF8‘;

进入控制台方法,在postgreSQL的安装目的bin下执行命令: psql 数据库名,
 例: /usr/local/pgsql/bin/psql mydb

指定host、用户名和数据库的话,如:

/usr/local/pgsql/bin/psql -h localhost -U postgres -d test

查看版本: psql --version 或 SELECT version();

查看所有数据库:\l

查看所有数据库(包括详细参数):select * from pg_database;

选择数据库:\c databasename

查看所有表:\dt

查看某个表的结构:\d tablename

退出psql控制台:\q

查看表的索引:

select * from pg_indexes where tablename=‘log‘;

导出备份数据库:

pg_dump -h localhost -U postgres databasename > /tmp/databasename.bak.yyyymmdd.sql

导入恢复数据库(sql文件是pg_dump导出的文件就行,可以是整个数据库,也可以只是单个表,也可以只是结构等):

psql -h localhost -U postgres -d databasename < /tmp/databasename.bak.yyyymmdd.sql

导出数据结构,主要是加上参数-s:

pg_dump -U username -W dbname -f /tmp/filename.sql

导出某个表:
pg_dump -h localhost -U postgres -t tablename dbname > test.sql

导出某个表的结构,同样是加参数"-s":
pg_dump -h localhost -U postgres -t tablename -s dbname > test_construct.sql

导出某个表的数据,加参数"-a":
pg_dump -h localhost -U postgres -t tablename -a dbname > test_data.sql

查看序列:select * from information_schema.sequences where sequence_schema = ‘public‘;

查看数据库大小:select pg_size_pretty(pg_database_size(‘test‘));

查看表的大小:select pg_size_pretty(pg_relation_size(‘test‘));

时间: 2024-08-05 15:20:42

PostgreSQL数据的导出导入的相关文章

PostgreSQL数据的导出导入 save your data!

PostgreSQL数据的导出导入 导出PostgreSQL数据库中的数据: $ pg_dump -U postgres  -f mydatabase.sql  mydatabase 导入数据时首先创建数据库再用psql导入: $ createdb newdatabase$ psql -d newdatabase -U postgres -f mydatabase.sql 定期保存数据,以防万一.下载定期保存.服务器如果整个毁掉?映像不可恢复? 至少资料还在. 什么backup都比不上这个bac

SQL SERVER几种数据迁移/导出导入的实践

SQLServer提供了多种数据导出导入的工具和方法,在此,分享我实践的经验(只涉及数据库与Excel.数据库与文本文件.数据库与数据库之间的导出导入). (一)数据库与Excel 方法1: 使用数据库客户端(SSMS)的界面工具.右键选择要导出数据的数据库,选择“任务”——“导出数据”,下图1,按照向导一步一步操作即可.而导入则相反,导入时,SQLServer会默认创建一张新表,字段名也默认跟导入的Excel标题一样,并且会默认字段数据类型等.当然在可以在向导进行修改.需要注意的是如果标题不是

数据泵导出/导入Expdp/impdp

Oracle 10g引入了DATA PUMP提供的是一种基于服务器的数据提取和恢复的实用程序,DATA PUMP在体系结构和功能上与传统的EXPORT和IMPORT实用程序相比有了显著的提升.DATA PUMP允许您停止和重启作业,查看运行的作业的状态,及对导入和导出的数据做限制. 注意:数据泵文件与传统的EXP/IMP数据转储文件是不兼容的. 一.以下是DATA PUMP的几个优点介绍: 1.数据泵(DataPump)的所有工作都有数据库实例来完成,数据库可以并行来处理这些工作,不仅可以通过建

数据泵导出/导入数据

由于在oracle11g之后的某些版本中,采用exp方式导出数据会导致空表被漏掉,解决办法分为两种: 一.对空表进行插入操作,然后再删除数据. 二.采用数据泵的方式导出. 本文介绍第二种方式. 导出: 1.从cmd中以dba权限登录数据库:sqlplus system/密码@orcl as sysdba; 2.创建目录: Create directory TEST as 'd:\test'; 3.授权:Grant read,write on directory TEST to yxf; 4.对应

expdp、impdp数据泵导出导入数据

1.创建逻辑目录,该命令并不会创建正在的目录(请先创建真正的目录),以system管理员创建逻辑目录. sql>sqlplus system/[email protected] as sysdba sql>create directory dump_dir as 'd:\expdb'; 2.查看管理员目录(同时查看操作系统是否创建了该目录,oracle并不会关心是否创建了该目录,如果目录不存在,则会出错) sql>select * from dba_directories; 3.给需要操

编写PL/SQL程序使用数据泵导出导入数据

1.什么是数据泵?就是oracle的一个PL/SQL程序包 dbms_datapump2.数据泵技术是Oracle Database 10g 中的新技术,它比原来导入/导出(imp,exp)技术快15-45倍.速度的提高源于使用了并行技术来读写导出转储文件. expdp使用 使用EXPDP工具时,其转储文件只能被存放在DIRECTORY对象对应的OS目录中,而不能直接指定转储文件所在的OS目录.因此使用EXPDP工具时,,必须首先建立DIRECTORY对象,并且需要为数据库用户授予使用DIREC

dbca静默管理数据库&amp;数据泵导出导入

#dbca参考链接:https://blog.51cto.com/hunt1574/1933535https://www.linuxidc.com/Linux/2017-03/141830.htmhttps://www.cnblogs.com/dbabd/p/10250968.html#autoid-3-1-0http://blog.itpub.net/29047826/viewspace-1431667/总结:快速删库或建库:||||||||||||||||||||||||||||||||||

linux mysql 数据库操作导入导出 数据表导出导入

1,数据库导入 mysql -uroot -p show databases; create database newdb; use 数据库: set names utf8: source  /home/newdb.sql; 1.1 数据库导入第二种 mysql -u用户名 -p密码 数据库名 < 数据库名.sql 1.2 数据库导入数据表 mysql -uroot -p show databases; create database newdb; use 数据库: source /var/ad

Oracle数据泵导出导入

一.创建表空间create tablespace atp logging datafile 'D:\oracle\oradata\orcl\atp.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local; 二.创建用户-- Create the user create user ATP default tablespace ATP temporary tablespace TEMP profile D