/* * Test the presence and configuration of the dblink * extension */ BEGIN; SELECT plan( 6 ); SELECT diag_test_name( 'dblink - dblink_connect() exists' ); SELECT has_function( 'dblink_connect' ); SELECT diag_test_name( 'dblink - Foreign data wrapper defined' ); SELECT is( p.proname , 'postgresql_fdw_validator' ) FROM pg_foreign_data_wrapper w INNER JOIN pg_proc p ON w.fdwvalidator = p.oid WHERE w.fdwname = 'pgsql'; SELECT diag_test_name( 'dblink - Foreign server defined' ); SELECT is ( w.fdwname , 'pgsql' ) FROM pg_foreign_server s INNER JOIN pg_foreign_data_wrapper w ON s.srvfdw = w.oid WHERE s.srvname = 'srv_logging'; SELECT diag_test_name( 'dblink - Connection' ); SELECT lives_ok( $$ SELECT dblink_connect( 'cn_logging' , 'srv_logging' ) $$ ); SELECT diag_test_name( 'dblink - Remote user is not the administrator' ); SELECT isnt( username , current_user::TEXT ) FROM dblink( 'cn_logging' , 'SELECT current_user' ) AS ( username TEXT ); SELECT diag_test_name( 'dblink - Disconnection' ); SELECT lives_ok( $$ SELECT dblink_disconnect( 'cn_logging' ) $$ ); SELECT * FROM finish( ); ROLLBACK;