Exportar
- Iniciar sesión
- Navega a la pestaña "Exportar"
- Haga clic en el botón de opción "Estructura y datos"
- Haga clic en el botón de opción "Descargar"
- Haga clic en el botón "Exportar" y guárdelo en su máquina local.
Importar
- Navegue a http://www.pgadmin.org/ para descargar pgAdmin III (una de las mejores herramientas GUI gratuitas de Postgres)
- Instálelo
- Úselo para todas sus necesidades de Postgres.
En lo que respecta a los permisos, simplemente abra el volcado de la base de datos (es texto sin formato) y busque las líneas donde intenta cambiar el usuario actual o establece el propietario de una tabla. Luego simplemente haga una búsqueda/reemplazo y reemplace el propietario original con su nuevo nombre de usuario. No hay necesidad de preocuparse por otorgar/cambiar permisos en absoluto :D
Solíamos tener que hacer esto todo el tiempo al pasar de desarrollo a producción, el propietario original de db/table sería el desarrollador y necesitábamos cambiar eso a la cuenta de clientes una vez que estuviéramos listos para el lanzamiento.
Siempre trabajamos desde la consola usando pg_dump
y otras herramientas de línea de comandos relacionadas, pero espero que se correspondan con las opciones que tiene en la interfaz web.
La exportación de phpPgAdmin usa pg_dump. Puedes leer sobre eso si quieres saber qué está haciendo.
También puede exportarlo como SQL en lugar de COPIAR. COPY es para Postgres y necesitará SQL si desea intentar usar una base de datos diferente. También es más fácil de entender si estás acostumbrado a diferentes bases de datos.
Lo que obtendrá con 'Estructura y datos' es un archivo sql que comenzará con la estructura de la tabla de la base de datos, luego todos los datos, luego las restricciones y las claves.
Como ha señalado sascha, es posible que tenga problemas con los permisos. Siempre me ha resultado más fácil simplemente eliminar las líneas de permiso o comentarlas, ya que esto es solo para una base de datos de desarrollo. Eliminar/comentar/cambiar las líneas con 'PROPIETARIO' en ellas. Me gusta
ALTER TABLE schema.table OWNER TO pguser;
Cada declaración CREATE TABLE tendrá una de estas después para establecer el propietario de la tabla.
IMPORTACIÓN
Si tiene errores de SQL (que he visto con bastante frecuencia, dependiendo de los datos. Las cadenas con caracteres impares pueden ser una molestia), podría ser más fácil dividir el archivo y simplemente copiar la estructura primero y ejecutarlo como un estándar Consulta SQL. Luego comience con los datos e impórtelos una tabla a la vez. Hace que sea mucho más fácil encontrar el error cuando lo cortas en partes. Especialmente cuando se trata de mensajes de error muy inútiles.
Sí, es mucho trabajo de copiar y pegar, pero hace el trabajo y probablemente tomará menos tiempo que transferirlo a MySQL y luego tener que cambiar el PHP para conectarse y obtener datos de MySQL en lugar de Postgres.
PhpPgAdmin y pgadminIII tienen la capacidad de ejecutar sentencias SQL.
pgAdminIII -> seleccione la base de datos -> seleccione el botón 'Ejecutar consultas SQL arbitrarias'. PhpPgAdmin -> seleccione la base de datos -> seleccione el enlace 'SQL'.
Honestamente, esta es la forma menos irritante de mover bases de datos que he encontrado. Lleva más tiempo, pero solo si no te encuentras con errores.