linux怎样导入postgre数据库

发布网友 发布时间:2022-04-24 12:08

我来回答

2个回答

热心网友 时间:2022-04-10 13:04

数据库的导出和导入很重要,一个网站什么比较值钱,就是数据,做好备份很重要。
1,查看一下原数据库
-bash-3.2$ psql -U playboy -d playboy //原数据库
Welcome to psql 8.1.23, the PostgreSQL interactive terminal.
type: copyright for distribution terms
h for help with SQL commands
? for help with psql commands
g or terminate with semicolon to execute query
q to quit

playboy=> dt;
List of relations
Schema | Name | Type | Owner
--------+------------+-------+---------
public | contents | table | playboy
public | entries | table | playboy
public | properties | table | playboy
public | settings | table | playboy
public | test | table | playboy
(5 rows)

playboy=> q

2,导出数据库和表
-bash-3.2$ pg_mp -O playboy > /var/lib/pgsql/data/playboy2013.sql //导出playboy数据库
-bash-3.2$ pg_mpall > /var/lib/pgsql/data/all_databases2013.sql //导出全部数据库

-bash-3.2$ pg_mp -O playboy -Ft -t test > /var/lib/pgsql/data/playboy_test2013.tar //导出一张表.tar的文件供pg_restore
-bash-3.2$ ls /var/lib/pgsql/data |grep 2013 //查看一下导好了
playboy2013.sql all_databases2013.sql playboy_test2013.tar

3,创建新数据库,并导入
-bash-3.2$ psql -U playboy -d playboy //原数据库
Welcome to psql 8.1.23, the PostgreSQL interactive terminal.
Type: copyright for distribution terms
h for help with SQL commands
? for help with psql commands
g or terminate with semicolon to execute query
q to quit

playboy=> dt;
List of relations
Schema | Name | Type | Owner
--------+------------+-------+---------
public | contents | table | playboy
public | entries | table | playboy
public | properties | table | playboy
public | settings | table | playboy
public | test | table | playboy
(5 rows)

playboy=> q

-bash-3.2$ createdb playboy_test -O playboy //创建一个归属playboy的数据库playboy_test
CREATE DATABASE

-bash-3.2$ pg_restore -d playboy_test /var/lib/pgsql/data/playboy_test2013.tar //导入单表,

//将上面导入表删除后,在把playboy的数据库导入到playboy_test中去,权限归属playboy
-bash-3.2$ psql -d playboy_test -U playboy -f /var/lib/pgsql/data/playboy2013.sql
set
SET
SET
COMMENT
SET
CREATE SEQUENCE
setval
--------
18
(1 row)

SET
SET
CREATE TABLE
CREATE SEQUENCE
setval
--------
4
(1 row)

CREATE TABLE
CREATE TABLE
CREATE SEQUENCE
setval
--------
3
(1 row)

CREATE TABLE
CREATE TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
CREATE INDEX
REVOKE
REVOKE
GRANT
GRANT

-bash-3.2$ psql -U playboy -d playboy_test //登录到playboy_test
Welcome to psql 8.1.23, the PostgreSQL interactive terminal.

Type: copyright for distribution terms
h for help with SQL commands
? for help with psql commands
g or terminate with semicolon to execute query
q to quit

playboy_test=> dt; //查看一下表,根playboy数据库一样的。
List of relations
Schema | Name | Type | Owner
--------+------------+-------+----------
public | contents | table | playboy
public | entries | table | playboy
public | properties | table | playboy
public | settings | table | playboy
public | test | table | playboy
(5 rows)

pgsql导入写法比较多,上面已经有二种了,在说一种
-bash-3.2$ psql -U playboy playboy_test < /var/lib/pgsql/data/playboy2013.sql

热心网友 时间:2022-04-10 14:22

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com