成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁(yè) > 知識(shí)庫(kù) > Postgresql分布式插件plproxy的使用詳解

Postgresql分布式插件plproxy的使用詳解

熱門(mén)標(biāo)簽:400電話申請(qǐng)客服 電銷(xiāo)機(jī)器人能補(bǔ)救房產(chǎn)中介嗎 廣州電銷(xiāo)機(jī)器人公司招聘 電話機(jī)器人怎么換人工座席 移動(dòng)外呼系統(tǒng)模擬題 地圖標(biāo)注要花多少錢(qián) 濟(jì)南外呼網(wǎng)絡(luò)電話線路 天津開(kāi)發(fā)區(qū)地圖標(biāo)注app 江蘇400電話辦理官方

Simple remote function call

節(jié)點(diǎn)61/62(datanode)

CREATE TABLE users (username text, email text);
insert into users values ('user0', 'user0@gmail.com');
insert into users values ('user1', 'user1@gmail.com');
insert into users values ('user2', 'user2@gmail.com');

節(jié)點(diǎn)60(proxy)

create or replace extension plproxy;
CREATE FUNCTION get_user_email(i_username text)
RETURNS SETOF text AS $$
 CONNECT 'host=localhost port=9461 dbname=postgres connect_timeout=10';
 SELECT email FROM users WHERE username = $1;
$$ LANGUAGE plproxy;
SELECT * from get_user_email('user0');

Configuring Pl/Proxy clusters with SQL/MED

節(jié)點(diǎn)60(proxy)

CREATE FOREIGN DATA WRAPPER plproxy;
CREATE SERVER usercluster FOREIGN DATA WRAPPER plproxy
OPTIONS (connection_lifetime '1800',
   p0 'host=localhost port=9461 dbname=postgres connect_timeout=10',
   p1 'host=localhost port=9462 dbname=postgres connect_timeout=10' );
CREATE USER MAPPING FOR PUBLIC SERVER usercluster;

Partitioned remote call

節(jié)點(diǎn)60(proxy)

CREATE OR REPLACE FUNCTION insert_user(i_username text, i_emailaddress text)
RETURNS integer AS $$
 CLUSTER 'usercluster';
 RUN ON hashtext(i_username);
$$ LANGUAGE plproxy;

節(jié)點(diǎn)61/62(datanode)

CREATE OR REPLACE FUNCTION insert_user(i_username text, i_emailaddress text)
RETURNS integer AS $$
  INSERT INTO users (username, email) VALUES ($1,$2);
  SELECT 1;
$$ LANGUAGE SQL;

Putting it all together

節(jié)點(diǎn)60(proxy)

SELECT insert_user('Sven','sven@somewhere.com');
SELECT insert_user('Marko', 'marko@somewhere.com');
SELECT insert_user('Steve','steve@somewhere.cm');

plproxy–2.7.0.sql

-- handler function
CREATE FUNCTION plproxy_call_handler ()
RETURNS language_handler AS 'plproxy' LANGUAGE C;
-- validator function
CREATE FUNCTION plproxy_validator (oid)
RETURNS void AS 'plproxy' LANGUAGE C;
-- language
CREATE LANGUAGE plproxy HANDLER plproxy_call_handler VALIDATOR plproxy_validator;
-- validator function
CREATE FUNCTION plproxy_fdw_validator (text[], oid)
RETURNS boolean AS 'plproxy' LANGUAGE C;
-- foreign data wrapper
CREATE FOREIGN DATA WRAPPER plproxy VALIDATOR plproxy_fdw_validator;

補(bǔ)充:PostgreSQL 水平分庫(kù)——plproxy

1、PL/Proxy安裝

1、1 編譯安裝

tar -zxvf plproxy-2.7.tar.gz
cd plproxy-2.7
source /home/postgres/.bashrc
make
make install

1、2 創(chuàng)建pl/proxy擴(kuò)展

itm_pg@pgs-> psql
psql (10.3)
Type "help" for help.
postgres=# create database proxy;
CREATE DATABASE
postgres=# \c proxy 
You are now connected to database "proxy" as user "postgres".
proxy=# create extension plproxy;
CREATE EXTENSION
proxy=# \dx
                List of installed extensions
 Name  | Version |  Schema  |            Description       
      
---------+---------+------------+-----------------------------------------------
-----------
 plpgsql | 1.0   | pg_catalog | PL/pgSQL procedural language
 plproxy | 2.8.0  | public   | Database partitioning implemented as procedura
l language
(2 rows)

2、pl/proxy配置

修改數(shù)據(jù)庫(kù)節(jié)點(diǎn)pg_hba.conf:

修改兩個(gè)數(shù)據(jù)節(jié)點(diǎn)的pg_hba.conf,保證代理節(jié)點(diǎn)可以訪問(wèn)。

# TYPE DATABASE    USER      ADDRESS         METHOD
 host all       all       192.168.7.177/32     trust

在SQL/MED方法在pl/proxy節(jié)點(diǎn)進(jìn)行集群配置:

proxy=# create schema plproxy; --下面的函數(shù)都是創(chuàng)建在plproxy這個(gè)schema下面
CREATE SCHEMA
proxy=# create user bill superuser;
CREATE ROLE
--創(chuàng)建一個(gè)使用plproxy FDW的服務(wù)器
proxy=# CREATE SERVER cluster_srv1 FOREIGN DATA WRAPPER plproxy
proxy-#     OPTIONS (
proxy(#         connection_lifetime '1800',
proxy(#         disable_binary '1',
proxy(#         p0 'dbname=pl_db0 host=192.168.7.166',
proxy(#         p1 'dbname=pl_db1 host=192.168.17.190'
proxy(#         );
CREATE SERVER  
proxy=# \des
      List of foreign servers
   Name   | Owner | Foreign-data wrapper 
--------------+-------+----------------------
 cluster_srv1 | bill | plproxy
(1 row)
proxy=# grant usage on FOREIGN server cluster_srv1 to bill; 
GRANT
--創(chuàng)建用戶映射
proxy=# create user mapping for bill server cluster_srv1 options (user 'bill');
CREATE USER MAPPING
proxy=# \deu
 List of user mappings
  Server  | User name 
--------------+-----------
 cluster_srv1 | bill
(1 row)

配置完成!在"CLUSTER"模式中;才需要上述配置;在"CONNECT"模式中是不需要的。

3、pl/proxy測(cè)試

在兩個(gè)數(shù)據(jù)節(jié)點(diǎn)創(chuàng)建測(cè)試表:

postgres=# create database pl_db1;
CREATE DATABASE
postgres=# create user bill superuser;
CREATE ROLE
postgres=# \c pl_db1 bill 
You are now connected to database "pl_db1" as user "bill".
pl_db1=# create table users(userid int, name text);
CREATE TABLE

3、1數(shù)據(jù)水平拆分測(cè)試

在每個(gè)數(shù)據(jù)節(jié)點(diǎn)創(chuàng)建insert函數(shù)接口

pl_db1=# CREATE OR REPLACE FUNCTION insert_user(i_id int, i_name text)
pl_db1-# RETURNS integer AS $$
pl_db1$#    INSERT INTO users (userid, name) VALUES ($1,$2);
pl_db1$#    SELECT 1;
pl_db1$# $$ LANGUAGE SQL;
CREATE FUNCTION

–pl_db0節(jié)點(diǎn)一樣

2、在PL/Proxy數(shù)據(jù)庫(kù)創(chuàng)建同名的insert函數(shù)接口

proxy=# CREATE OR REPLACE FUNCTION insert_user(i_id int, i_name text)
proxy-# RETURNS integer AS $$
proxy$#   CLUSTER 'cluster_srv1';
proxy$#   RUN ON ANY;
proxy$# $$ LANGUAGE plproxy;
CREATE FUNCTION

3、在PL/Proxy數(shù)據(jù)庫(kù)創(chuàng)建讀的函數(shù)get_user_name()

proxy=# CREATE OR REPLACE FUNCTION get_user_name()
proxy-# RETURNS TABLE(userid int, name text) AS $$
proxy$#   CLUSTER 'cluster_srv1';
proxy$#   RUN ON ALL ;
proxy$# SELECT userid,name FROM users;
proxy$# $$ LANGUAGE plproxy;
CREATE FUNCTION

4、在pl/proxy節(jié)點(diǎn)插入數(shù)據(jù)進(jìn)行測(cè)試

SELECT insert_user(1001, 'Sven');
SELECT insert_user(1002, 'Marko');
SELECT insert_user(1003, 'Steve');
SELECT insert_user(1004, 'bill');
SELECT insert_user(1005, 'rax');
SELECT insert_user(1006, 'ak');
SELECT insert_user(1007, 'jack');
SELECT insert_user(1008, 'molica');
SELECT insert_user(1009, 'pg');
SELECT insert_user(1010, 'oracle');

5、在節(jié)點(diǎn)數(shù)據(jù)庫(kù)查看數(shù)據(jù)分布情況

pl_db1=# select * from users;
 userid | name 
--------+-------
  1001 | Sven
  1003 | Steve
  1004 | bill
(3 rows)

我們?cè)趐roxy節(jié)點(diǎn)查詢下:

proxy=# SELECT USERID,NAME FROM GET_USER_NAME();
 userid | name 
--------+--------
  1005 | rax
  1006 | ak
  1008 | molica
  1009 | pg
  1002 | Marko
  1004 | bill
  1007 | jack
  1010 | oracle
  1001 | Sven
  1003 | Steve
(10 rows)

因?yàn)閯?chuàng)建insert_user函數(shù)時(shí)使用的是ROW ON ANY,表示隨機(jī)再一臺(tái)機(jī)器上進(jìn)行執(zhí)行,因此實(shí)現(xiàn)了數(shù)據(jù)在不同節(jié)點(diǎn)的隨機(jī)分布,接下來(lái)改成ROW ON ALL,實(shí)驗(yàn)在不同節(jié)點(diǎn)進(jìn)行數(shù)據(jù)的復(fù)制。

run on , 是數(shù)字常量, 范圍是0 到 nodes-1; 例如有4個(gè)節(jié)點(diǎn) run on 0; (run on 4則報(bào)錯(cuò)).

run on ANY,

run on function(…), 這里用到的函數(shù)返回結(jié)果必須是int2, int4 或 int8.

run on ALL, 這種的plproxy函數(shù)必須是returns setof…, 實(shí)體函數(shù)沒(méi)有setof的要求.

3、2數(shù)據(jù)復(fù)制測(cè)試

選擇users表作為實(shí)驗(yàn)對(duì)象;我們先清理表users數(shù)據(jù);在數(shù)據(jù)節(jié)點(diǎn)創(chuàng)建truncatet函數(shù)接口

pl_db1=# CREATE OR REPLACE FUNCTION trunc_user()
pl_db1-# RETURNS integer AS $$
pl_db1$#    truncate table users;
pl_db1$#    SELECT 1;
pl_db1$# $$ LANGUAGE SQL;
CREATE FUNCTION

2、在PL/Proxy數(shù)據(jù)庫(kù)創(chuàng)建同名的truncate函數(shù)接口

proxy=# CREATE OR REPLACE FUNCTION trunc_user()
proxy-# RETURNS SETOF integer AS $$
proxy$#    CLUSTER 'cluster_srv1';
proxy$#    RUN ON ALL;
proxy$#  $$ LANGUAGE plproxy;
CREATE FUNCTION

–檢查發(fā)現(xiàn)數(shù)據(jù)已經(jīng)清理掉了

proxy=# SELECT TRUNC_USER();
 trunc_user 
------------
     1
     1
(2 rows)

3、在PL/Proxy數(shù)據(jù)庫(kù)創(chuàng)建函數(shù)接口 insert_user_2

proxy=# CREATE OR REPLACE FUNCTION insert_user_2(i_id int, i_name text)
proxy-#  RETURNS SETOF integer AS $$
proxy$#    CLUSTER 'cluster_srv1';
proxy$#    RUN ON ALL;
proxy$#  TARGET insert_user;
proxy$#  $$ LANGUAGE plproxy;
CREATE FUNCTION

4、插入幾條數(shù)據(jù)

proxy=# SELECT insert_user_2(1004, 'bill');
 insert_user_2 
---------------
       1
       1
(2 rows)
proxy=# SELECT insert_user_2(1005, 'rax');
 insert_user_2 
---------------
       1
       1
(2 rows)
proxy=# SELECT insert_user_2(1006, 'ak');
 insert_user_2 
---------------
       1
       1
(2 rows)
proxy=# SELECT insert_user_2(1007, 'jack');
 insert_user_2 
---------------
       1
       1
(2 rows)

5、查看每個(gè)節(jié)點(diǎn)數(shù)據(jù)情況

pl_db1=# select * from users;
 userid | name 
--------+-------
  1004 | bill
  1005 | rax
  1006 | ak
  1007 | jack
(4 rows)
pl_db0=# select * from users;
 userid | name 
--------+-------
  1004 | bill
  1005 | rax
  1006 | ak
  1007 | jack
(4 rows)

兩個(gè)數(shù)據(jù)節(jié)點(diǎn)的數(shù)據(jù)一樣,實(shí)現(xiàn)了數(shù)據(jù)的復(fù)制。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • 在PostgreSQL中設(shè)置表中某列值自增或循環(huán)方式
  • 基于PostgreSQL密碼重置操作
  • PostgreSQL 實(shí)現(xiàn)登錄及修改密碼操作
  • Postgresql 默認(rèn)用戶名與密碼的操作
  • postgresql 中的加密擴(kuò)展插件pgcrypto用法說(shuō)明
  • PostgreSQL表膨脹監(jiān)控案例(精確計(jì)算)

標(biāo)簽:溫州 榆林 寶雞 海西 杭州 濮陽(yáng) 昭通 辛集

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Postgresql分布式插件plproxy的使用詳解》,本文關(guān)鍵詞  Postgresql,分布式,插件,plproxy,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Postgresql分布式插件plproxy的使用詳解》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Postgresql分布式插件plproxy的使用詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    999一区二区三区| 欧美国产第二页| 国产精品无码久久久久成人app| 丰满熟妇乱又伦| 中文字幕的久久| 国产精品草草| 国产一区二区三区在线视频观看| 亚洲大片一区二区三区| 欧美三级黄美女| 偷拍自拍一区| 在线视频自拍| 色综合久久久久综合99| 国产精品九九九九| 999精品在线视频| 亚洲成人影院在线观看| 欧美三级网站| av亚洲在线观看| 免费av在线电影| 欧美性猛交xxxx乱大交退制版| 国产乱对白刺激视频不卡| 成人毛片18女人毛片| 黄色小视频在线观看| 99riav在线| 免费成人av电影| 717影院理论午夜伦不卡久久| 大尺度一区二区| 久久久亚洲欧洲日产国码aⅴ| 久热精品视频在线免费观看| 99精品视频网| 国内精品国产成人国产三级| 亚洲精品美腿丝袜| 成人免费福利在线| 最近中文视频在线| 亚洲国产精品综合久久久| 中文字幕人妻一区二区| 欧美日韩亚洲综合一区二区三区激情在线| 亚洲欧美在线观看视频| 国产在线视频第一页| 欧美91看片特黄aaaa| 老师让我她我爽了好久视频| 视频一区二区三区不卡| 99亚洲精品视频| 精品人妻一区二区三区香蕉| 中文字幕欧美日本乱码一线二线| 久久精品亚洲一区二区| 狠狠色噜噜狠狠狠8888米奇| 9久久9毛片又大又硬又粗| 熟妇人妻系列aⅴ无码专区友真希| 日韩电影中文字幕在线观看| 人妻 日韩精品 中文字幕| 女厕嘘嘘一区二区在线播放| 中国av一区二区三区| www高清在线视频日韩欧美| 免费观看国产视频在线| 中文字幕在线高清| 天天免费亚洲黑人免费| 国产视频2区| 日韩系列欧美系列| 欧美啪啪小视频| 成人性生交大片免费看中文网站| 午夜影院免费体验区| 国产精品偷伦视频免费观看了| 精品人体无码一区二区三区| 欧美成人明星100排名| 亚洲第一狼人社区| 战狼4完整免费观看在线播放版| 97超碰人人爽| 日本 国产 欧美色综合| 天天射天天干天天| 漂亮人妻被黑人久久精品| 超碰在线中文| 欧美极品少妇与黑人| 2021年精品国产福利在线| 久久夜色精品国产噜噜av小说| 2020亚洲男人天堂| 久久都是精品| 国产精品一区二区三区在线播放| 在线看视频你懂的| 黄色片视频在线观看| 国产精品久久久久久亚洲色| 国产精品久久久久久久| 日韩欧美在线观看免费| 日韩欧美美女在线观看| 136av视频导航| www.超碰com| 青草青草久热精品视频在线网站| 国产精品美女主播在线观看纯欲| 深夜福利网址| 久久影视中文字幕| 五月亚洲综合| 欧美一卡2卡3卡4卡无卡免费观看水多多| 中文成人无字幕乱码精品区| 久久av导航| 亚洲成av人片www| 国产高清在线不卡| 一区二区三区免费看视频| 99精品视频精品精品视频| 国产一区二区三区在线观看| 国产一区二区三区成人| 99精品视频免费版的特色功能| 日本中文字幕在线视频观看| 久久久久久久久久综合| 久久综合久久美利坚合众国| 久久av一区二区三区漫画| 国产日产精品一区二区三区四区的观看方式| 三级黄色小视频| 国产av自拍一区| 少妇大叫太大太粗太爽了a片小说| 一本大道久久加勒比香蕉| 热久久免费视频| 欧美视频精品全部免费观看| 不卡的国产精品| 中文字幕av中文字幕| 久久久久久久久久久久久久久久久久av| 人妻体内射精一区二区三区| 国产精品沙发午睡系列990531| 春意影院午夜免费入口| 精品久久久久成人码免费动漫| 综合中文字幕| 成人激情直播| 欧美成人三级视频网站| japanese中文字幕| 久久69精品久久久久久国产越南| 国产午夜精品麻豆| 992tv国产精品成人影院| 国产精品久久久久久久9999| 99国产精品99久久久久久粉嫩| wwwwxxxx在线观看| 亚洲午夜黄色| 国产精品一区一区三区| 国产又粗又猛视频免费| 人妻无码中文字幕免费视频蜜桃| 欧洲一区二区在线观看| 91国拍精品国产粉嫩亚洲一区| 国产精品无av码在线观看| 6080亚洲理论片在线观看| 国产一级中文字幕| 无码人妻精品一区二区三区66| 中文字幕久久午夜不卡| 在线看的毛片| 国产污污在线观看| 色欲AV无码精品一区二区久久| 亚洲一级免费在线观看| 亚洲午夜福利在线观看| 夜夜躁狠狠躁日日躁2021日韩| 亚洲精品一二三四区| 色爱区成人综合网| 亚洲自拍高清视频网站| 亚洲人精品一区| 在线观看亚洲视频| 四虎5151久久欧美毛片| 亚洲网一区二区三区| 日本大片在线看黄a∨免费| 国产精品扒开做爽爽爽的视频| ass白嫩白嫩的小美女| 久久影视一区| 国产1区2区3区在线| 午夜精品久久久久久久99热影院| 亚洲欧美日产图| 性高潮免费视频| 欧美一卡2卡3卡4卡无卡免费观看水多多| 国产美女久久精品| 丝袜美腿小色网| 国产成人综合亚洲欧美在| 狠狠v欧美ⅴ日韩v亚洲v大胸| 午夜精品久久久久久久99| 美女100%一区| 亚洲精品乱码视频| 日韩理论片网站| 日本不卡中文字幕| av成人老司机| 国产一区二区三区视频在线| 成人av免费播放| 视频一区视频二区视频三区高| 一本色道久久综合亚洲精品不| 国产精品丝袜久久久久久消防器材| 国产精品久久久久久久天堂| 亚洲免费视频在线观看| 伊人亚洲福利一区二区三区| 久久亚洲一区二区三区明星换脸| 全球中文成人在线| 欧美日韩中文在线视频| 日本少妇全体裸体洗澡| 亚洲精品456在线播放狼人| 欧美大黄免费观看| 国产美女高潮一区二区三区| 97超碰国产在线| 日韩一区二区电影网| 国产男女爽爽爽| 日本精品视频一区二区三区| 91麻豆精品国产91久久久久久| 国产一线二线三线女| 国产精品丝袜一区二区三区| 久久91精品视频| 亚洲理伦在线| 欧美性少妇18aaaa视频| 成人国产亚洲精品a区天堂华泰| 国产精品毛片一区二区在线看舒淇| 亚洲国产精品推荐| 黄页网站在线观看视频| 久久蜜桃资源一区二区老牛| 成人免费在线观看入口| 亚洲另类视频| 国产精品一区二区无线| 国产欧美日韩在线观看视频| 欧美三级电影在线| 国产人成一区二区三区影院| 欧美日韩天堂| 国产欧美在线一区二区| 韩国精品久久久999| 免费观看91视频大全| 国产美女网站视频| 一区二区三区免费高清视频| 在线观看免费播放网址成人| 久久久久久久久伊人| 99精品欧美| 国产欧美一区二区三区在线看| 欧美 日韩 国产 一区二区三区| а√在线天堂官网| 99高清视频有精品视频| 亚洲欧洲精品一区二区三区波多野1战4| 国产精品69av| 亚洲成人资源在线| 欧美情侣性视频| 丰满人妻一区二区三区免费| 午夜精品久久久久久久白皮肤| 午夜激情福利网| 亚洲精品一区av| 欧美激情1区2区3区| 春意影院免费入口| 影音先锋在线资源中文字幕| 亚洲深深色噜噜狠狠爱网站| 亚洲日韩中文字幕在线播放| 逼特逼视频在线| 欧美日韩影视| 97av在线视频| 中文字幕中文在线不卡住| 免费的国产精品| 日韩精品福利一区二区三区| 在线亚洲欧美专区二区| 日本免费网站在线观看| 日韩综合视频在线观看| 婷婷亚洲久悠悠色悠在线播放| 国产视色精品亚洲一区二区| 伊人成人网在线看| 国内精品第一页| 波多野结衣在线播放| 国产精品揄拍500视频| 成人日批视频| 日本高清视频免费在线观看| 精品不卡一区二区| 日韩在线高清| 成人ar影院免费观看视频| 少妇高潮久久久久久潘金莲| 日韩精品一区二区av| 亚洲午夜精品一区二区国产| 成人18视频日本| yourporn在线观看中文站| 亚洲av色香蕉一区二区三区| 欧美一区二区三区四区在线观看| 亚洲精品久久久久| 91美女免费看| 91麻豆免费在线视频| 欧美一二三四五区| 亚洲欧美精品suv| 麻豆91精品91久久久| 91大神在线资源观看无广告| 成人网6969conwww| 最新国产精品久久精品| 日本在线看片免费人成视1000| 久久精品视频一区二区三区| 亚洲成av人片观看| 国产精品一区在线| 国产第一页在线观看| 另类的小说在线视频另类成人小视频在线| 男女性杂交内射妇女bbwxz| 国产成人涩涩涩视频在线观看| 国产高潮又爽又无遮挡又免费| 亚洲影院污污.| 国产成人精品久久一区二区小说| 五月婷婷丁香网| 欧美精品自拍偷拍| 岛国毛片在线观看| 日韩综合av| 中文字幕黄色片| 国产原创中文av| 国产经典第一页| 亚洲香蕉伊在人在线观| 久久久久久久久电影| 久久久久久久激情视频| 在线电影一区| 精品精品视频| 日韩福利一区| 亚洲三级 欧美三级| 国产乱人伦精品一区二区| 国内久久精品| 日韩电影一二三区| 天堂精品久久久久| 91九色蝌蚪成人| 精品国产三级a在线观看| 久草久草久草| canopen超线视频网线的应用| 久久久久成人网站| 黄色在线视频网址| 亚洲免费视频在线观看| 福利欧美精品在线| 国产欧美日韩中文字幕| 亚洲熟女乱色一区二区三区久久久| 在线xxxxx| 一区二区三区美女xx视频| 天堂资源在线亚洲资源| 国产精品免费视频一区二区三区| 99爱精品视频| 有码在线播放| 亚洲男人的天堂网站| 伊人成人开心激情综合网| 粉嫩一区二区三区国产精品| 超碰porn在线| 国产综合在线播放| 亚洲最黄网站| 亚洲男人第一av网站| 国产精品久久久久国产精品日日| 日本精品一区二区三区不卡无字幕| 亚洲欧美一区二区三区久本道91| 色妞久久福利网| 欧美午夜无遮挡| 五月婷婷激情五月| 久久精品日韩精品|