postgresql端末コマンドとpostgersqlデータベースのバックアップ
7405 ワード
postgresql端末コマンド postgresのインストールが完了すると、オペレーティングシステムとpostgresデータベースにpostgresというユーザーと、同じpostgresというデータベースが自動的に作成されます. postgresqlデータベースをインストールしてpsql shellに入ります windowsの下の端末は一般的に ubuntuは入力コマンドが端末に入る
centosも入力コマンドが端末に入る
shellでよく使われるコマンドデータベース接続、デフォルトのユーザーとデータベース時postgres データベースを切り替えmysqlのuse dbnameに相当
データベースがmysqlのshow databasesに相当する
列挙表、mysqlのshow tablesに相当
テーブル構造を表示します.desc tblname、show columns from tbnameに相当します.
を表示データベース関連アクション 表の関連操作 その他
データベースのバックアップと移行 Postgresqlには多くのツールが内蔵されており、バックアップ・リカバリ・スキームはpg_dump.exe psql.この2つの指定は、ローカルインストール(windows下)C:Program FilesPostgreSQL9.5;などのインストールディレクトリの下にあります.そしてbinフォルダに入ります. データベースのバックアップとリカバリ linuxでのデータのバックアップとリカバリ データをバックアップするときのユーザと、データをリカバリするときのユーザとでは同じ権限を持たなくてもよい. 別のバックアップ方法 postgresql外部アクセスを開く pg_を修正hba.confファイル postgresqlを修正する.confファイル クラウドサーバシステムの場合、クラウドサーバにセキュリティグループルールを追加し、対応するポートを開き、ローカルのファイアウォールを開く.対応するポートを追加します. バックアップの他の方法(テストに成功) その他のバックアップ方法(検証なし)
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\PostgreSQL 9.6
というディレクトリの下にデフォルトである.su - postgres psql
su - postgres
psql
shellでよく使われるコマンド
\c dbname
\l
\dt
\d tblname
\di
インデックス#
create user "odoo" with password 'odoo' createdb;( odoo )
createdb
alert user "xxx" createdb;
#
create database [ ];
create database testdb;
#
create database testdb with owner = "zhangps";
#
drop database [ ];
DROP(drop) DATABASE testdb;
#
alter table [ A] rename to [ B];
#
drop table [ ];
#
alter database adempiere owner to adempiere;
#
alter database testa rename to test;
#
alter table [ ] add column [ ] [ ];
#
alter table [ ] drop column [ ];
#
alter table [ ] rename column [ A] to [ B];
#
alter table [ ] alter column [ ] set default [ ];
#
alter table [ ] alter column [ ] drop default;
#
insert into ([ m],[ n],......) values ([ m ],[ n ],......);
#
update [ ] set [ ]=[ ] where [ ];
#
delete from [ ] where [ ];
delete from [ ];--
# :
create table ([ 1] [ 1] ;,[ 2] [ 2],......;);
# PostgreSQL
\copyright
#
\encoding [ ]
# SQL , *
\h [ ]
#
\prompt [ ]
# securely change the password for a user
\password [USERNAME]
# psql
\q
データベースのバックアップと移行
# :
# postgresql bin
pg_dump -h 127.0.0.1 -U postgres databasename > C:\databasename.dump
#
# pg_dump
# 164.82.233.54 ip ( ), ip localhost
# , --->
# postgres
# databasename
# > C:\databasename.bak , , databasename.bak , C: \Program Files\PostgreSQL\9.0\bin 。
# :
psql -h localhost -U postgres -d databasename < C:\databasename.bak( )
pg_restore.exe --host localhost --port 5432 --username "postgres" --dbname "symbolmcnew" --no-password --verbose "databasename.backup"( )
#
# psql
# localhost , ip , ( )
# postgres
# databasename
# < C:\databasename.bak
#
# postgresql bin
/usr/PostgreSQL/9.5/bin/pg_dump -h 164.82.233.54 -U postgres databasename > databasename.dmp
#
/usr/PostgreSQL/9.5/bin/psql -h localhost -U postgres -d databasename < databasename.dmp
# 192.168.122.1 osdba, 192.168.122.2 .
# postgresql bin
#
# , -Fc pg_restore -C
pg_dump -h 192.168.122.1 -U postgres osdba -Fc > osdba.dump
pg_restore -h 192.168.122.2 -U postgres -d postgres osdba.dump
# pg_restore , -d 192.168.122.2 ,pg_restore
, CREATE DATABASE osdba , osdba ,
osdba
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 0.0.0.0/0 md5
# IPv6 local connections:
host all all ::1/128 ident
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres peer
#host replication postgres 127.0.0.1/32 ident
#host replication postgres ::1/128 ident
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
# - Connection Settings -
listen_addresses = '*' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
# (change requires restart)
port = 5432 # (change requires restart)
max_connections = 100 # (change requires restart)
#superuser_reserved_connections = 3 # (change requires restart)
#unix_socket_directories = '/var/run/postgresql, /tmp' # comma-separated list of directories
# (change requires restart)
#unix_socket_group = '' # (change requires restart)
# centos
# 8069
firewall-cmd --zone=public --add-port=8069/tcp --permanent
firewall-cmd --reload
#
firewall-cmd --list-all
# PostgreSQL 。
#
# ,
pg_dump -C -h localhost -U localuser dbname | psql -h remotehost -U remoteuser dbname
#
pg_dump -C -h remotehost -U remoteuser dbname | psql -h localhost -U localuser dbname
# pg_dump , 。 , pg_dumpall
shell
pg_dumpall > outfile
shell
psql -f infile postgres
# pg_dumpall superuser , 。
# pg_dumpall emitting 、 , pg_dump. ,
#
1.
shell
pg_dump dbname | gzip > filename.gz
shell
gunzip -c filename.gz | psql dbname
cat filename.gz | gunzip | psql dbname