A exportação do
phpPgAdmin usa o pg_dump. Você pode ler sobre isso se quiser saber o que está fazendo.
Você também pode querer exportá-lo como SQL em vez de COPY. COPY é para o Postgres e você precisará do SQL se quiser tentar usar um banco de dados diferente. Também é mais fácil entender se você está acostumado a diferentes bancos de dados.
O que você obterá com 'Structure and Data' é um arquivo sql que iniciará com a estrutura da tabela do banco de dados, depois todos os dados, restrições e chaves.
Como Sascha apontou, você pode estar tendo problemas com as permissões. Eu sempre achei mais fácil excluir apenas as linhas de permissão ou comentá-las, pois isso é apenas para um banco de dados de desenvolvimento. Remova / comente / mude as linhas com 'OWNER' nelas. Como
ALTER TABLE schema.table OWNER TO pguser;
Cada instrução CREATE TABLE terá um desses depois para definir o proprietário da tabela.
IMPORTANDO
Se você tem erros de SQL (que tenho visto com bastante frequência, dependendo dos dados. Strings com caracteres ímpares podem ser uma dor), pode ser mais fácil dividir o arquivo e simplesmente copiar a estrutura primeiro e executar essa como uma consulta SQL padrão. Em seguida, comece com os dados e importe-os uma tabela por vez. Isso torna muito mais fácil encontrar o erro quando você o corta em partes. Especialmente ao lidar com as mensagens de erro muito inúteis.
Sim, há muito trabalho de copiar e colar, mas o trabalho é feito e provavelmente levará menos tempo do que o portando para o MySQL e depois terá que alterar o PHP para se conectar e obter dados do MySQL em vez do Postgres.
PhpPgAdmin e pgadminIII têm a capacidade de executar instruções SQL.
pgAdminIII - > selecione banco de dados - > selecione o botão "Executar arbitrariamente consultas SQL".
PhpPgAdmin - > selecione banco de dados - > selecione o link 'SQL'.
Honestamente, esta é a maneira menos irritante de mover bancos de dados que encontrei. Leva mais tempo, mas somente se você não encontrar erros.